Jin Qian | a09060a | 2016-04-04 18:11:07 -0700 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | set -e |
| 3 | |
Jin Qian | 712517a | 2016-05-17 17:52:40 -0700 | [diff] [blame] | 4 | manual_mode=false |
| 5 | |
| 6 | if [ $# == 1 ] && [ $1 == '-m' ] |
Jin Qian | a09060a | 2016-04-04 18:11:07 -0700 | [diff] [blame] | 7 | then |
| 8 | manual_mode=true |
Jin Qian | 712517a | 2016-05-17 17:52:40 -0700 | [diff] [blame] | 9 | elif [ $# != 0 ] |
Jin Qian | a09060a | 2016-04-04 18:11:07 -0700 | [diff] [blame] | 10 | then |
| 11 | echo Usage: $0 [-m] |
| 12 | echo " -m: manually specify build numbers" |
| 13 | exit 1 |
| 14 | fi |
| 15 | |
| 16 | fetchtool='sso_client --location --request_timeout 60 --url' |
| 17 | build_server='https://android-build-uber.corp.google.com' |
| 18 | branch_prefix='kernel-n-dev-android-goldfish-' |
| 19 | |
| 20 | # kernel_img[branch]="build_server_output local_file_name" |
| 21 | declare -A kernel_img |
| 22 | |
| 23 | kernel_img[3.4-arm]="zImage arm/kernel-qemu-armv7" |
Jin Qian | 332b4f4 | 2016-08-11 15:06:29 -0700 | [diff] [blame^] | 24 | kernel_img[3.4-mips]="vmlinux mips/kernel-qemu" |
Jin Qian | a09060a | 2016-04-04 18:11:07 -0700 | [diff] [blame] | 25 | kernel_img[3.4-x86]="bzImage x86/kernel-qemu" |
Jin Qian | 712517a | 2016-05-17 17:52:40 -0700 | [diff] [blame] | 26 | kernel_img[3.10-arm]="zImage arm/ranchu/kernel-qemu" |
Jin Qian | a09060a | 2016-04-04 18:11:07 -0700 | [diff] [blame] | 27 | kernel_img[3.10-arm64]="Image arm64/kernel-qemu" |
Jin Qian | 332b4f4 | 2016-08-11 15:06:29 -0700 | [diff] [blame^] | 28 | kernel_img[3.10-mips]="vmlinux mips/ranchu/kernel-qemu" |
| 29 | kernel_img[3.10-mips64]="vmlinux mips64/kernel-qemu" |
Jin Qian | a09060a | 2016-04-04 18:11:07 -0700 | [diff] [blame] | 30 | kernel_img[3.10-x86]="bzImage x86/ranchu/kernel-qemu" |
| 31 | kernel_img[3.10-x86_64]="bzImage x86_64/ranchu/kernel-qemu" |
| 32 | kernel_img[3.10-x86_64-qemu1]="bzImage x86_64/kernel-qemu" |
Jin Qian | a09060a | 2016-04-04 18:11:07 -0700 | [diff] [blame] | 33 | |
| 34 | printf "Upgrade emulator kernels\n\n" > emu_kernel.commitmsg |
| 35 | |
| 36 | for key in "${!kernel_img[@]}" |
| 37 | do |
| 38 | branch=$branch_prefix$key |
| 39 | branch_url=$build_server/builds/$branch-linux-kernel |
| 40 | |
| 41 | # Find the latest build by searching for highest build number since |
| 42 | # build server doesn't provide the "latest" link. |
| 43 | build=`$fetchtool $branch_url | \ |
| 44 | sed -rn "s/<li><a href=".*">([0-9]+)<\/a><\/li>/\1/p" | \ |
| 45 | sort -nr | head -n 1` |
| 46 | |
| 47 | if $manual_mode |
| 48 | then |
| 49 | read -p "Enter build number for $branch: [$build]" input |
| 50 | build="${input:-$build}" |
| 51 | fi |
| 52 | |
| 53 | echo Fetching build $build from branch $branch |
| 54 | |
| 55 | # file_info[0] - kernel image on build server |
| 56 | # file_info[1] - kernel image in local tree |
| 57 | file_info=(${kernel_img[$key]}) |
| 58 | |
| 59 | $fetchtool $branch_url/$build/${file_info[0]} > ${file_info[1]} |
| 60 | |
| 61 | git add ${file_info[1]} |
| 62 | |
| 63 | printf "$branch - build: $build\n" >> emu_kernel.commitmsg |
| 64 | done |
| 65 | |
| 66 | last_3_4_commit=`git log | \ |
| 67 | sed -rn "s/.*Upgrade 3.4 kernel images to ([a-z0-9]+).*/\1/p" | \ |
| 68 | head -n 1` |
| 69 | |
| 70 | last_3_10_commit=`git log | \ |
| 71 | sed -rn "s/.*Upgrade 3.10 kernel images to ([a-z0-9]+).*/\1/p" | \ |
| 72 | head -n 1` |
| 73 | |
| 74 | if [ ! -d goldfish_cache ] |
| 75 | then |
| 76 | mkdir goldfish_cache |
| 77 | git clone https://android.googlesource.com/kernel/goldfish goldfish_cache |
| 78 | fi |
| 79 | |
| 80 | pushd goldfish_cache |
| 81 | |
| 82 | git fetch origin |
| 83 | |
| 84 | git checkout remotes/origin/android-goldfish-3.4 |
| 85 | tot_3_4_commit=`git log --oneline -1 | cut -d' ' -f1` |
| 86 | printf "\nUpgrade 3.4 kernel images to ${tot_3_4_commit}\n" >> ../emu_kernel.commitmsg |
| 87 | git log --oneline HEAD...${last_3_4_commit} >> ../emu_kernel.commitmsg |
| 88 | |
| 89 | git checkout remotes/origin/android-goldfish-3.10 |
| 90 | tot_3_10_commit=`git log --oneline -1 | cut -d' ' -f1` |
| 91 | printf "\nUpgrade 3.10 kernel images to ${tot_3_10_commit}\n" >> ../emu_kernel.commitmsg |
| 92 | git log --oneline HEAD...${last_3_10_commit} >> ../emu_kernel.commitmsg |
| 93 | |
| 94 | popd |
| 95 | |
| 96 | git commit -t emu_kernel.commitmsg |
| 97 | |
| 98 | rm emu_kernel.commitmsg |
| 99 | |