sys-kernel/installkernel: add 25

Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
This commit is contained in:
Andrew Ammerlaan
2024-02-09 13:44:45 +01:00
parent b2182a38c7
commit 1d01bdd9d2
3 changed files with 158 additions and 2 deletions

View File

@@ -1,2 +1,3 @@
DIST installkernel-12.tar.gz 4385 BLAKE2B 2f55442d76020cfcd42fb83f14ff1f517dcbbd102c338e84f092d56ba513c02644401b3b75ee7c45c8e763eb0e27225bbfe6576bc4e34841694076d935328c9a SHA512 b5620bf7a36081da929645d112a9160f89f1de09c00d3b6093efbe57d8ff1a5ebcd0b65e68491d225f61b7732bce8f76ff8baecd24969715f40dc818e4302de2
DIST installkernel-24.tar.gz 14290 BLAKE2B 0d33efdc2bdec854643e6938b7813d46cb8adb0f1ab87dc4daa869b25c75440db0e2f2d25dc340833122ef88d4ecbf7e0a4eaaf883da52f7888bf8d58e4c4d11 SHA512 cca717435af47f22a4d9d86743dcd05012246790a7dd7ae2dc9f18859362cf7f6c68e3e8b15d428e0aede136036491065ff9fc871ef93121cec1c838f6237c1a
DIST installkernel-25.tar.gz 18441 BLAKE2B 7237cf0bff5c82a55dddd968f612fdeb080496077ff8bf04f71645f7702d45183bdbdc4382e22d25a5697451cfbbc161745402278cb1a96b360935293f38a482 SHA512 c7ad6ef614edb805ba4da81d44190362fbe6ada6e507f6f0b8804d6bfc7bb260f0344db20c6032a2830502b278bae35a842d5c9ff2d85d57dfd01f66a3f5bb38

View File

