#!/usr/bin/env bash
# bump dist-kernels
# (c) 2022-2026 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_full=${1}
	new_full=${2}
	[[ ${old_full} && ${new_full} ]]
	
	for pkg in vanilla-kernel gentoo-kernel; do
		old=${old_full}
		new=${new_full}
		if [[ ${pkg} == vanilla-kernel ]]; then
			old=${old%_p*}
			new=${new%_p*}
		fi
		[[ ${old} == ${new} ]] && continue

		(
			cd sys-kernel/${pkg}
			oldk=${pkg}-${old}.ebuild
			newk=${pkg}-${new}.ebuild
			cp "${oldk}" "${newk}"
			ekeyword ~all "${newk}"
			"${scriptdir}"/copybump "${newk}"
			[[ ${old_full%_p*} != ${new_full%_p*} ]] &&
				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
