Merge "Update update_54_kernel.sh to fetch artifacts from aosp_kernel-common-android-5.4"
diff --git a/update_54_kernel.sh b/update_54_kernel.sh
index 13a86cf..c187895 100755
--- a/update_54_kernel.sh
+++ b/update_54_kernel.sh
@@ -1,51 +1,51 @@
#!/bin/bash
+DEFAULT_BRANCH="aosp_kernel-common-android-5.4"
# Examples:
# to update
-# * modules only:
-# ./update_54_kernel.sh --bug 123 --goldfish_bid 6300759
-# * the kernel file only (from common):
-# ./update_54_kernel.sh --bug 123 --kernel common --common_bid 6299923
-# * modules and the kernel file (from common or goldfish):
-# ./update_54_kernel.sh --bug 123 --kernel common --goldfish_bid 6300759 --common_bid 6299923
-# ./update_54_kernel.sh --bug 123 --kernel goldfish --goldfish_bid 6300759 --common_bid 6299923
+# * kernel from common and goldfish modules (recommended):
+# ./update_54_kernel.sh --bug 123 --bid 6332140
+# * only goldfish modules:
+# ./update_54_kernel.sh --bug 123 --bid 6332140 --update modules
+# * only kernel (common):
+# ./update_54_kernel.sh --bug 123 --bid 6332140 --update kernel
set -e
set -o errexit
source gbash.sh
DEFINE_int bug 0 "Bug with the reason for the update"
-DEFINE_int goldfish_bid 0 "Build id for goldfish modules"
-DEFINE_string kernel "none" "Choose where you want to fetch the kernel from, (common|goldfish|none)"
-DEFINE_int common_bid 0 "Build id for the kernel binary (common)"
-DEFINE_string goldfish_branch "aosp_kernel-r-goldfish-android-5.4" "'fetch_artifact branch' for goldfish modules"
-DEFINE_string common_branch "aosp_kernel-common-android-5.4" "'fetch_artifact branch' for tke kernel binary"
+DEFINE_int bid 0 "Build id for goldfish modules"
+DEFINE_string update "both" "Select which prebuilts to update, (kernel|modules|both)"
+DEFINE_string kernel "common" "Select which kernel to fetch, (common|goldfish)"
+DEFINE_string branch "${DEFAULT_BRANCH}" "Branch for fetch_artifact"
fetch_arch() {
scratch_dir="${1}"
- kernel_bid="${2}"
- kernel_branch="${3}"
- goldfish_bid="${4}"
- goldfish_branch="${5}"
+ branch="${2}"
+ bid="${3}"
+ do_fetch_kernel="${4}"
+ do_fetch_modules="${5}"
kernel_target="${6}"
kernel_artifact="${7}"
+ modules_target="${8}"
mkdir "${scratch_dir}"
pushd "${scratch_dir}"
- if [[ "${kernel_bid}" -ne 0 ]]; then
+ if [[ "${do_fetch_kernel}" -ne 0 ]]; then
/google/data/ro/projects/android/fetch_artifact \
- --bid "${kernel_bid}" \
+ --bid "${bid}" \
--target "${kernel_target}" \
- --branch "${kernel_branch}" \
+ --branch "${branch}" \
"${kernel_artifact}"
fi
- if [[ "${goldfish_bid}" -ne 0 ]]; then
+ if [[ "${do_fetch_modules}" -ne 0 ]]; then
/google/data/ro/projects/android/fetch_artifact \
- --bid "${goldfish_bid}" \
- --target "${kernel_target}" \
- --branch "${goldfish_branch}" \
+ --bid "${bid}" \
+ --target "${modules_target}" \
+ --branch "${branch}" \
"*.ko"
fi
@@ -56,7 +56,7 @@
scratch_dir="${1}"
dst_dir="${2}"
kernel_artifact="${3}"
- goldfish_bid="${4}"
+ do_fetch_modules="${4}"
pushd "${scratch_dir}"
@@ -64,7 +64,7 @@
mv "${kernel_artifact}" "${dst_dir}/kernel-qemu2"
fi
- if [[ "${goldfish_bid}" -ne 0 ]]; then
+ if [[ "${do_fetch_modules}" -ne 0 ]]; then
rm -rf "${dst_dir}/ko-new"
rm -rf "${dst_dir}/ko-old"
mkdir "${dst_dir}/ko-new"
@@ -77,36 +77,73 @@
popd
}
+make_git_commit() {
+ x86_dst_dir="${1}"
+ arm_dst_dir="${2}"
+
+ git add "${x86_dst_dir}"
+ git add "${arm_dst_dir}"
+
+ git commit -a -m "$(
+ echo Update kernel prebuilts to ${FLAGS_branch}/${FLAGS_bid}
+ echo
+ echo kernel: ${FLAGS_kernel}
+ echo update: ${FLAGS_update}
+ echo
+ echo Test: TreeHugger
+ echo Bug: ${FLAGS_bug}
+ )"
+
+ git commit --amend -s
+}
+
main() {
fail=0
if [[ "${FLAGS_bug}" -eq 0 ]]; then
- echo Must specify --bug 1>&2
+ echo "Must specify --bug" 1>&2
fail=1
fi
- kernel_bid="0"
- kernel_branch="empty"
- case "${FLAGS_kernel}" in
- common)
- if [[ "${FLAGS_common_bid}" -eq 0 ]]; then
- echo Must specify --common_bid 1>&2
- fail=1
- else
- kernel_bid=${FLAGS_common_bid}
- kernel_branch=${FLAGS_common_branch}
- fi
+ if [[ "${FLAGS_bid}" -eq 0 ]]; then
+ echo "Must specify --bid" 1>&2
+ fail=1
+ fi
+
+ do_fetch_kernel=0
+ do_fetch_modules=0
+ case "${FLAGS_update}" in
+ both)
+ do_fetch_kernel=1
+ do_fetch_modules=1
;;
- goldfish)
- if [[ "${FLAGS_goldfish_bid}" -eq 0 ]]; then
- echo Must specify --goldfish_bid 1>&2
- fail=1
- else
- kernel_bid=${FLAGS_goldfish_bid}
- kernel_branch=${FLAGS_goldfish_branch}
- fi
+ kernel)
+ do_fetch_kernel=1
+ ;;
+ modules)
+ do_fetch_modules=1
;;
*)
+ echo "Unexpected value for --update, '${FLAGS_update}'" 1>&2
+ fail=1
+ ;;
+ esac
+
+ kernel_target_x86=""
+ kernel_target_aarch=""
+ case "${FLAGS_kernel}" in
+ common)
+ kernel_target_x86="kernel_x86_64"
+ kernel_target_aarch="kernel_aarch64"
+ ;;
+ goldfish)
+ echo "WARNING: goldfish kernel is not recommended"
+ kernel_target_x86="kernel_gf_x86_64"
+ kernel_target_aarch="kernel_gf_aarch64"
+ ;;
+ *)
+ echo "Unexpected value for --kernel, '${FLAGS_kernel}'" 1>&2
+ fail=1
;;
esac
@@ -123,43 +160,21 @@
arm_scratch_dir="${scratch_dir}/arm"
fetch_arch "${x86_scratch_dir}" \
- "${kernel_bid}" "${kernel_branch}" \
- "${FLAGS_goldfish_bid}" "${FLAGS_goldfish_branch}" \
- "kernel_x86_64" "bzImage"
+ "${FLAGS_branch}" "${FLAGS_bid}" \
+ "${do_fetch_kernel}" ${do_fetch_modules} \
+ "${kernel_target_x86}" "bzImage" \
+ "kernel_gf_x86_64"
-# fetch_arch "${arm_scratch_dir}" \
-# "${kernel_bid}" "${kernel_branch}" \
-# "${FLAGS_goldfish_bid}" "${FLAGS_goldfish_branch}" \
-# "kernel_aarch64" "Image.gz"
+ fetch_arch "${arm_scratch_dir}" \
+ "${FLAGS_branch}" "${FLAGS_bid}" \
+ "${do_fetch_kernel}" ${do_fetch_modules} \
+ "${kernel_target_aarch}" "Image.gz" \
+ "kernel_gf_aarch64"
- move_artifacts "${x86_scratch_dir}" "${x86_dst_dir}" "bzImage" "${FLAGS_goldfish_bid}"
-# move_artifacts "${arm_scratch_dir}" "${arm_dst_dir}" "Image.gz" "${FLAGS_goldfish_bid}"
+ move_artifacts "${x86_scratch_dir}" "${x86_dst_dir}" "bzImage" "${do_fetch_modules}"
+ move_artifacts "${arm_scratch_dir}" "${arm_dst_dir}" "Image.gz" "${do_fetch_modules}"
- git add "${x86_dst_dir}"
-# git add "${arm_dst_dir}"
-
- if [[ "${FLAGS_goldfish_bid}" -ne 0 ]]; then
- git commit -a -m "$(
- echo Update kernel modules to ${FLAGS_goldfish_bid}
- echo
- echo kernel: ${kernel_branch}/${kernel_bid}
- echo modules: $FLAGS_goldfish_branch/$FLAGS_goldfish_bid
- echo
- echo Test: TreeHugger
- echo "Bug: ${FLAGS_bug}"
- )"
- else
- git commit -a -m "$(
- echo Update kernel to ${kernel_bid}
- echo
- echo kernel: ${kernel_branch}/${kernel_bid}
- echo
- echo Test: TreeHugger
- echo "Bug: ${FLAGS_bug}"
- )"
- fi
-
- git commit --amend -s
+ make_git_commit "${x86_dst_dir}" "${arm_dst_dir}"
}
gbash::main "$@"