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