#!/usr/bin/env bash
# bump dist-kernels
# (c) 2022-2024 Michał Górny <mgorny@gentoo.org>
# SPDX-License-Identifier: GPL-2.0-or-later

set -x -e

scriptdir=${BASH_SOURCE%/*}
cd "$(git rev-parse --show-toplevel)"

while [[ ${#} -gt 0 ]]; do
	old=${1}
	new=${2}
	[[ ${old} && ${new} ]]

	for pkg in {vanilla,gentoo}-kernel; do
		(
			cd sys-kernel/${pkg}
			match=( *${pkg}-${old}*.ebuild )
			newk=${pkg}-${new}.ebuild
			cp "${match[-1]}" "${newk}"
			ekeyword ~all "${newk}"
			"${scriptdir}"/copybump "${newk}"
			sed -i -e "s:^\(SHA256SUM_DATE=\).*:\1$(date +%Y%m%d):" "${newk}"
			${EDITOR:-vim} "${newk}"
			GENTOO_MIRRORS= ebuild "${newk}" manifest

			# do verify-sig & test patching
			USE="experimental verify-sig" ebuild "${newk}" prepare
			ebuild "${newk}" clean

			git add Manifest "${newk}"
			"${scriptdir}"/pkgcommit -sS . -m "Bump to ${new}"
		)
	done

	(
		cd virtual/dist-kernel
		cp dist-kernel-{${old},${new}}.ebuild
		ekeyword ~all dist-kernel-${new}.ebuild
		"${scriptdir}"/copybump dist-kernel-${new}.ebuild
		git add dist-kernel-${new}.ebuild
		"${scriptdir}"/pkgcommit -sS . -m "Bump to ${new}"
	)

	shift 2
done

git diff origin > ${BINPKG_DOCKER:-~/git/binpkg-docker}/local.diff
