summaryrefslogtreecommitdiff
path: root/sys-kernel/installkernel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel/installkernel')
-rw-r--r--sys-kernel/installkernel/Manifest6
-rw-r--r--sys-kernel/installkernel/installkernel-23.ebuild (renamed from sys-kernel/installkernel/installkernel-19.ebuild)56
-rw-r--r--sys-kernel/installkernel/metadata.xml3
3 files changed, 48 insertions, 17 deletions
diff --git a/sys-kernel/installkernel/Manifest b/sys-kernel/installkernel/Manifest
index 69d8d5d5bdcf..6e44c3502403 100644
--- a/sys-kernel/installkernel/Manifest
+++ b/sys-kernel/installkernel/Manifest
@@ -1,5 +1,5 @@
DIST installkernel-12.tar.gz 4385 BLAKE2B 2f55442d76020cfcd42fb83f14ff1f517dcbbd102c338e84f092d56ba513c02644401b3b75ee7c45c8e763eb0e27225bbfe6576bc4e34841694076d935328c9a SHA512 b5620bf7a36081da929645d112a9160f89f1de09c00d3b6093efbe57d8ff1a5ebcd0b65e68491d225f61b7732bce8f76ff8baecd24969715f40dc818e4302de2
-DIST installkernel-19.tar.gz 13966 BLAKE2B cee0ab63ababae533ad51e6bfe217e65cf8e01213e51f79738cf34a09cb4f12a89cbc63480e1e85f29396a51408ca4bcebaeec6759993e7d800b35f84c6087e2 SHA512 a004727a7e54efc7a5925410005255cf963c81b839e872576f70f739e26c265fa8baa4e08895fbbc3d2c1a56742cfcbb8cdf971169ddf69e8a6f70a11acbe9b0
+DIST installkernel-23.tar.gz 14290 BLAKE2B 4384277d07ce0328c7f72c33dc3e08424b356a462609ad543c6ee556d6f7688ac8d819524067e6cf0fe5b3dc9d374f55395dfdb2a356e9e218b40650c74b06ef SHA512 508d95dadc34e813f3d05389ebfeaf78b921480b1e400ae7d9cb724307551acf4b9c6f2ca8d1f714b973295aaa3a5db5512859a480dac507665e883b582a4963
EBUILD installkernel-12.ebuild 1490 BLAKE2B 88956c7ff428beaf980b47d567fc1baaaee6dfbba3139e3a5b3d178d9119fef8d712862ee07933b8132d00b406419fcd873eb698a22cbe7329675788488db7d7 SHA512 78d9f9958c56bb47902d8cb894bbc9574c96fb2d986b00cb6b7bbe20b2db58db7c41a53f33794b98726870bac9a1b2c4a381bc4609288dcc0a05b87102aaac7d
-EBUILD installkernel-19.ebuild 3280 BLAKE2B 7041829f6743cfe02d8e75e7c14336fd8e6105a00b319b8ad0ed20212405fe840c02cb623e89ebf4ee0326a022d6483f4ef7d079bf9e74367dceafceb6b17b4f SHA512 5a848c3e6755689c8af8b1a2611d795039aa5ed9bdf32fee3bd23fc545755485702523128e551dc873c10472aa0ecfad54ff2f929fe2d6a7c76ee1cd9ce8c99e
-MISC metadata.xml 861 BLAKE2B b5526c0440f51568a5afd3f5c8f8d862b29713d5c8b20fbb3388cadf1bd48bf1897fa7e5c2561ad589a97eac5df7f0c6aa8f38a71226c34b422e70ec81b32a8b SHA512 128b33f9aa08247e1733640449b5ae89be093473d78464d1eea9280e2cfaf22d0b91450660590f2ee6dec8c9987f7b9bf4520ad6492f1feabc89eee308d46061
+EBUILD installkernel-23.ebuild 4468 BLAKE2B bf29ce2134eb1f85216fd4ccee7efce80ad2aa754fa6a4f2826120f887c9cfb22a90f790a01e188c73ea33f4137638b4fd424718e112bed7549add0407bb9ed3 SHA512 aa616f4426c54590812fb11c757444d8d6b73119724c9cbe5d8962241490a3031916fafeb3f95d991a6703d01740a9c6ac9733640f0ea08b5bc882930ba8c931
+MISC metadata.xml 939 BLAKE2B fd8d6a7c19c2a5f6f11e60cdf0a5b9e98f140d80bbab835f5350ac6fb87e786fa5a93e3157e9affd45f381d4eb20c454775d703c8bdf82d2a6161e2ca2420ef9 SHA512 9d1b025cf8c5c0875015e0e9b3cadbec2ab3770aa76c8792adb8b16037dbcdcf3cb75d23d0dcaad7a932138bbdb524c266c1bf1cab09df9541a1acac45d7ca82
diff --git a/sys-kernel/installkernel/installkernel-19.ebuild b/sys-kernel/installkernel/installkernel-23.ebuild
index abbc9f75bb73..333ea4b45568 100644
--- a/sys-kernel/installkernel/installkernel-19.ebuild
+++ b/sys-kernel/installkernel/installkernel-23.ebuild
@@ -15,11 +15,11 @@ 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 systemd uki ukify"
+IUSE="dracut grub systemd systemd-boot uki ukify"
+REQUIRED_USE="systemd-boot? ( systemd )"
RDEPEND="
!<=sys-kernel/installkernel-systemd-3
- >=sys-apps/debianutils-4.9-r1
dracut? ( >=sys-kernel/dracut-060_pre20240104 )
grub? ( sys-boot/grub )
systemd? (
@@ -28,6 +28,12 @@ RDEPEND="
sys-apps/systemd-utils[kernel-install(-)]
)
)
+ systemd-boot? (
+ || (
+ sys-apps/systemd[boot(-)]
+ sys-apps/systemd-utils[boot(-)]
+ )
+ )
ukify? (
|| (
sys-apps/systemd[ukify(-)]
@@ -59,7 +65,8 @@ src_install() {
exeinto /usr/lib/kernel/install.d
doexe hooks/systemd/00-00machineid-directory.install
doexe hooks/systemd/10-copy-prebuilt.install
- use grub && doexe hooks/systemd/91-grub-mkconfig.install
+ doexe hooks/systemd/90-compat.install
+ doexe hooks/systemd/91-grub-mkconfig.install
if use systemd; then
sed -e 's/${SYSTEMD_KERNEL_INSTALL:=0}/${SYSTEMD_KERNEL_INSTALL:=1}/g' -i installkernel ||
@@ -71,10 +78,12 @@ src_install() {
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=bls" >> "${T}/install.conf" || die
+ echo "layout=compat" >> "${T}/install.conf" || die
fi
if use dracut; then
@@ -105,13 +114,34 @@ src_install() {
}
pkg_postinst() {
- 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"
+ # 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
}
diff --git a/sys-kernel/installkernel/metadata.xml b/sys-kernel/installkernel/metadata.xml
index 65393ba6a433..6fffd1cc0b32 100644
--- a/sys-kernel/installkernel/metadata.xml
+++ b/sys-kernel/installkernel/metadata.xml
@@ -8,7 +8,8 @@
<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="systemd">Use systemd's kernel-install to install kernels</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>
</use>