From d22bbbf6c588ba2bc319394bef564d4458cad5a6 Mon Sep 17 00:00:00 2001 From: Chirayu Desai Date: Tue, 11 Jan 2022 06:48:42 +0530 Subject: [PATCH] aosp-merger: Implement kernel merging Change-Id: I2dcc15ccf7d0a509880cd631435d1b8a1e07f5fb --- aosp-merger/aosp-merger.sh | 55 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/aosp-merger/aosp-merger.sh b/aosp-merger/aosp-merger.sh index 3411757..ffa6e4b 100755 --- a/aosp-merger/aosp-merger.sh +++ b/aosp-merger/aosp-merger.sh @@ -30,6 +30,7 @@ readonly vars_path="${script_path}/../../../vendor/lineage/vars" source "${vars_path}/common" source "${vars_path}/pixels" +source "${vars_path}/kernel_repos" TOP="${script_path}/../../.." @@ -83,6 +84,25 @@ push_device_merge() { "${script_path}"/push-merge.sh merge "${prev_aosp_tag}" "${aosp_tag}" } +merge_pixel_kernel() { + export STAGINGBRANCH="staging/${lineageos_branch}_merge-${kernel_tag}" + for repo in ${device_kernel_repos}; do + "${script_path}"/_merge_helper.sh "${repo}" merge "${prev_kernel_tag}" "${kernel_tag}" + done +} + +squash_pixel_kernel() { + "${script_path}"/squash.sh merge "${prev_kernel_tag}" "${kernel_tag}" +} + +upload_squash_kernel_to_review() { + "${script_path}"/upload-squash.sh merge "${prev_kernel_tag}" "${kernel_tag}" +} + +push_kernel_merge() { + "${script_path}"/push-merge.sh merge "${prev_kernel_tag}" "${kernel_tag}" +} + # error message # ARG1: error message for STDERR # ARG2: error status @@ -136,6 +156,30 @@ main() { squash_pixel_device upload_squash_device_to_review + unset MERGEDREPOS + ) + done + elif [ "${1}" = "kernels" ]; then + for kernel in ${kernel_repos[@]}; do + ( + source "${vars_path}/${kernel}" + + readonly manifest="${TOP}"/.repo/manifests/snippets/${kernel}.xml + readonly device_kernel_repos=$(grep "name=\"LineageOS/" "${manifest}" \ + | sed -n 's/.*path="\([^"]\+\)".*/\1/p') + + export MERGEDREPOS="${TOP}/merged_repos_${kernel}.txt" + # Remove any existing list of merged repos file + rm -f "${MERGEDREPOS}" + + merge_pixel_kernel + # Run this to print list of conflicting repos + cat "${MERGEDREPOS}" | grep -w conflict-merge || true + read -p "Waiting for conflict resolution before squashing. Press enter when done." + read -p "Once more, just to be safe" + squash_pixel_kernel + upload_squash_kernel_to_review + unset MERGEDREPOS ) done @@ -153,6 +197,17 @@ main() { push_device_merge + unset MERGEDREPOS + ) + done + elif [ "${1}" = "submit-kernels" ]; then + for kernel in ${kernel_repos[@]}; do + ( + source "${vars_path}/${kernel}" + export MERGEDREPOS="${TOP}/merged_repos_${kernel}.txt" + + push_kernel_merge + unset MERGEDREPOS ) done