@@ -0,0 +1,154 @@
# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Gentoo fork of installkernel script from debianutils"
HOMEPAGE="
https://github.com/projg2/installkernel-gentoo
https://wiki.gentoo.org/wiki/Installkernel
"
SRC_URI="https://github.com/projg2/installkernel-gentoo/archive/v${PV}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/${PN}-gentoo-${PV}"
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x86-linux"
IUSE="dracut grub refind systemd systemd-boot uki ukify"
REQUIRED_USE="systemd-boot? ( systemd )"
RDEPEND="
!<=sys-kernel/installkernel-systemd-3
dracut? ( >=sys-kernel/dracut-060_pre20240104-r1 )
grub? ( sys-boot/grub )
refind? ( sys-boot/refind )
systemd? (
|| (
sys-apps/systemd[kernel-install(-)]
sys-apps/systemd-utils[kernel-install(-)]
)
)
systemd-boot? (
|| (
sys-apps/systemd[boot(-)]
sys-apps/systemd-utils[boot(-)]
)
)
ukify? (
|| (
sys-apps/systemd[ukify(-)]
sys-apps/systemd-utils[ukify(-)]
)
)
!=sys-apps/systemd-255.2-r1
!=sys-apps/systemd-255.2-r0
!~sys-apps/systemd-255.1
!~sys-apps/systemd-255.0
!=sys-apps/systemd-254.8-r0
!=sys-apps/systemd-254.7-r0
!~sys-apps/systemd-254.6
!<=sys-apps/systemd-254.5-r1
" # Block against systemd that still installs dummy install.conf
src_install() {
keepdir /etc/kernel/postinst.d
keepdir /etc/kernel/preinst.d
exeinto /etc/kernel/preinst.d
use dracut && doexe hooks/50-dracut.install
use ukify && doexe hooks/60-ukify.install
exeinto /etc/kernel/postinst.d
use uki && doexe hooks/90-uki-copy.install
use grub && doexe hooks/91-grub-mkconfig.install
use refind && doexe hooks/95-refind-copy-icon.install
exeinto /usr/lib/kernel/install.d
doexe hooks/systemd/00-00machineid-directory.install
doexe hooks/systemd/10-copy-prebuilt.install
doexe hooks/systemd/90-compat.install
use grub && doexe hooks/systemd/91-grub-mkconfig.install
use refind && doexe hooks/systemd/95-refind-copy-icon.install
if use systemd; then
sed -e 's/${SYSTEMD_KERNEL_INSTALL:=0}/${SYSTEMD_KERNEL_INSTALL:=1}/g' -i installkernel ||
die "enabling systemd's kernel-install failed"
fi
# set some default config using the flags we have anyway
touch "${T}/install.conf" || die
echo "# This file is managed by ${CATEGORY}/${PN}" >> "${T}/install.conf" || die
if use uki; then
echo "layout=uki" >> "${T}/install.conf" || die
elif use systemd-boot; then
echo "layout=bls" >> "${T}/install.conf" || die
elif use grub; then
echo "layout=grub" >> "${T}/install.conf" || die
else
echo "layout=compat" >> "${T}/install.conf" || die
fi
if use dracut; then
echo "initrd_generator=dracut" >> "${T}/install.conf" || die
if ! use ukify; then
if use uki; then
echo "uki_generator=dracut" >> "${T}/install.conf" || die
else
echo "uki_generator=none" >> "${T}/install.conf" || die
fi
fi
else
echo "initrd_generator=none" >> "${T}/install.conf" || die
fi
if use ukify; then
echo "uki_generator=ukify" >> "${T}/install.conf" || die
else
if ! use dracut; then
echo "uki_generator=none" >> "${T}/install.conf" || die
fi
fi
insinto /usr/lib/kernel
doins "${T}/install.conf"
into /
dosbin installkernel
doman installkernel.8
einstalldocs
}
pkg_postinst() {
# show only when upgrading to 14+
if [[ -n "${REPLACING_VERSIONS}" ]] && ver_test "${REPLACING_VERSIONS}" -lt 14; then
elog "Version 14 and up of ${PN} effectively merges"
elog "${PN}-gentoo and ${PN}-systemd."
elog "Switching between the traditional installkernel and systemd's"
elog "kernel-install is controlled with the systemd USE flag or the"
elog "SYSTEMD_KERNEL_INSTALL environment variable."
elog
elog "See the installkernel wiki page[1] for more details."
elog
elog "[1]: https://wiki.gentoo.org/wiki/Installkernel"
elog
fi
# show only on first install of version 20+
if [[ -z "${REPLACING_VERSIONS}" ]] || ver_test "${REPLACING_VERSIONS}" -lt 20; then
if has_version "sys-boot/grub" && ! use grub; then
elog "sys-boot/grub is installed but the grub USE flag is not enabled."
elog "Users may want to enable this flag to automatically update the"
elog "bootloader configuration on each kernel install."
fi
if ( has_version "sys-apps/systemd[boot]" ||
has_version "sys-apps/systemd-utils[boot]" ) &&
! use systemd-boot; then
elog "systemd-boot is installed but the systemd-boot USE flag"
elog "is not enabled. Users should enable this flag to install kernels"
elog "in a layout that systemd-boot understands and to automatically"
elog "update systemd-boot's configuration on each kernel install."
fi
fi
}

View File

@@ -7,8 +7,9 @@
</maintainer>
<use>
<flag name="dracut">Generate an initrd or UKI on each kernel installation</flag>
<flag name="grub">Re-generate grub.cfg on each kernel installation</flag>
<flag name="systemd">Use systemd's kernel-install to install kernels</flag>
<flag name="grub">Re-generate grub.cfg on each kernel installation, used grub.cfg is overridable with GRUB_CFG env var</flag>
<flag name="refind">Install a Gentoo icon for rEFInd alongside the (unified) kernel image, used icon is overridable with REFIND_ICON env var</flag>
<flag name="systemd">Use systemd's kernel-install to install kernels, overridable with SYSTEMD_KERNEL_INSTALL env var</flag>
<flag name="systemd-boot">Use systemd-boot's native layout by default</flag>
<flag name="uki">Install UKIs to ESP/EFI/Linux for EFI stub booting and/or bootloaders with support for auto-discovering UKIs</flag>
<flag name="ukify">Build an UKI with systemd's ukify on each kernel installation</flag>