| #!/bin/bash |
| set -ex |
| set -o pipefail |
| |
| |
| function get_ebuild() { |
| ls -- lakitu-kernel-rt-*-r*.ebuild |
| } |
| |
| function get_revision() { |
| local ebuild; ebuild="$(ls -- lakitu-kernel-rt-*-r*.ebuild)" |
| local ebuild="${ebuild%.ebuild}" |
| local revision="${ebuild##*-r}" |
| echo "${revision}" |
| } |
| |
| PATCH_URL_BASE="https://cdn.kernel.org/pub/linux/kernel/projects/rt/6.1/" |
| |
| DIR="$(realpath "$(dirname "${BASH_SOURCE[0]}")")" |
| PATCH_NAME="$(curl -s "${PATCH_URL_BASE}" | grep patch.gz | sed 's/.*>\(.*\)<.*/\1/')" |
| PATCH_URL="${PATCH_URL_BASE}${PATCH_NAME}" |
| PATCH_VERSION="$(echo "${PATCH_NAME}" | sed 's/.*-\(.*\)-.*/\1/')" |
| GIT_HASH="$(git -C ${DIR}/../../../../third_party/kernel/v6.1/ show-ref -s upstream/v${PATCH_VERSION})" |
| EBUILD="$(get_ebuild)" |
| BASE_EBUILD="$(realpath "${EBUILD}")" |
| REV="$(get_revision)" |
| NEXT_REV=$((REV+1)) |
| for i in CROS_WORKON_COMMIT CROS_WORKON_TREE; do |
| sed -i "s,${i}=.*,${i}=\"${GIT_HASH}\"," "${BASE_EBUILD}" |
| done |
| NEW_BASE_NAME="lakitu-kernel-rt-6_1-${PATCH_VERSION}" |
| mv "${BASE_EBUILD}" "${NEW_BASE_NAME}.ebuild" |
| rm "${EBUILD}" |
| ln -s "${NEW_BASE_NAME}.ebuild" "${NEW_BASE_NAME}-r${NEXT_REV}.ebuild" |
| |
| rm "${DIR}"/files/0000-*.patch |
| curl -s "${PATCH_URL}" > "${DIR}/files/0000-${PATCH_NAME}" |
| gunzip "${DIR}/files/0000-${PATCH_NAME}" |