#!/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}"