forked from GrapheneOS/script
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmanage.sh
executable file
·193 lines (167 loc) · 4.92 KB
/
manage.sh
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
#!/bin/bash
set -o nounset
DELETE_TAG=
build_number=
if [[ $# -eq 1 ]]; then
build_number=$1
elif [[ $# -ne 0 ]]; then
exit 1
fi
branch=pie
aosp_version=PQ2A.190205.003
aosp_version_real=PQ2A.190205.003
aosp_tag=android-9.0.0_r33
aosp_forks=(
device_common
device_google_crosshatch
device_google_marlin
device_google_muskie
device_google_taimen
#device_google_wahoo
#device_linaro_hikey
#platform_art
platform_bionic
#platform_bootable_recovery
platform_build
#platform_build_kati
#platform_build_soong
#platform_external_clang
#platform_external_conscrypt
#platform_external_llvm
#platform_external_svox
#platform_external_sqlite
platform_frameworks_av
platform_frameworks_base
#platform_frameworks_ex
#platform_frameworks_native
#platform_frameworks_opt_net_wifi
#platform_libcore
platform_manifest
#platform_packages_apps_Bluetooth
#platform_packages_apps_Camera2
#platform_packages_apps_Contacts
#platform_packages_apps_DeskClock
#platform_packages_apps_ExactCalculator
#platform_packages_apps_Gallery2
platform_packages_apps_Launcher3
#platform_packages_apps_Music
platform_packages_apps_Nfc
#platform_packages_apps_PackageInstaller
#platform_packages_apps_QuickSearchBox
#platform_packages_apps_Settings
#platform_packages_inputmethods_LatinIME
#platform_packages_providers_DownloadProvider
#platform_packages_services_Telephony
#platform_prebuilts_clang_host_linux-x86
#platform_system_bt
platform_system_core
#platform_system_extras
#platform_system_netd
#platform_system_sepolicy
#platform_test_vts-testcase_kernel
)
declare -A kernels=(
#[google_marlin]=android-8.1.0_r0.64 # June
#[google_wahoo]=android-8.1.0_r0.65 # June
#[linaro_hikey]=dc721a4ac71d
)
independent=(
android-prepare-vendor
#branding
#chromium_patches
platform_external_chromium
#platform_external_Etar-Calendar
#platform_external_F-Droid
#platform_external_offline-calendar
#platform_external_talkback
#platform_packages_apps_Backup
#platform_packages_apps_F-Droid_privileged-extension
#platform_packages_apps_PdfViewer
platform_packages_apps_Updater
script
vendor_linaro
)
for repo in "${aosp_forks[@]}"; do
echo -e "\n>>> $(tput setaf 3)Handling $repo$(tput sgr0)"
cd $repo || exit 1
git checkout $branch || exit 1
if [[ -n $DELETE_TAG ]]; then
git tag -d $DELETE_TAG
git push origin :refs/tags/$DELETE_TAG
cd .. || exit 1
continue
fi
if [[ -n $build_number ]]; then
if [[ $repo == platform_manifest ]]; then
git checkout -B tmp || exit 1
sed -i s%refs/heads/$branch%refs/tags/$aosp_version.$build_number% default.xml || exit 1
git commit default.xml -m $aosp_version.$build_number || exit 1
elif [[ $aosp_version != $aosp_version_real && $repo == platform_build ]]; then
git checkout -B tmp || exit 1
sed -i s/$aosp_version_real/$aosp_version/ core/build_id.mk
git commit core/build_id.mk -m $aosp_version.$build_number || exit 1
fi
git tag -s $aosp_version.$build_number -m $aosp_version.$build_number || exit 1
git push origin $aosp_version.$build_number || exit 1
if [[ $repo == platform_manifest ]]; then
git checkout $branch || exit 1
git branch -D tmp || exit 1
fi
else
git fetch upstream --tags || exit 1
git pull --rebase upstream $aosp_tag || exit 1
git push -f || exit 1
fi
cd .. || exit 1
done
for kernel in ${!kernels[@]}; do
echo -e "\n>>> $(tput setaf 3)Handling kernel_$kernel$(tput sgr0)"
cd kernel_$kernel || exit 1
git checkout $branch || exit 1
if [[ -n $DELETE_TAG ]]; then
git tag -d $DELETE_TAG
git push origin :refs/tags/$DELETE_TAG
cd .. || exit 1
continue
fi
if [[ -n $build_number ]]; then
git tag -s $aosp_version.$build_number -m $aosp_version.$build_number || exit 1
git push origin $aosp_version.$build_number || exit 1
else
git fetch upstream --tags || exit 1
kernel_tag=${kernels[$kernel]}
if [[ -z $kernel_tag ]]; then
cd .. || exit 1
continue
fi
if [[ $kernel == google_marlin || $kernel == google_wahoo ]]; then
git checkout $branch-stable-base || exit 1
fi
git rebase $kernel_tag || exit 1
git push -f || exit 1
if [[ $kernel == google_marlin || $kernel == google_wahoo ]]; then
git checkout $branch || exit 1
git rebase $branch-stable-base || exit 1
git push -f || exit 1
fi
fi
cd .. || exit 1
done
for repo in ${independent[@]}; do
echo -e "\n>>> $(tput setaf 3)Handling $repo$(tput sgr0)"
cd $repo || exit 1
git checkout $branch || exit 1
if [[ -n $DELETE_TAG ]]; then
git tag -d $DELETE_TAG
git push origin :refs/tags/$DELETE_TAG
cd .. || exit 1
continue
fi
if [[ -n $build_number ]]; then
git tag -s $aosp_version.$build_number -m $aosp_version.$build_number || exit 1
git push origin $aosp_version.$build_number || exit 1
else
git push -f || exit 1
fi
cd .. || exit 1
done