This repository was archived by the owner on Jun 16, 2022. It is now read-only.
forked from Flex1911/script
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmanage.sh
More file actions
executable file
·193 lines (165 loc) · 4.95 KB
/
manage.sh
File metadata and controls
executable file
·193 lines (165 loc) · 4.95 KB
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=10
aosp_version=QQ1A.200205.002 # version to use for build id and tag
aosp_version_real=QQ1A.200205.002 # real base version
aosp_tag=android-10.0.0_r26
aosp_forks=(
device_common
device_google_bonito
device_google_bonito-sepolicy
device_google_crosshatch
device_google_crosshatch-sepolicy
device_google_muskie
device_google_taimen
device_google_wahoo
device_linaro_hikey
kernel_configs
platform_art
platform_bionic
platform_bootable_recovery
platform_build
platform_build_soong
#platform_external_clang
platform_external_conscrypt
#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_Gallery2
platform_packages_apps_Launcher3
platform_packages_apps_Messaging
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_system_bt
platform_system_core
platform_system_extras
platform_system_netd
platform_system_sepolicy
)
declare -A kernels=(
[google_wahoo]=android-10.0.0_r0.36 # February 2019
[google_crosshatch]=android-10.0.0_r0.40 # February 2019
#[linaro_hikey]=dc721a4ac71d
)
independent=(
android-prepare-vendor
branding
hardened_malloc
# temporarily handle out-of-tree kernel modules as independent repositories
kernel_google_crosshatch_drivers_staging_qcacld-3.0
kernel_google_crosshatch_techpack_audio
platform_external_Auditor
platform_external_PdfViewer
platform_external_vanadium
#platform_external_Etar-Calendar
#platform_external_offline-calendar
#platform_external_talkback
#platform_packages_apps_Backup
platform_packages_apps_ExactCalculator
platform_packages_apps_Updater
#platform_prebuilts_clang_host_linux-x86 # working around GitHub 100M file limit
script
Vanadium
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
git checkout $branch-stable-base || exit 1
git rebase $kernel_tag || exit 1
git push -f || exit 1
git checkout $branch || exit 1
git rebase $branch-stable-base || exit 1
git push -f || exit 1
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