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