blob: bf59de5f84e431602a0319f7e540b7b597f5c4bf [file] [log] [blame]
#!/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/5.15/"
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/v5.15/ 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-5_15-${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}"