dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | # ============================================================================= |
| 4 | # @module: BootLoader stable branch tools: checkout, pull, push ... |
| 5 | # @author: Li Dongqing (dongqing.li@amlogic.com) |
| 6 | # @License: Copyright (c) 2019 Amlogic, Inc. All rights reserved. |
| 7 | # @Changes: |
| 8 | # 1. 2022.05.25 v0.1 - Creat stable sub version update tools. |
| 9 | # 2. 2022.07.13 v0.2 - Add option for s4 branch in bl2/core. |
| 10 | # 3. 2022.09.18 v0.3 - Support submitting uboot.bin to Android dir. |
| 11 | # ============================================================================= |
| 12 | |
| 13 | # |
| 14 | # Settings |
| 15 | # |
| 16 | |
| 17 | #set -e |
| 18 | |
| 19 | # Set these ENV externally, cmd: export ENV=${ENV} |
| 20 | if [[ -z "${STABLE_MAJOR_VERSION}" ]]; then |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 21 | STABLE_MAJOR_VERSION="3.5.0" |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 22 | else |
| 23 | echo "External settings env: STABLE_MAJOR_VERSION=${STABLE_MAJOR_VERSION}" |
| 24 | fi |
| 25 | |
| 26 | if [[ -z "${ANDROID_ROOT_DIR}" ]]; then |
wenbo.wang | e7c5b55 | 2023-08-01 19:44:54 +0800 | [diff] [blame^] | 27 | ANDROID_ROOT_DIR="/mnt/fileroot/wenbo.wang/Android/android_R" |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 28 | else |
| 29 | echo "External settings env: ANDROID_ROOT_DIR=${ANDROID_ROOT_DIR}" |
| 30 | fi |
| 31 | |
| 32 | if [[ -z "${ANDROID_TARGET_BRANCH}" ]]; then |
wenbo.wang | e7c5b55 | 2023-08-01 19:44:54 +0800 | [diff] [blame^] | 33 | ANDROID_TARGET_BRANCH="r-tv-dev" |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 34 | else |
| 35 | echo "External settings env: ANDROID_TARGET_BRANCH=${ANDROID_TARGET_BRANCH}" |
| 36 | fi |
| 37 | |
| 38 | # update, show. 1/s:stable; 2/t:trunk |
| 39 | SWITCH_TARGET_BRANCH=0 |
| 40 | SHOW_STABLE_VERSION=0 |
| 41 | SHOW_LAST_COMMIT=0 |
| 42 | STABLE_OPTION_TYPE=0 |
| 43 | |
| 44 | # modify, push |
| 45 | MODIFY_STABLE_VERSION=0 |
| 46 | ADD_COMMIT_MESSAGE=0 |
| 47 | PUSH_TOPIC_COMMON=0 |
| 48 | |
| 49 | # openlinux stable branch |
| 50 | BL2_SC2_BRANCH="projects/openlinux/bl-sc2-${STABLE_MAJOR_VERSION}" |
| 51 | BL2_S4_BRANCH="projects/openlinux/bl-s4-${STABLE_MAJOR_VERSION}" |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 52 | BL2_S5_BRANCH="projects/openlinux/bl-s5-${STABLE_MAJOR_VERSION}" |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 53 | |
| 54 | # push uboot.bin to android dir |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 55 | declare -a OPENLINUX_BOARD_TYPE=("ohm" "oppen" "tyson") |
| 56 | declare -a OPENLINUX_BOARD_BRANCH=("${BL2_SC2_BRANCH}" "${BL2_S4_BRANCH}" "${BL2_S5_BRANCH}") |
| 57 | declare -a OPENLINUX_BOARD_CONFIG=("sc2_ah212" "s4_ap222" "s5_ax201") |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 58 | ANDROID_DEV_DIR="device/amlogic" |
| 59 | ANDROID_DIR_OHM="${ANDROID_ROOT_DIR}/${ANDROID_DEV_DIR}/${OPENLINUX_BOARD_TYPE[0]}" |
| 60 | ANDROID_DIR_OPPEN="${ANDROID_ROOT_DIR}/${ANDROID_DEV_DIR}/${OPENLINUX_BOARD_TYPE[1]}" |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 61 | ANDROID_DIR_TYSON="${ANDROID_ROOT_DIR}/${ANDROID_DEV_DIR}/${OPENLINUX_BOARD_TYPE[2]}" |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 62 | |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 63 | declare -a ANDROID_DIR_LIST=("${ANDROID_DIR_OHM}" "${ANDROID_DIR_OPPEN}" "${ANDROID_DIR_TYSON}") |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 64 | |
| 65 | # |
| 66 | # Array |
| 67 | # |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 68 | declare -a BLX_NAME=( \ |
| 69 | "bl2 " \ |
| 70 | "bl2e " \ |
| 71 | "bl2x " \ |
| 72 | "bl30 " \ |
| 73 | "rtos_sdk " \ |
| 74 | "bl31_1.3 " \ |
| 75 | "bl32_3.8 " \ |
| 76 | "bl32_3.18 " \ |
| 77 | "bl33_v2019 " \ |
| 78 | "fip ") |
| 79 | |
| 80 | declare -a RTOS_NAME=( \ |
| 81 | "rtos_arch" \ |
| 82 | "rtos_boards" \ |
| 83 | "rtos_build" \ |
| 84 | "rtos_driver_aocpu" \ |
| 85 | "rtos_freertos" \ |
| 86 | "rtos_libc" \ |
| 87 | "rtos_products_aocpu" \ |
| 88 | "rtos_scripts" \ |
| 89 | "rtos_soc" ) |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 90 | |
| 91 | declare -a BLX_PATH=( \ |
| 92 | "bl2/core" \ |
| 93 | "bl2/ree" \ |
| 94 | "bl2/tee" \ |
| 95 | "bl30/src_ao" \ |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 96 | "bl30/rtos_sdk" \ |
wenbo.wang | 0eadc46 | 2023-06-13 09:46:53 +0800 | [diff] [blame] | 97 | "bl31_1.3/src" \ |
| 98 | "bl32_3.8/src" \ |
| 99 | "bl32_3.18/src" \ |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 100 | "bl33/v2019" \ |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 101 | "fip" ) |
| 102 | |
| 103 | declare -a RTOS_PATH=( \ |
| 104 | "bl30/rtos_sdk/arch/riscv" \ |
| 105 | "bl30/rtos_sdk/boards/riscv" \ |
| 106 | "bl30/rtos_sdk/build_system" \ |
| 107 | "bl30/rtos_sdk/drivers_aocpu" \ |
| 108 | "bl30/rtos_sdk/kernel/freertos" \ |
| 109 | "bl30/rtos_sdk/lib/libc" \ |
| 110 | "bl30/rtos_sdk/products/aocpu" \ |
| 111 | "bl30/rtos_sdk/scripts" \ |
| 112 | "bl30/rtos_sdk/soc/riscv" ) |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 113 | |
| 114 | declare -a BLX_COMMIT=( \ |
| 115 | " " \ |
| 116 | " " \ |
| 117 | " " \ |
| 118 | " " \ |
| 119 | " " \ |
| 120 | " " \ |
| 121 | " " \ |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 122 | " " \ |
| 123 | " " \ |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 124 | " ") |
| 125 | |
| 126 | declare -a BLX_REMOTE=( \ |
| 127 | "firmware" \ |
| 128 | "firmware" \ |
| 129 | "firmware" \ |
| 130 | "firmware" \ |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 131 | "origin" \ |
| 132 | "firmware" \ |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 133 | "firmware" \ |
| 134 | "firmware" \ |
| 135 | "uboot" \ |
| 136 | "fip") |
| 137 | |
| 138 | declare -a BLX_STABLE_BRANCH=( \ |
| 139 | "projects/openlinux/bl-sc2-$STABLE_MAJOR_VERSION" \ |
| 140 | "projects/openlinux/bl-$STABLE_MAJOR_VERSION" \ |
| 141 | "projects/openlinux/bl-$STABLE_MAJOR_VERSION" \ |
| 142 | "projects/openlinux/bl-$STABLE_MAJOR_VERSION" \ |
| 143 | "projects/openlinux/bl-$STABLE_MAJOR_VERSION" \ |
| 144 | "projects/openlinux/bl-$STABLE_MAJOR_VERSION" \ |
| 145 | "projects/openlinux/bl-$STABLE_MAJOR_VERSION" \ |
wenbo.wang | e7c5b55 | 2023-08-01 19:44:54 +0800 | [diff] [blame^] | 146 | "projects/openlinux/bl-$STABLE_MAJOR_VERSION-3.18" \ |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 147 | "projects/openlinux/bl-$STABLE_MAJOR_VERSION" \ |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 148 | "projects/openlinux/bl-$STABLE_MAJOR_VERSION") |
| 149 | |
| 150 | declare -a BLX_TRUNK_BRANCH=( \ |
| 151 | "projects/sc2" \ |
| 152 | "projects/amlogic-dev" \ |
| 153 | "projects/amlogic-dev" \ |
| 154 | "projects/amlogic-dev" \ |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 155 | "projects/amlogic-dev" \ |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 156 | "amlogic-dev-1.3" \ |
| 157 | "amlogic-dev-3.8.0" \ |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 158 | "amlogic-dev-3.18.0" \ |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 159 | "amlogic-dev-2019" \ |
| 160 | "amlogic-dev") |
| 161 | |
| 162 | declare -a STABLE_VER_FILE=( \ |
| 163 | "Makefile.gcc" \ |
| 164 | "Makefile.gcc" \ |
| 165 | "Makefile.gcc" \ |
| 166 | "demos/amlogic/makedefs" \ |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 167 | "build_system/Makefile" \ |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 168 | "Makefile" \ |
| 169 | "core/arch/arm/plat-meson/conf.mk" \ |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 170 | "core/arch/arm/plat-meson/conf.mk" \ |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 171 | "Makefile" \ |
| 172 | "NULL") |
| 173 | |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 174 | declare -a STABLE_VER_INFO=(\ |
| 175 | " " \ |
| 176 | " " \ |
| 177 | " " \ |
| 178 | " " \ |
| 179 | " " \ |
| 180 | " " \ |
| 181 | " " \ |
| 182 | " " \ |
| 183 | " " \ |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 184 | " ") |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 185 | declare -a STABLE_VER_TOPIC=( \ |
| 186 | "bl2-sc2" \ |
| 187 | "bl2e" \ |
| 188 | "bl2x" \ |
| 189 | "bl30" \ |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 190 | "rtos_sdk" \ |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 191 | "bl31" \ |
| 192 | "bl32" \ |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 193 | "bl32" \ |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 194 | "bl33" \ |
| 195 | "NULL") |
| 196 | |
| 197 | # |
| 198 | # function |
| 199 | # |
| 200 | function go_proj() { |
| 201 | cd $rootdir |
| 202 | |
| 203 | output="./pxp_output_$1/" |
| 204 | |
| 205 | if [ -d ${output} ] ; then |
| 206 | rm -fr ${output} |
| 207 | fi |
| 208 | mkdir ${output} |
| 209 | |
| 210 | echo "go proj [ $1 ] !!!!!!!!!!!" |
| 211 | echo "./mk $1_pxp --update-bl2 --update-bl2e --update-bl2x --update-bl31" |
| 212 | echo "" |
| 213 | sleep 2 |
| 214 | |
| 215 | ./mk $1_pxp --update-bl2 --update-bl2e --update-bl2x --update-bl31 |
| 216 | |
| 217 | if [ -f "./build/u-boot.bin" ]; then |
| 218 | echo "run mk ok, found ./build/u-boot.bin" |
| 219 | cp -f ./build/u-boot.bin ${output} |
| 220 | else |
| 221 | echo "run mk error, not find ./build/u-boot.bin" |
| 222 | fi |
| 223 | |
| 224 | cp -f ./bl2/core/bl2.bin.sto ${output}bl2.bin |
| 225 | cp -f ./bl2/ree/bl2e.bin ${output}bl2e.bin |
| 226 | cp -f ./bl2/tee/bl2x.bin ${output}bl2x.bin |
| 227 | |
| 228 | cp -f ./bl31_1.3/src/bl31.bin ${output}bl31.bin |
| 229 | cp -f ./fip/_tmp/device-fip.bin ${output}device-fip.bin |
| 230 | cp -f ./bl33/v2019/build/u-boot.bin ${output}bl33.bin |
| 231 | |
| 232 | dd if=${output}bl2.bin of=${output}bl2-u1.bin bs=1 count=86016 |
| 233 | dd if=${output}bl2.bin of=${output}bl2-u2.bin bs=1 skip=86016 |
| 234 | |
| 235 | ./fip/c1/aml_encrypt_c1 --bin2hex --input ${output}bl2-u1.bin --usize 32 --bsize 262144 --output ${output}bl2-sram-u1.hex |
| 236 | ./fip/c1/aml_encrypt_c1 --bin2hex --input ${output}bl2-u2.bin --usize 32 --bsize 262144 --output ${output}bl2-sram-u2.hex |
| 237 | |
| 238 | rm -f ${output}bl2-u*.bin |
| 239 | tar -czf pxp_output_$1.tar.gz ${output} |
| 240 | |
| 241 | echo "-------------------------------------------------------------------------" |
| 242 | echo "all patterns for [$1] Z1 are ready in ${output}" |
| 243 | echo "-------------------------------------------------------------------------" |
| 244 | ls -la ${output} |
| 245 | echo |
| 246 | } |
| 247 | |
| 248 | function choose_whether_to_continue() { |
| 249 | read -r -p "$1 [y/n] " input |
| 250 | |
| 251 | case $input in |
| 252 | [yY][eE][sS]|[yY]) |
| 253 | echo "ok, run continue ..." |
| 254 | ;; |
| 255 | [nN][oO]|[nN]) |
| 256 | echo "ok, exit." |
| 257 | exit 1 |
| 258 | ;; |
| 259 | *) |
| 260 | echo "Invalid input..." |
| 261 | exit 1 |
| 262 | ;; |
| 263 | esac |
| 264 | } |
| 265 | |
| 266 | function err_exit() |
| 267 | { |
| 268 | echo "Error: $1" |
| 269 | exit 1 |
| 270 | } |
| 271 | |
| 272 | function sync_code() { |
| 273 | #echo "begin sync branch: $1/$2" |
| 274 | if [ -z $2 ]; then |
| 275 | err_exit "branch($2) error !" |
| 276 | fi |
| 277 | git reset --hard |
| 278 | cnt=`git branch |grep test1 -c` |
| 279 | if [ $cnt -eq 0 ]; then |
| 280 | git checkout -b test1 |
| 281 | else |
| 282 | git checkout test1 |
| 283 | fi |
| 284 | cnt=`git branch |grep $2 -c` |
| 285 | if [ ! $cnt -eq 0 ]; then |
| 286 | git branch -D $2 > /dev/null |
| 287 | fi |
| 288 | git checkout -t $1/$2 || err_exit "git checkout -t $1/$2 faild !" |
| 289 | git fetch --all |
| 290 | git reset --hard $1/$2 |
| 291 | git pull |
| 292 | git branch -D test1 |
| 293 | echo |
| 294 | } |
| 295 | |
| 296 | function show_setting_commit() { |
| 297 | echo |
| 298 | echo "git_show_setting_commit:" |
| 299 | echo "===============================" |
| 300 | for((i=0;i<${#BLX_NAME[@]};i++)); do |
| 301 | echo "# ${BLX_NAME[$i]} : ${BLX_COMMIT[$i]}" |
| 302 | done |
| 303 | echo "===============================" |
| 304 | echo |
| 305 | } |
| 306 | |
| 307 | function show_setting_branch() { |
| 308 | echo |
| 309 | echo "show_setting_branch:" |
| 310 | echo "===============================" |
| 311 | for((i=0;i<${#BLX_NAME[@]};i++)); do |
| 312 | echo "# ${BLX_NAME[$i]} : ${BLX_BRANCH[$i]}" |
| 313 | done |
| 314 | echo "===============================" |
| 315 | echo |
| 316 | } |
| 317 | |
| 318 | function show_stable_branch_version() { |
| 319 | echo |
| 320 | echo "show_stable_branch_version:" |
| 321 | echo "===============================" |
| 322 | |
| 323 | #for i in $(seq 0 ${BLX_NAME[@]}); do |
| 324 | for((i=0;i<${#BLX_NAME[@]}-1;i++)); do |
| 325 | if [ -d $rootdir/${BLX_PATH[$i]} ]; then |
| 326 | cd $rootdir/${BLX_PATH[$i]} |
| 327 | # stable branch version format: bl-x.y.z; |
| 328 | # x is major version, y is minor version, z is patch version |
| 329 | if [ "${STABLE_VER_FILE[$i]}" != "NULL" ]; then |
| 330 | VER_MAJOR=`grep 'MAJOR_VERSION ' ./${STABLE_VER_FILE[$i]} |grep '=' |awk '{print $3}'` |
| 331 | VER_MINOR=`grep 'MINOR_VERSION ' ./${STABLE_VER_FILE[$i]} |grep '=' |awk '{print $3}'` |
| 332 | VER_PATCH=`grep 'PATCH_VERSION ' ./${STABLE_VER_FILE[$i]} |grep '=' |awk '{print $3}'` |
| 333 | STABLE_VER_INFO[$i]="bl-${VER_MAJOR}.${VER_MINOR}.${VER_PATCH}" |
| 334 | fi |
| 335 | |
| 336 | CURRENT_BRANCH=`git branch |grep "*"| awk '{print $2}'` |
| 337 | if [ $i -eq 0 -a "${CURRENT_BRANCH}" = "${BLX_STABLE_BRANCH[0]}" ];then |
| 338 | git checkout ${BL2_S4_BRANCH} > /dev/null 2>&1 |
| 339 | VER_MAJOR=`grep 'MAJOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 340 | VER_MINOR=`grep 'MINOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 341 | VER_PATCH=`grep 'PATCH_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 342 | STABLE_VER_EXT="bl-${VER_MAJOR}.${VER_MINOR}.${VER_PATCH}" |
| 343 | echo "# bl2-s4 : ${STABLE_VER_EXT}" |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 344 | |
| 345 | git checkout ${BL2_S5_BRANCH} > /dev/null 2>&1 |
| 346 | VER_MAJOR=`grep 'MAJOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 347 | VER_MINOR=`grep 'MINOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 348 | VER_PATCH=`grep 'PATCH_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 349 | STABLE_VER_EXT="bl-${VER_MAJOR}.${VER_MINOR}.${VER_PATCH}" |
| 350 | echo "# bl2-s5 : ${STABLE_VER_EXT}" |
| 351 | |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 352 | git checkout ${BLX_STABLE_BRANCH[0]} > /dev/null 2>&1 |
| 353 | |
| 354 | elif [ $i -eq 0 -a "${CURRENT_BRANCH}" = "${BL2_S4_BRANCH}" ];then |
| 355 | git checkout ${BLX_STABLE_BRANCH[0]} > /dev/null 2>&1 |
| 356 | VER_MAJOR=`grep 'MAJOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 357 | VER_MINOR=`grep 'MINOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 358 | VER_PATCH=`grep 'PATCH_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 359 | STABLE_VER_EXT="bl-${VER_MAJOR}.${VER_MINOR}.${VER_PATCH}" |
| 360 | echo "# bl2-sc2 : ${STABLE_VER_EXT}" |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 361 | |
| 362 | git checkout ${BL2_S5_BRANCH} > /dev/null 2>&1 |
| 363 | VER_MAJOR=`grep 'MAJOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 364 | VER_MINOR=`grep 'MINOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 365 | VER_PATCH=`grep 'PATCH_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 366 | STABLE_VER_EXT="bl-${VER_MAJOR}.${VER_MINOR}.${VER_PATCH}" |
| 367 | echo "# bl2-s5 : ${STABLE_VER_EXT}" |
| 368 | |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 369 | git checkout ${BL2_S4_BRANCH} > /dev/null 2>&1 |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 370 | |
| 371 | elif [ $i -eq 0 -a "${CURRENT_BRANCH}" = "${BL2_S5_BRANCH}" ];then |
| 372 | git checkout ${BLX_STABLE_BRANCH[0]} > /dev/null 2>&1 |
| 373 | VER_MAJOR=`grep 'MAJOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 374 | VER_MINOR=`grep 'MINOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 375 | VER_PATCH=`grep 'PATCH_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 376 | STABLE_VER_EXT="bl-${VER_MAJOR}.${VER_MINOR}.${VER_PATCH}" |
| 377 | echo "# bl2-sc2 : ${STABLE_VER_EXT}" |
| 378 | |
| 379 | git checkout ${BL2_S4_BRANCH} > /dev/null 2>&1 |
| 380 | VER_MAJOR=`grep 'MAJOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 381 | VER_MINOR=`grep 'MINOR_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 382 | VER_PATCH=`grep 'PATCH_VERSION ' ./${STABLE_VER_FILE[0]} |grep '=' |awk '{print $3}'` |
| 383 | STABLE_VER_EXT="bl-${VER_MAJOR}.${VER_MINOR}.${VER_PATCH}" |
| 384 | echo "# bl2-s4 : ${STABLE_VER_EXT}" |
| 385 | |
| 386 | git checkout ${BL2_S5_BRANCH} > /dev/null 2>&1 |
| 387 | |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 388 | fi |
| 389 | fi |
| 390 | done |
| 391 | |
| 392 | for((i=0;i<${#BLX_NAME[@]}-1;i++)); do |
| 393 | echo "# ${BLX_NAME[$i]} : ${STABLE_VER_INFO[$i]}" |
| 394 | done |
| 395 | echo "===============================" |
| 396 | echo |
| 397 | } |
| 398 | |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 399 | function modify_stable_branch_version_info() { |
| 400 | local index=$1 |
| 401 | # stable branch version format: bl-x.y.z; |
| 402 | # x is major version, y is minor version, z is patch version |
| 403 | if [ "${STABLE_VER_FILE[${index}]}" != "NULL" ]; then |
| 404 | ######################### 1. modify version ############################ |
| 405 | # major |
| 406 | CURRENT_VER_MAJOG=`grep 'MAJOR_VERSION ' ./${STABLE_VER_FILE[${index}]} |grep '=' |awk '{print $3}'` |
| 407 | MODIFY_VER_MAJOR=`echo $MODIFY_STABLE_VERSION | cut -d '.' -f 1` |
| 408 | sed -i '/MAJOR_VERSION /s/'$CURRENT_VER_MAJOG'/'$MODIFY_VER_MAJOR'/g' ${STABLE_VER_FILE[${index}]} |
| 409 | |
| 410 | # minor |
| 411 | CURRENT_VER_MINOR=`grep 'MINOR_VERSION ' ./${STABLE_VER_FILE[${index}]} |grep '=' |awk '{print $3}'` |
| 412 | MODIFY_VER_MINOR=`echo $MODIFY_STABLE_VERSION | cut -d '.' -f 2` |
| 413 | sed -i '/MINOR_VERSION /s/'$CURRENT_VER_MINOR'/'$MODIFY_VER_MINOR'/g' ${STABLE_VER_FILE[${index}]} |
| 414 | |
| 415 | # patch |
| 416 | CURRENT_VER_PATCH=`grep 'PATCH_VERSION ' ./${STABLE_VER_FILE[${index}]} |grep '=' |awk '{print $3}'` |
| 417 | MODIFY_VER_PATCH=`echo $MODIFY_STABLE_VERSION | cut -d '.' -f 3` |
| 418 | sed -i '/PATCH_VERSION /s/'$CURRENT_VER_PATCH'/'$MODIFY_VER_PATCH'/g' ${STABLE_VER_FILE[${index}]} |
| 419 | |
| 420 | ######################### 1. modify version ############################ |
| 421 | ######################### 2. git add file ############################ |
| 422 | git add ${STABLE_VER_FILE[${index}]} |
| 423 | |
| 424 | CHECK_COMMIT_FORMAT=`echo $ADD_COMMIT_MESSAGE | grep -c '-'` |
| 425 | if [ $CHECK_COMMIT_FORMAT -eq 1 ]; then |
| 426 | ######################### 3. git commit -m ############################ |
| 427 | git commit --sign -m " |
wenbo.wang | 419daab | 2023-06-21 11:06:42 +0800 | [diff] [blame] | 428 | ${BLX_PATH[${index}]}: stable branch update version: bl-${MODIFY_VER_MAJOR}.${MODIFY_VER_MINOR}.${MODIFY_VER_PATCH} [1/1] |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 429 | |
wenbo.wang | 419daab | 2023-06-21 11:06:42 +0800 | [diff] [blame] | 430 | PD#${ADD_COMMIT_MESSAGE} |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 431 | |
wenbo.wang | 419daab | 2023-06-21 11:06:42 +0800 | [diff] [blame] | 432 | Problem: |
| 433 | bootloader stable branch(openlinux/bl-${STABLE_MAJOR_VERSION}) update |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 434 | |
wenbo.wang | 419daab | 2023-06-21 11:06:42 +0800 | [diff] [blame] | 435 | Solution: |
| 436 | add version to build message: bl-${MODIFY_VER_MAJOR}.${MODIFY_VER_MINOR}.${MODIFY_VER_PATCH} |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 437 | |
wenbo.wang | 419daab | 2023-06-21 11:06:42 +0800 | [diff] [blame] | 438 | Verify: |
| 439 | ohm/oppen/tyson" |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 440 | fi |
| 441 | fi |
| 442 | } |
| 443 | |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 444 | function modify_stable_branch_version() { |
| 445 | echo |
| 446 | echo "modify_stable_branch_version to: bl-$MODIFY_STABLE_VERSION" |
| 447 | #for i in $(seq 0 ${BLX_NAME[@]}); do |
| 448 | for((i=0;i<${#BLX_NAME[@]}-1;i++)); do |
| 449 | if [ -d $rootdir/${BLX_PATH[$i]} ]; then |
| 450 | cd $rootdir/${BLX_PATH[$i]} |
wenbo.wang | e7c5b55 | 2023-08-01 19:44:54 +0800 | [diff] [blame^] | 451 | echo "`pwd -P`" |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 452 | modify_stable_branch_version_info $i |
| 453 | |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 454 | fi |
| 455 | done |
| 456 | |
| 457 | } |
| 458 | |
| 459 | function push_stable_branch_version() { |
| 460 | echo |
| 461 | echo "push_stable_branch_version:" |
| 462 | #for i in $(seq 0 ${BLX_NAME[@]}); do |
| 463 | for((i=0;i<${#BLX_NAME[@]}-1;i++)); do |
| 464 | if [ -d $rootdir/${BLX_PATH[$i]} ]; then |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 465 | if [ ${BLX_NAME[$i]} == "rtos_sdk" ]; then |
| 466 | cd $rootdir/${RTOS_PATH[2]} |
| 467 | else |
| 468 | cd $rootdir/${BLX_PATH[$i]} |
| 469 | fi |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 470 | |
| 471 | #check bl2/core is at sc2 branch |
| 472 | CURRENT_BRANCH=`git branch |grep "*"| awk '{print $2}'` |
| 473 | if [ $i -eq 0 -a "${CURRENT_BRANCH}" != "${BLX_STABLE_BRANCH[0]}" ];then |
| 474 | echo "bl2 core is not at sc2 branch. please switch branch first !" |
| 475 | echo "" |
| 476 | continue |
| 477 | fi |
| 478 | |
| 479 | # stable branch version format: bl-x.y.z; |
| 480 | # x is major version, y is minor version, z is patch version |
| 481 | if [ "${STABLE_VER_TOPIC[$i]}" != "NULL" ]; then |
| 482 | echo "" |
| 483 | echo "PUSH ${STABLE_VER_TOPIC[$i]} ==>>" |
| 484 | git push review HEAD:refs/for/${BLX_STABLE_BRANCH[$i]}%topic=${PUSH_TOPIC_COMMON}-${STABLE_VER_TOPIC[$i]} |
| 485 | echo "" |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 486 | if [ "${STABLE_VER_TOPIC[$i]}" == "bl2-sc2" ];then |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 487 | echo "" |
| 488 | echo "PUSH bl2-s4 ==>>" |
| 489 | BL2_SC2_LAST_COMMIT=`git log --pretty=format:"%h" | head -1 | awk '{print $1}'` |
| 490 | git checkout ${BL2_S4_BRANCH} > /dev/null |
| 491 | git cherry-pick ${BL2_SC2_LAST_COMMIT} |
| 492 | git push review HEAD:refs/for/${BL2_S4_BRANCH}%topic=${PUSH_TOPIC_COMMON}-bl2-s4 |
| 493 | git checkout ${BLX_STABLE_BRANCH[$i]} > /dev/null |
| 494 | echo "" |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 495 | |
| 496 | echo "" |
| 497 | echo "PUSH bl2-s5 ==>>" |
| 498 | BL2_SC2_LAST_COMMIT=`git log --pretty=format:"%h" | head -1 | awk '{print $1}'` |
| 499 | git checkout ${BL2_S5_BRANCH} > /dev/null |
| 500 | git cherry-pick ${BL2_SC2_LAST_COMMIT} |
| 501 | git push review HEAD:refs/for/${BL2_S5_BRANCH}%topic=${PUSH_TOPIC_COMMON}-bl2-s5 |
| 502 | git checkout ${BLX_STABLE_BRANCH[$i]} > /dev/null |
| 503 | echo "" |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 504 | fi |
| 505 | fi |
| 506 | fi |
| 507 | done |
| 508 | |
| 509 | echo |
| 510 | } |
| 511 | |
| 512 | function show_current_branch_info() { |
| 513 | echo |
| 514 | echo "show_current_branch_commit_info:" |
| 515 | echo "===============================" |
| 516 | #for i in $(seq 0 ${BLX_NAME[@]}); do |
| 517 | for((i=0;i<${#BLX_NAME[@]};i++)); do |
| 518 | if [ -d $rootdir/${BLX_PATH[$i]} ]; then |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 519 | if [ ${BLX_NAME[$i]} == "rtos_sdk" ]; then |
| 520 | cd $rootdir/${RTOS_PATH[2]} |
| 521 | else |
| 522 | cd $rootdir/${BLX_PATH[$i]} |
| 523 | fi |
| 524 | |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 525 | commit=`git rev-parse HEAD` |
| 526 | # compare setting commit with current commit |
| 527 | if [ ${#BLX_COMMIT[$i]} -gt 20 ]; then |
| 528 | if [ "${BLX_COMMIT[$i]}" == "$commit" ]; then |
| 529 | echo "[eq] ${BLX_NAME[$i]}: [`git branch --show-current`] `git log --oneline -1`" |
| 530 | else |
| 531 | echo "[no] ${BLX_NAME[$i]}: [`git branch --show-current`] `git log --oneline -1`" |
| 532 | fi |
| 533 | else |
| 534 | #echo "= ${BLX_NAME[$i]}: `git branch --show-current && git log --oneline -1 | tr -d '\n'`" |
| 535 | echo "[--] ${BLX_NAME[$i]}: [`git branch --show-current`] `git log --abbrev=8 --oneline -1 `" |
| 536 | CURRENT_BRANCH=`git branch |grep "*"| awk '{print $2}'` |
| 537 | if [ $i -eq 0 -a "${CURRENT_BRANCH}" = "${BLX_STABLE_BRANCH[0]}" ];then |
| 538 | git checkout ${BL2_S4_BRANCH} > /dev/null 2>&1 |
| 539 | echo "[--] ${BLX_NAME[$i]}: [`git branch --show-current`] `git log --abbrev=8 --oneline -1 `" |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 540 | |
| 541 | git checkout ${BL2_S5_BRANCH} > /dev/null 2>&1 |
| 542 | echo "[--] ${BLX_NAME[$i]}: [`git branch --show-current`] `git log --abbrev=8 --oneline -1 `" |
| 543 | |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 544 | git checkout ${BLX_STABLE_BRANCH[0]} > /dev/null 2>&1 |
| 545 | elif [ $i -eq 0 -a "${CURRENT_BRANCH}" = "${BL2_S4_BRANCH}" ];then |
| 546 | git checkout ${BLX_STABLE_BRANCH[0]} > /dev/null 2>&1 |
| 547 | echo "[--] ${BLX_NAME[$i]}: [`git branch --show-current`] `git log --abbrev=8 --oneline -1 `" |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 548 | |
| 549 | git checkout ${BL2_S5_BRANCH} > /dev/null 2>&1 |
| 550 | echo "[--] ${BLX_NAME[$i]}: [`git branch --show-current`] `git log --abbrev=8 --oneline -1 `" |
| 551 | |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 552 | git checkout ${BL2_S4_BRANCH} > /dev/null 2>&1 |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 553 | elif [ $i -eq 0 -a "${CURRENT_BRANCH}" = "${BL2_S5_BRANCH}" ];then |
| 554 | git checkout ${BLX_STABLE_BRANCH[0]} > /dev/null 2>&1 |
| 555 | echo "[--] ${BLX_NAME[$i]}: [`git branch --show-current`] `git log --abbrev=8 --oneline -1 `" |
| 556 | |
| 557 | git checkout ${BL2_S4_BRANCH} > /dev/null 2>&1 |
| 558 | echo "[--] ${BLX_NAME[$i]}: [`git branch --show-current`] `git log --abbrev=8 --oneline -1 `" |
| 559 | |
| 560 | git checkout ${BL2_S5_BRANCH} > /dev/null 2>&1 |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 561 | fi |
| 562 | fi |
| 563 | else |
| 564 | echo "[--] ${BLX_NAME[$i]}: ------" |
| 565 | fi |
| 566 | done |
| 567 | echo "===============================" |
| 568 | echo |
| 569 | } |
| 570 | |
| 571 | function switch_to_target_branch() { |
| 572 | echo |
| 573 | if [ $SWITCH_TARGET_BRANCH -eq 1 ] ; then |
| 574 | echo "branch: trunk" |
| 575 | BLX_BRANCH=(${BLX_TRUNK_BRANCH[*]}) |
| 576 | elif [ $SWITCH_TARGET_BRANCH -eq 2 ]; then |
| 577 | echo "branch: stable" |
| 578 | BLX_BRANCH=(${BLX_STABLE_BRANCH[*]}) |
| 579 | else |
| 580 | exit |
| 581 | fi |
| 582 | show_setting_branch |
| 583 | |
| 584 | echo "switch_to_target_branch:" |
| 585 | for((i=0;i<${#BLX_NAME[@]}-1;i++)); do |
| 586 | if [ -d $rootdir/${BLX_PATH[$i]} ]; then |
| 587 | echo "path: ${BLX_PATH[$i]}" |
| 588 | cd $rootdir/${BLX_PATH[$i]} |
| 589 | sync_code ${BLX_REMOTE[$i]} ${BLX_BRANCH[$i]} |
| 590 | if [ ${#BLX_COMMIT[$i]} -gt 20 ]; then |
| 591 | git reset --hard ${BLX_COMMIT[$i]} |
| 592 | fi |
| 593 | else |
| 594 | echo "error, path($rootdir/${BLX_PATH[$i]}) not exist!" |
| 595 | fi |
| 596 | done |
| 597 | |
| 598 | echo |
| 599 | } |
| 600 | |
| 601 | function modify_stable_sub_version() { |
wenbo.wang | e7c5b55 | 2023-08-01 19:44:54 +0800 | [diff] [blame^] | 602 | echo "###modify_stable_sub_version" |
| 603 | |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 604 | # 1. switch to target branch |
| 605 | if [ $SWITCH_TARGET_BRANCH -ne 0 ]; then |
| 606 | switch_to_target_branch |
| 607 | fi |
| 608 | |
| 609 | # 2. show current branch branch and commit |
| 610 | if [ $SHOW_LAST_COMMIT -eq 1 ]; then |
| 611 | show_current_branch_info |
| 612 | fi |
| 613 | |
| 614 | # 3. show stable branch last version |
| 615 | if [ $SHOW_STABLE_VERSION -eq 1 ]; then |
| 616 | show_stable_branch_version |
| 617 | fi |
| 618 | |
| 619 | # 4. modify stable branch last version |
| 620 | CHECK_VERSION_FORMAT=`echo $MODIFY_STABLE_VERSION | awk -F'.' '{print NF-1}'` |
| 621 | if [ $CHECK_VERSION_FORMAT -eq 2 ]; then |
| 622 | modify_stable_branch_version |
| 623 | show_stable_branch_version |
| 624 | fi |
wenbo.wang | 4185a32 | 2023-04-28 22:04:11 +0800 | [diff] [blame] | 625 | |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 626 | # 5. push stable branch last version |
| 627 | if [ "$PUSH_TOPIC_COMMON" != "0" ]; then |
| 628 | push_stable_branch_version |
| 629 | show_current_branch_info |
| 630 | fi |
| 631 | } |
| 632 | |
| 633 | function compile_stable_uboot_bin() { |
wenbo.wang | e7c5b55 | 2023-08-01 19:44:54 +0800 | [diff] [blame^] | 634 | echo "# push_uboot_img_to_android_repo" |
| 635 | |
dongqing.li | 93ffff3 | 2022-07-25 10:38:31 +0800 | [diff] [blame] | 636 | for((i=0;i<${#OPENLINUX_BOARD_TYPE[@]};i++)); do |
| 637 | echo |
| 638 | echo "<$i.${OPENLINUX_BOARD_TYPE[$i]}>############################### push_uboot_img_to_android_repo." |
| 639 | |
| 640 | echo |
| 641 | echo "#1. check android dev path" |
| 642 | if [ -d ${ANDROID_DIR_LIST[$i]} ];then |
| 643 | cd ${ANDROID_DIR_LIST[$i]} |
| 644 | git reset --hard HEAD^ |
| 645 | git clean -df |
| 646 | git fetch --all && git reset --hard && git pull |
| 647 | cd - |
| 648 | else |
| 649 | err_exit "Android dir is not exist! (${ANDROID_DIR_LIST[$i]})" |
| 650 | fi |
| 651 | |
| 652 | if [ -f "./build-${OPENLINUX_BOARD_TYPE[i]}-${PUSH_TOPIC_COMMON}/u-boot.bin.signed" ]; then |
| 653 | |
| 654 | echo |
| 655 | echo "# 2/3. build bootloader manual already, copy it directly" |
| 656 | cp -fv ./build-${OPENLINUX_BOARD_TYPE[i]}-${PUSH_TOPIC_COMMON}/u-boot.bin.signed ${ANDROID_DIR_LIST[$i]}/bootloader.img |
| 657 | cp -fv ./build-${OPENLINUX_BOARD_TYPE[i]}-${PUSH_TOPIC_COMMON}/u-boot.bin.usb.signed ${ANDROID_DIR_LIST[$i]}/upgrade/ |
| 658 | cp -fv ./build-${OPENLINUX_BOARD_TYPE[i]}-${PUSH_TOPIC_COMMON}/u-boot.bin.sd.bin.signed ${ANDROID_DIR_LIST[$i]}/upgrade |
| 659 | |
| 660 | else |
| 661 | echo |
| 662 | echo "# 2. build booloader image" |
| 663 | cd bl2/core && git checkout ${OPENLINUX_BOARD_BRANCH[$i]} || err_exit "cd bl2/core faild !" |
| 664 | cd - |
| 665 | runcmd="./mk ${OPENLINUX_BOARD_CONFIG[i]} --update-bl2 --update-bl2e --update-bl2x --update-bl31 --update-bl32 --avb2 --vab" |
| 666 | echo "[run cmd]: ${runcmd}" |
| 667 | ${runcmd} || err_exit "./mk ${OPENLINUX_BOARD_CONFIG[i]} faild !" |
| 668 | if [ -f "./build/u-boot.bin.signed" ];then |
| 669 | echo "\n build booloader(${OPENLINUX_BOARD_TYPE[$i]}) SUCCESS." |
| 670 | else |
| 671 | err_exit "build booloader(${OPENLINUX_BOARD_TYPE[$i]}) FAILED." |
| 672 | fi |
| 673 | |
| 674 | echo |
| 675 | echo "# 3. copy booloader img to android dir" |
| 676 | cp -fv ./build/u-boot.bin.signed ${ANDROID_DIR_LIST[$i]}/bootloader.img |
| 677 | cp -fv ./build/u-boot.bin.usb.signed ${ANDROID_DIR_LIST[$i]}/upgrade/ |
| 678 | cp -fv ./build/u-boot.bin.sd.bin.signed ${ANDROID_DIR_LIST[$i]}/upgrade/ |
| 679 | fi |
| 680 | |
| 681 | echo |
| 682 | echo "# 4. add commit message" |
| 683 | cd ${ANDROID_DIR_LIST[$i]} |
| 684 | if [ ! -f "${ANDROID_DIR_LIST[$i]}/bootloader.img" ]; then |
| 685 | err_exit " copy bootloader img error, exit." |
| 686 | fi |
| 687 | git add -u |
| 688 | git commit --sign -m " |
| 689 | ${OPENLINUX_BOARD_TYPE[$i]}: bootloader stable branch bin for ${PUSH_TOPIC_COMMON} [1/1] |
| 690 | |
| 691 | PD#${ADD_COMMIT_MESSAGE} |
| 692 | |
| 693 | Problem: |
| 694 | bootloader stable branch(openlinux/bl-${STABLE_MAJOR_VERSION}) update |
| 695 | |
| 696 | Solution: |
| 697 | add version to build message: ${PUSH_TOPIC_COMMON} |
| 698 | |
| 699 | Verify: |
| 700 | local ${OPENLINUX_BOARD_TYPE[$i]}" |
| 701 | |
| 702 | echo |
| 703 | echo "# 5. push booloader img to device/amlogic" |
| 704 | git push review HEAD:refs/for/${ANDROID_TARGET_BRANCH}%topic=BL${STABLE_MAJOR_VERSION} || err_exit " push bootloader img error." |
| 705 | cd - |
| 706 | echo "<$i.${OPENLINUX_BOARD_TYPE[$i]}># done." |
| 707 | echo |
| 708 | done |
| 709 | } |
| 710 | |
| 711 | show_help() |
| 712 | { |
| 713 | echo -e "\e[1;35m [usage] V0.3 2022.09.18\e[0m" |
| 714 | echo " $0 -[o:/s/t/c/v/m:/a:/p/j:/h]" |
| 715 | echo "" |
| 716 | echo -e "\e[1;35m [option] \e[0m" |
| 717 | echo " -o : option type. 1:modify stable sub version; 2:compile stable uboot.bin" |
| 718 | echo " -s : switch to stable branch, sync code." |
| 719 | echo " -t : switch to trunk branch, sync code." |
| 720 | echo " -c : print current branch last commit." |
| 721 | echo " -v : print stable branch last version." |
| 722 | echo " -m : modify stable branch last version x.y.z, eg: -m 3.4.5" |
| 723 | echo " -a : add version change and commit message, eg: -a SWPL-83088" |
| 724 | echo " -p : push stable branch with topic info. eg: -p BL3.4.4-20220620" |
| 725 | echo " -j : set stable branch major version. eg: -j 3.4.0" |
| 726 | echo " -h : show help" |
| 727 | echo "" |
| 728 | echo -e "\e[1;35m [external ENV] \e[0m" |
| 729 | echo " Set these ENV externally(not necessary), cmd: export ENV=\${ENV}" |
| 730 | echo " STABLE_MAJOR_VERSION (default:${STABLE_MAJOR_VERSION})" |
| 731 | echo " ANDROID_ROOT_DIR (default:${ANDROID_ROOT_DIR})" |
| 732 | echo " ANDROID_TARGET_BRANCH (default:${ANDROID_TARGET_BRANCH})" |
| 733 | echo "" |
| 734 | echo -e "\e[1;35m [example]\e[0m" |
| 735 | echo " (1) modify stable sub version, and push to stable" |
| 736 | echo " $0 -o 1 -m 3.4.9 -a SWPL-85641 -p BL3.4.9-20220912" |
| 737 | echo "" |
| 738 | echo " (2) compile stable uboot.bin, and push to android" |
| 739 | echo " $0 -o 2 -m 3.4.9 -a SWPL-85641 -p BL3.4.9-20220912" |
| 740 | echo "" |
| 741 | echo " (3) manual compile stable uboot.bin (sc2_ah212 / s4_ap222)" |
| 742 | echo " ./mk sc2_ah212 --update-bl2 --update-bl2e --update-bl2x --update-bl31 --update-bl32 --avb2 --vab" |
| 743 | echo "" |
| 744 | exit 1 |
| 745 | } |
| 746 | |
| 747 | function parser() { |
| 748 | |
| 749 | if [ -z $1 ]; then |
| 750 | show_help |
| 751 | return |
| 752 | fi |
| 753 | |
| 754 | while getopts sStThcCvVm:M:o:O:p:P:a:A:j:J:hH opt; do |
| 755 | case ${opt} in |
| 756 | o|O) |
| 757 | STABLE_OPTION_TYPE=${OPTARG} |
| 758 | ;; |
| 759 | s|S) |
| 760 | SWITCH_TARGET_BRANCH=2 |
| 761 | ;; |
| 762 | t|T) |
| 763 | SWITCH_TARGET_BRANCH=1 |
| 764 | ;; |
| 765 | c|C) |
| 766 | SHOW_LAST_COMMIT=1 |
| 767 | ;; |
| 768 | v|V) |
| 769 | SHOW_STABLE_VERSION=1 |
| 770 | ;; |
| 771 | m|M) |
| 772 | MODIFY_STABLE_VERSION=${OPTARG} |
| 773 | ;; |
| 774 | a|A) |
| 775 | ADD_COMMIT_MESSAGE=${OPTARG} |
| 776 | ;; |
| 777 | j|J) |
| 778 | STABLE_MAJOR_VERSION=${OPTARG} |
| 779 | ;; |
| 780 | p|P) |
| 781 | PUSH_TOPIC_COMMON=${OPTARG} |
| 782 | ;; |
| 783 | h|H) |
| 784 | show_help |
| 785 | ;; |
| 786 | *) |
| 787 | show_help |
| 788 | ;; |
| 789 | esac |
| 790 | done |
| 791 | } |
| 792 | |
| 793 | |
| 794 | function main() { |
| 795 | if [ -f "build_bl2.sh" ]; then |
| 796 | rootdir=`pwd -P`/../ |
| 797 | fi |
| 798 | if [ -d "fip" ]; then |
| 799 | rootdir=`pwd -P` |
| 800 | fi |
| 801 | |
| 802 | echo |
| 803 | echo "Run start: $rootdir " |
| 804 | echo |
| 805 | |
| 806 | parser $@ |
| 807 | |
| 808 | # check option type |
| 809 | if [ "$STABLE_OPTION_TYPE" = "0" ]; then |
| 810 | show_help |
| 811 | elif [ "$STABLE_OPTION_TYPE" = "1" ]; then |
| 812 | modify_stable_sub_version |
| 813 | elif [ "$STABLE_OPTION_TYPE" = "2" ]; then |
| 814 | compile_stable_uboot_bin |
| 815 | fi |
| 816 | |
| 817 | echo |
| 818 | echo "Run finish." |
| 819 | echo |
| 820 | } |
| 821 | |
| 822 | # |
| 823 | # start here. |
| 824 | # |
| 825 | main $@ |