-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathpull.buildAPKs.modules.bash
executable file
·129 lines (116 loc) · 6.25 KB
/
pull.buildAPKs.modules.bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
#!/bin/env bash
# Copyright 2017-2019 (c) all rights reserved
# by buildAPKs https://buildapks.github.io/docsBuildAPKs/
# Update repository and update submodules.
#####################################################################
set -Eeuo pipefail
shopt -s nullglob globstar
_SPTRPERROR_() { # run on script error
local RV="$?"
printf "\\e[?25h\\e[1;7;38;5;0mBuildAPKs pull.buildAPKs.modules.bash %s WARNING: Error %s received!\\e[0m\\n" "${0##*/}" "$RV"
printf "\\e[?25h\\n\\e[1;48;5;138mBuildAPKs pull.buildAPKs.modules.bash %s %s ERROR: Generated script error %s near or at line number %s by \`%s\`!\\e[0m\\n" "${0##*/}" "${PWD##*/}" "${1:-UNDEF}" "${2:-LINENO}" "${3:-BASH_COMMAND}"
exit 147
}
_SPTRPEXIT_() { # run on exit
printf "\\e[?25h\\e[0m"
set +Eeuo pipefail
exit 0
}
_SPTRPSIGNAL_() { # run on signal
local RV="$?"
printf "\\e[?25h\\e[1;7;38;5;0mBuildAPKs pull.buildAPKs.modules.bash %s WARNING: Signal %s received!\\e[0m\\n" "${0##*/}" "$RV"
printf "\\e[?25h\\n\\e[1;48;5;138mBuildAPKs pull.buildAPKs.modules.bash %s WARNING: Signal %s received near or at line number %s by \`%s\`!\\e[0m\\n" "${0##*/}" "${1:-UNDEFINED}" "${2:-LINENO}" "${3:-BASH_COMMAND}"
exit 148
}
_SPTRPQuIT_() { # run on quit
local RV="$?"
printf "\\e[?25h\\e[1;7;38;5;0mBuildAPKs pull.buildAPKs.modules.bash %s WARNING: Quit signal %s received!\\e[0m\\n" "${0##*/}" "$RV"
printf "\\e[?25h\\n\\e[1;48;5;138mBuildAPKs pull.buildAPKs.modules.bash %s WARNING: Quit signal %s received near or at line number %s by \`%s\`!\\e[0m\\n" "${0##*/}" "${1:-UNDEFINED}" "${2:-LINENO}" "${3:-BASH_COMMAND}"
exit 149
}
trap '_SPTRPERROR_ $? $LINENO $BASH_COMMAND' ERR
trap _SPTRPEXIT_ EXIT
trap '_SPTRPSIGNAL_ $? $LINENO $BASH_COMMAND' HUP INT TERM
trap '_SPTRPQuIT_ $? $LINENO $BASH_COMMAND' QUIT
_2GSU_() {
if [[ "$SBMI" = "" ]]
then
printf "To update the modules in ~/%s to the newest version remove these .git files:\\n\\n~/%s/scripts/bash/shlibs/.git\\n" "${RDR##*/}" "${RDR##*/}"
for GLOC in "${!GBMS[@]}"
do
printf "%s\\n" "~/${RDR##*/}/$GLOC/.git"
done
printf "\\nUse find to update the modules in ~/buildAPKs/ to the newest version:\\n\\n"
printf " find ~/buildAPKs/ -type f -name .git -delete"
printf "\\n\\nThen run %s again, and %s shall attempt to update them all.\\n" "${0##*/}" "${0##*/}"
else
_GSMU_ || printf "%s\\n" "Did nothing with _GSMU_."
fi
}
_CK4MS_() { # ChecKs 4 ModuleS
SBMI=""
for ALOC in "${!GBMS[@]}"
do
if [[ ! -f "$RDR/$ALOC/.git" ]]
then
SBMI=1
break
fi
done
}
_DOMO_() {
export JDR="$RDR/$LOC/"
printf "\\e[1;7;38;5;97m%s\\e[0m\\n" "Adding modules to ~/${RDR##*/}/$LOC..."
if [[ -f "$RDR/$LOC/ma.bash" ]]
then
. "$RDR/$LOC/ma.bash" || printf "%s\\n" "Did nothing with ~/${RDR##*/}/$LOC/ma.bash"
fi
cd "$RDR/"
}
_GAU_() { # add and update submodules to latest version
((printf "\\e[1;7;38;5;96m%s\\e[0m\\n" "Adding $SIAD/${GBMS[$LOC]} to ~/${RDR##*/}/$LOC..." && git submodule add "$SIAD/${GBMS[$LOC]}" "$LOC") && (printf "\\e[1;7;38;5;96m%s\\e[0m\\n" "Updating ~/${RDR##*/}/$LOC..." && git submodule update --init --recursive --remote "$LOC")) || (printf "\\e[1;7;38;5;66m%s\\e[0m\\n" "Cannot add and update ~/${RDR##*/}/$LOC: Continuing...")
}
_GSMU_() {
printf "\\e[1;7;38;5;97mUpdating buildAPKs; \`%s\` shall attempt to load sources from Github submodule repositories into ~/%s. This may take a little while to complete. Please be patient while \`%s\` downloads source code from %s:\\e[0m\\n" "${0##*/}" "${RDR##*/}" "${0##*/}" "$SIAD"
for LOC in "${!GBMS[@]}"
do
if [[ ! -f "$RDR/$LOC/.git" ]]
then
_GSP_ || printf "%s\\n" "Did nothing with _GSP_."
fi
done
}
_GSP_() { # add and update or update submodules to latest version
if grep "$SIAD/${GBMS[$LOC]}" "$RDR"/.gitmodules
then # https://www.tecmint.com/chaining-operators-in-linux-with-practical-examples/
(printf "\\e[1;7;38;5;96m%s\\e[0m\\n" "Updating ~/${RDR##*/}/$LOC..." && git submodule update --init --recursive --remote "$LOC") || printf "\\e[1;7;38;5;66m%s\\e[0m\\n" "Cannot update ~/${RDR##*/}/$LOC: Continuing..."
else
_GAU_ || printf "\\e[1;7;38;5;66m%s\\e[0m\\n" "Cannot update ~/${RDR##*/}/$LOC: Continuing..."
fi
_DOMO_ || printf "%s\\n" "Did nothing with _DOMO_."
if [[ -f "$RDR/$LOC/.gitmodules" ]]
then
_IAR_ "$RDR/$LOC/" || printf "%s\\n" "Did nothing with _IAR_ ~/${RDR##*/}/$LOC."
fi
}
_GSUSHLIBS_() {
(printf "\\e[1;7;38;5;96m%s\\e[0m\\n" "Adding ~/buildAPKs/scripts/bash/shlibs..." && git submodule add "$SIAD"/shlibs/shlibs.bash scripts/bash/shlibs && git submodule update --init --recursive --remote scripts/bash/shlibs) || (printf "\\e[1;7;38;5;96m%s\\e[0m\\n" "Updating ~/buildAPKs/scripts/bash/shlibs..." && git submodule update --init --recursive --remote scripts/bash/shlibs)
}
declare -A GBMS # declare associative array for available submoldules
GBMS=([sources/applications]="SDRausty/buildAPKsApps" [sources/apps]="BuildAPKs/buildAPKs.apps" [sources/browsers]="SDRausty/buildAPKsBrowsers" [sources/clocks]="BuildAPKs/buildAPKs.clocks" [sources/compasses]="BuildAPKs/buildAPKs.compasses" [sources/entertainment]="BuildAPKs/buildAPKs.entertainment" [sources/flashlights4]="BuildAPKs/buildAPKs.flashlights" [sources/gamez]="BuildAPKs/buildAPKs.games" [sources/gaming]="SDRausty/buildAPKsGames" [sources/live.wallpapers]="BuildAPKs/buildAPKs.live.wallpapers" [sources/samples4]="SDRausty/buildAPKsSamples" [sources/samps]="BuildAPKs/buildAPKs.samples" [sources/top10]="SDRausty/buildAPKsTop10" [sources/tools]="BuildAPKs/buildAPKs.developers.tools" [sources/torches]="SDRausty/buildAPKsFlashlights" [sources/tutorials]="SDRausty/buildAPKsTutorials" [sources/widgets]="SDRausty/buildAPKsWidgets")
RDR="$HOME/buildAPKs"
SIAD="https://github.com"
cd "$RDR/"
if [[ ! -f "$RDR/scripts/bash/shlibs/.git" ]]
then
(printf "\\e[1;7;38;5;96m%s\\e[0m\\n" "Updating ~/${RDR##*/}, ~/${RDR##*/}/scripts/bash/shlibs and ~/${RDR##*/}/scripts/bash/shlibs/buildAPKs..." && git pull && _GSUSHLIBS_ ) || (printf "\\e[1;7;38;5;66m%s\\e[0m\\n" "Cannot update ~/${RDR##*/}, ~/${RDR##*/}/scripts/bash/shlibs and ~/${RDR##*/}/scripts/bash/shlibs/buildAPKs: Continuing...")
fi
. "$RDR"/scripts/bash/shlibs/buildAPKs/at.bash
. "$RDR"/scripts/bash/shlibs/buildAPKs/prep.bash
if [[ ! -d "$RDR/sources" ]]
then
mkdir -p "$RDR/sources"
fi
_CK4MS_
_2GSU_
# pull.buildAPKs.modules.bash EOF