blob: b2508d32fadf937f013d95048302c86d104e2e46 [file] [log] [blame]
Jin Qiana09060a2016-04-04 18:11:07 -07001#!/bin/bash
2set -e
3
Jin Qian712517a2016-05-17 17:52:40 -07004manual_mode=false
Jin Qianed834612017-04-17 14:19:49 -07005version=3.10
Jin Qian712517a2016-05-17 17:52:40 -07006
Jin Qianed834612017-04-17 14:19:49 -07007while getopts "mv:" opt; do
8 case $opt in
9 m) manual_mode=true
10 ;;
11 v) version=$OPTARG
12 ;;
13 ?) echo "Usage: $0 [-m] [-v version]"
14 echo " -m: manually specify build numbers"
15 echo " -v: specify kernel version [default 3.10]"
16 exit 1
17 ;;
18 esac
19done
20
21if [[ "$version" != "3.10" && "$version" != "3.18" ]]
Jin Qiana09060a2016-04-04 18:11:07 -070022then
Jin Qianed834612017-04-17 14:19:49 -070023 echo "kernel version must be 3.10 or 3.18"
Jin Qiana09060a2016-04-04 18:11:07 -070024 exit 1
25fi
26
Jin Qian958dbb92016-12-08 12:49:43 -080027fetchtool='sso_client -location -connect_timeout 60 -request_timeout 60 -url'
Jin Qiana09060a2016-04-04 18:11:07 -070028build_server='https://android-build-uber.corp.google.com'
29branch_prefix='kernel-n-dev-android-goldfish-'
30
31# kernel_img[branch]="build_server_output local_file_name"
32declare -A kernel_img
33
Jin Qiana3fcc922017-08-03 13:17:20 -070034kernel_img[3.10-arm]="zImage arm/3.10/kernel-qemu"
35kernel_img[3.10-arm64]="Image arm64/3.10/kernel-qemu"
Miodrag Dinicc8046992017-08-23 11:28:34 +020036kernel_img[3.10-mips]="vmlinux mips/3.10/kernel-qemu"
37kernel_img[3.10-mips64]="vmlinux mips64/3.10/kernel-qemu"
Jin Qiana3fcc922017-08-03 13:17:20 -070038kernel_img[3.10-x86]="bzImage x86/3.10/kernel-qemu"
39kernel_img[3.10-x86_64]="bzImage x86_64/3.10/kernel-qemu"
Jin Qiana09060a2016-04-04 18:11:07 -070040kernel_img[3.10-x86_64-qemu1]="bzImage x86_64/kernel-qemu"
Jin Qianc2d2a292016-10-31 14:15:38 -070041kernel_img[3.18-arm]="zImage arm/3.18/kernel-qemu2"
42kernel_img[3.18-arm64]="Image arm64/3.18/kernel-qemu2"
43kernel_img[3.18-mips]="vmlinux mips/3.18/kernel-qemu2"
44kernel_img[3.18-mips64]="vmlinux mips64/3.18/kernel-qemu2"
45kernel_img[3.18-x86]="bzImage x86/3.18/kernel-qemu2"
46kernel_img[3.18-x86_64]="bzImage x86_64/3.18/kernel-qemu2"
Jin Qiana09060a2016-04-04 18:11:07 -070047
Jin Qianed834612017-04-17 14:19:49 -070048printf "Upgrade emulator kernels $version\n\n" > emu_kernel.commitmsg
Jin Qiana09060a2016-04-04 18:11:07 -070049
50for key in "${!kernel_img[@]}"
51do
Jin Qianed834612017-04-17 14:19:49 -070052 if [[ $key != $version* ]]
53 then
54 continue
55 fi
56
Jin Qiana09060a2016-04-04 18:11:07 -070057 branch=$branch_prefix$key
58 branch_url=$build_server/builds/$branch-linux-kernel
59
60 # Find the latest build by searching for highest build number since
61 # build server doesn't provide the "latest" link.
62 build=`$fetchtool $branch_url | \
63 sed -rn "s/<li><a href=".*">([0-9]+)<\/a><\/li>/\1/p" | \
64 sort -nr | head -n 1`
65
66 if $manual_mode
67 then
68 read -p "Enter build number for $branch: [$build]" input
69 build="${input:-$build}"
70 fi
71
72 echo Fetching build $build from branch $branch
73
74 # file_info[0] - kernel image on build server
75 # file_info[1] - kernel image in local tree
76 file_info=(${kernel_img[$key]})
77
78 $fetchtool $branch_url/$build/${file_info[0]} > ${file_info[1]}
79
80 git add ${file_info[1]}
81
82 printf "$branch - build: $build\n" >> emu_kernel.commitmsg
83done
84
Jin Qianed834612017-04-17 14:19:49 -070085last_commit=`git log | \
86 sed -rn "s/.*Upgrade $version kernel images to ([a-z0-9]+).*/\1/p" | \
Jin Qianc2d2a292016-10-31 14:15:38 -070087 head -n 1`
88
Jin Qiana09060a2016-04-04 18:11:07 -070089if [ ! -d goldfish_cache ]
90then
91 mkdir goldfish_cache
92 git clone https://android.googlesource.com/kernel/goldfish goldfish_cache
93fi
94
95pushd goldfish_cache
96
97git fetch origin
98
Jin Qianed834612017-04-17 14:19:49 -070099git checkout remotes/origin/android-goldfish-$version
100tot_commit=`git log --oneline -1 | cut -d' ' -f1`
101printf "\nUpgrade $version kernel images to ${tot_commit}\n" >> ../emu_kernel.commitmsg
102git log --oneline HEAD...${last_commit} >> ../emu_kernel.commitmsg
Jin Qianc2d2a292016-10-31 14:15:38 -0700103
Jin Qiana09060a2016-04-04 18:11:07 -0700104popd
105
106git commit -t emu_kernel.commitmsg
107
108rm emu_kernel.commitmsg
109