summaryrefslogtreecommitdiff
path: root/sys-kernel/installkernel
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-07-04 08:06:08 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-07-04 08:06:08 +0100
commit2a8d2f71d1d9963368e0ef3d641d75979a689d12 (patch)
tree83e283f960ab2ebbc1a042b8ed6c37b78d47b37b /sys-kernel/installkernel
parent8435c842b9e8fbb2bcc80397ab3aa655000459e2 (diff)
gentoo auto-resync : 04:07:2024 - 08:06:07
Diffstat (limited to 'sys-kernel/installkernel')
-rw-r--r--sys-kernel/installkernel/Manifest4
-rw-r--r--sys-kernel/installkernel/installkernel-39-r1.ebuild (renamed from sys-kernel/installkernel/installkernel-38.ebuild)20
-rw-r--r--sys-kernel/installkernel/installkernel-39.ebuild186
3 files changed, 20 insertions, 190 deletions
diff --git a/sys-kernel/installkernel/Manifest b/sys-kernel/installkernel/Manifest
index 2a049227b52a..0d23a8d628a0 100644
--- a/sys-kernel/installkernel/Manifest
+++ b/sys-kernel/installkernel/Manifest
@@ -1,5 +1,3 @@
-DIST installkernel-38.tar.gz 20987 BLAKE2B 64937dad646b4736555bd9cdeb575d37fb40764a97ba0429136172b268429d05c4df8317862fb8004538f0a3e6bba953123a30cd89fe67812a6624ff2d57b5c6 SHA512 2f6576bc04be7dd22a3c47460caa7b2da526ad7239cd99766756a03e74299d7d980a3cab2951713d7313af32fa58d1cb95d121617b091cfe9eac18d77c347c39
DIST installkernel-39.tar.gz 21689 BLAKE2B 22c76e735fb9849ff2b2daf44d428568435495251960e0f518ab12167d57c31bba670738fd51c4d564f95adcfcbf60b5324d048a1f6bd7ebf9d1b5258f0371b3 SHA512 5a5d2035fa737ede3aa9e668ac18d1777f77f15a38fb685e3e488cc06ef5da99d55789e8e5770e056025f224ff5a5ec57e75fa08cf6f3ec3a0b9dabdfe6fefaa
-EBUILD installkernel-38.ebuild 5629 BLAKE2B cd8b29af60d66d0cc1013974281f5c70feb08ab0425c0d4356090c5ba3183a66d7789a05278560a54b7a297ce4a16f76f24c145acd986e494168d8f29b7adf87 SHA512 95a2cc4b5f45717f7e8912cba7a2693f30dfae972ea60f7a81a346c30a77e01eb7212e4bb3d8616ae2e0b84a8b18597e7d87407f920d1568350022e9d17b2af9
-EBUILD installkernel-39.ebuild 5637 BLAKE2B cf4ab530b6f57ab0fadf0d85ab4ddd349e6f3c9aa00bef165677da0d6c4b3460ccf34dcc557d5713444966dfe2bcda26e7bc4f4a05e77f56404b0eb8c90a7e0a SHA512 9fbff26240bd8e6fcca3c9456c786e8ab4f3fee697ba23ea91720d46f27b3807da370ed9aa1b7b855e18436ec6059b6411a8672c6f2afaddefc6123504503d88
+EBUILD installkernel-39-r1.ebuild 6475 BLAKE2B e1261d4613c563f621681ca99de1a3f4ffdf95f4fc42ed105241e4ec31d4b037e1ea151c64597be82ef03db94671583a3ca9458e456a169289f570ed22bc10af SHA512 1748b2a2f824ca6fe996e99eaa177b66b152375932d00c26d90f53a1b71e1bfc70ae98ebf47076fde1ce8f87dd3c1b3d9b9f35dc4d873c737b697073b121d4ba
MISC metadata.xml 1288 BLAKE2B a80d5022072c362c1787723b7222638f01993675f5c3bbc87962d998497dcd1673664ef4802cb8b3bce7ad81825521be1747c00f6ef5f5e1c9e2d976b09c8d85 SHA512 d51a5b1c5977049a9a499c2f7edcd95ea5e2b47c4fb49fa76d3df9839b2ad7652bbfff41fae823da3b86a52f2b9cb120759a15e5e9967e7b1148ea3bc92ed793
diff --git a/sys-kernel/installkernel/installkernel-38.ebuild b/sys-kernel/installkernel/installkernel-39-r1.ebuild
index 60f6910aa12c..719dc80ce7be 100644
--- a/sys-kernel/installkernel/installkernel-38.ebuild
+++ b/sys-kernel/installkernel/installkernel-39-r1.ebuild
@@ -19,10 +19,28 @@ SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x86-linux"
IUSE="dracut efistub grub refind systemd systemd-boot uki ukify"
REQUIRED_USE="
+ ?? ( efistub grub systemd-boot )
+ refind? ( !systemd-boot !grub )
systemd-boot? ( systemd )
ukify? ( uki )
- ?? ( efistub grub refind systemd-boot )
"
+# Only select one flag that sets "layout=", except for uki since grub,
+# systemd-boot, and efistub booting are all compatible with UKIs and
+# the uki layout.
+#
+# Refind does not set a layout=, it is compatible with the compat, uki
+# and efistub layout. So block against only grub and systemd-boot.
+#
+# systemd-boot could be made to work without the systemd flag, but this
+# makes no sense since in systemd(-utils) the boot flag already
+# requires the kernel-install flag.
+#
+# Ukify hooks do nothing if the layout is not uki, so force this here.
+#
+# Only one initramfs generator flag can be selected. Note that while
+# both dracut and ukify are UKI generators we don't block those because
+# enabling both results in building an initramfs only with dracut and
+# building an UKI with ukify, which is a valid configuration.
RDEPEND="
!<=sys-kernel/installkernel-systemd-3
diff --git a/sys-kernel/installkernel/installkernel-39.ebuild b/sys-kernel/installkernel/installkernel-39.ebuild
deleted file mode 100644
index 293828ee0c57..000000000000
--- a/sys-kernel/installkernel/installkernel-39.ebuild
+++ /dev/null
@@ -1,186 +0,0 @@
-# Copyright 2019-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit linux-info
-
-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 efistub grub refind systemd systemd-boot uki ukify"
-REQUIRED_USE="
- systemd-boot? ( systemd )
- ukify? ( uki )
- ?? ( efistub grub refind systemd-boot )
-"
-
-RDEPEND="
- !<=sys-kernel/installkernel-systemd-3
- dracut? (
- >=sys-kernel/dracut-060_pre20240104-r4
- uki? (
- || (
- sys-apps/systemd[boot(-)]
- sys-apps/systemd-utils[boot(-)]
- )
- )
- )
- efistub? (
- systemd? ( >=app-emulation/virt-firmware-24.2_p20240315-r2 )
- !systemd? ( sys-boot/uefi-mkconfig )
- )
- 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[boot(-),ukify(-)]
- sys-apps/systemd-utils[boot(-),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
-
-pkg_setup() {
- use efistub && CONFIG_CHECK="EFI_STUB" linux-info_pkg_setup
-}
-
-src_install() {
- keepdir /etc/kernel/postinst.d
- keepdir /etc/kernel/preinst.d
-
- exeinto /usr/lib/kernel/preinst.d
- use dracut && doexe hooks/50-dracut.install
- use ukify && doexe hooks/60-ukify.install
-
- exeinto /usr/lib/kernel/postinst.d
- use grub && doexe hooks/91-grub-mkconfig.install
- use efistub && doexe hooks/95-efistub-uefi-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 efistub && doexe hooks/systemd/95-efistub-kernel-bootcfg.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 efistub; then
- echo "layout=efistub" >> "${T}/install.conf" || die
- elif use grub; then
- echo "layout=grub" >> "${T}/install.conf" || die
- elif use systemd-boot; then
- echo "layout=bls" >> "${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
-
- if use efistub; then
- ewarn "Automated EFI Stub booting is highly experimental. UEFI implementations"
- ewarn "often differ between vendors and as a result EFI stub booting is not"
- ewarn "guaranteed to work for all UEFI systems. Ensure an alternative method"
- ewarn "of booting the system is available before rebooting."
- fi
-}