summaryrefslogtreecommitdiff
path: root/sys-kernel/installkernel
diff options
context:
space:
mode:
authorLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-14 18:59:50 +0000
committerLiguros - Gitlab CI/CD [develop] <gitlab@liguros.net>2025-05-14 18:59:50 +0000
commit00278f6cc9e8280380a376f72ec209c3efc960a4 (patch)
treefb64e4ad90415827deb50f7ddc78db6898c1a100 /sys-kernel/installkernel
parentf8809af2354fe27fa3c1df0e9716fa59d12dca19 (diff)
downloadbaldeagleos-repo-00278f6cc9e8280380a376f72ec209c3efc960a4.tar.gz
baldeagleos-repo-00278f6cc9e8280380a376f72ec209c3efc960a4.tar.xz
baldeagleos-repo-00278f6cc9e8280380a376f72ec209c3efc960a4.zip
Adding metadata
Diffstat (limited to 'sys-kernel/installkernel')
-rw-r--r--sys-kernel/installkernel/Manifest3
-rw-r--r--sys-kernel/installkernel/installkernel-56.ebuild236
-rw-r--r--sys-kernel/installkernel/installkernel-57.ebuild236
-rw-r--r--sys-kernel/installkernel/installkernel-59-r1.ebuild (renamed from sys-kernel/installkernel/installkernel-55.ebuild)4
-rw-r--r--sys-kernel/installkernel/installkernel-59.ebuild236
5 files changed, 2 insertions, 713 deletions
diff --git a/sys-kernel/installkernel/Manifest b/sys-kernel/installkernel/Manifest
index 4c6e3ee822ea..e40943aa3694 100644
--- a/sys-kernel/installkernel/Manifest
+++ b/sys-kernel/installkernel/Manifest
@@ -1,5 +1,2 @@
DIST installkernel-50.tar.gz 25265 BLAKE2B 12fe64bc584d7ead4a24a7d81b83c69fb0aad21fb0f88195e5608519ade5dbf9e6009b6b6d0f81190b96cf170b6b5e7f220522bded20d99fa95b3fe65e8476a6 SHA512 fb780d7e0c724e93c2c0a0f43fc17a95862a55733ad76df43daab3ce09f4d06e2c357a0bac0decd821c9c36dbda846cf89f8cc60d721f0cb32b39f336da2c72c
-DIST installkernel-55.tar.gz 28690 BLAKE2B 261a9dfebb5cc40e5e493c1bc23dd85a4c4768ed8f80620c6f50923fcaa34da8fcc193ddb3e49788a1431327336edb85347fec382d105e5fcf79a4102921519b SHA512 27bde846acec0437de8acb6509dd624dcbea938a6151be527f2edf45583023e84a9a6a3ac442523d21cc6ba9f4a856f45241c2a0ada2da42562f943da754ca05
-DIST installkernel-56.tar.gz 29914 BLAKE2B 98a3a15ad244a9c222a53cf58e0b97c6aaa5a0880a5d437000ec4c78892e0c2eb83324c8e429ab97cfecbe6b665703e655191cf9bf1e09f8d71362e6627caf26 SHA512 93dcc11593b0cb10697b99de1d338bfd91d91fdb7dbd735babc1e4c0e96fb2198cf88a64bf1eacdd4d70a038a8023b3955026f4781270153c360dbee23c0385f
-DIST installkernel-57.tar.gz 29957 BLAKE2B c38219263a87edaa6f5d41d40214da942597255dadbc4940a84fad19067ac65e084dc653429ba9574bc13093429cac0207fb35840a4fe3b9e9df9da157833e3d SHA512 63be420a066866933b04de42fe5a033820a91ff41baa1241018f831a57c3f0a1b8010f0a7e8c7fd7b87058811c06f70b2fe08c9fc0b0e02908fb0d4f6f3f202c
DIST installkernel-59.tar.gz 30039 BLAKE2B 8af0a0847f6828042e703ee5f95fae33107c8bdad949dc695223ce76c0e21e29b48d8c718ef946b1f2499a38822ca7927d965f773c3810f50398971fcda897d9 SHA512 e3b1684ee8cfef48e27b2992108f6cfc1cbc8ab35c4b18503162ce9f18f9ee0b1d07b7a8a9236e102ae5e7f231ee95e6dae1dcee3d4e9a1dd6c38ab5f52ae4bc
diff --git a/sys-kernel/installkernel/installkernel-56.ebuild b/sys-kernel/installkernel/installkernel-56.ebuild
deleted file mode 100644
index 76e844e55163..000000000000
--- a/sys-kernel/installkernel/installkernel-56.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit eapi9-ver 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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="dracut efistub grub refind systemd systemd-boot ugrd uki ukify"
-REQUIRED_USE="
- systemd-boot? ( systemd )
- ukify? ( uki )
- ?? ( dracut ugrd )
-"
-# 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
- dracut? (
- >=sys-kernel/dracut-106
- uki? (
- || (
- sys-apps/systemd[boot(-)]
- sys-apps/systemd-utils[boot(-)]
- )
- )
- )
- efistub? (
- systemd? ( >=app-emulation/virt-firmware-24.7 )
- !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(-)]
- )
- )
- ugrd? ( >=sys-kernel/ugrd-1.31.2 )
- !=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/install.d
- keepdir /etc/kernel/preinst.d
- keepdir /etc/kernel/postinst.d
- keepdir /usr/lib/kernel/install.d
- keepdir /usr/lib/kernel/preinst.d
- keepdir /usr/lib/kernel/postinst.d
-
- exeinto /usr/lib/kernel/preinst.d
- doexe hooks/99-check-diskspace.install
- use dracut && doexe hooks/50-dracut.install
- use ukify && doexe hooks/60-ukify.install
-
- exeinto /usr/lib/kernel/postinst.d
- doexe hooks/99-write-log.install
- 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/85-check-diskspace.install
- doexe hooks/systemd/90-compat.install
- doexe hooks/systemd/90-zz-update-static.install
- doexe hooks/systemd/99-write-log.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 grub && use uki; then
- exeinto /etc/grub.d
- doexe grub/05_uki
- fi
-
- 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
- elif use ugrd; then
- echo "initrd_generator=ugrd" >> "${T}/install.conf" || die
- 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"
-
- insinto /etc/logrotate.d
- newins installkernel.logrotate installkernel
- keepdir /var/lib/misc
-
- into /
- dosbin installkernel
- doman installkernel.8
-
- einstalldocs
-}
-
-pkg_postinst() {
- # show only when upgrading to 14+
- if ver_replacing -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_replacing -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
-
- # Initialize log file if there is none
- dodir /var/log
- local log=${ROOT}/var/log/installkernel.log
- if [[ ! -s ${log} ]]; then
- echo -e \
-"DATE\t"\
-"KI_VENDOR\t"\
-"VERSION\t"\
-"CONF_ROOT\t"\
-"LAYOUT\t"\
-"INITRD_GEN\t"\
-"UKI_GEN\t"\
-"BOOT_ROOT\t"\
-"KERNEL_REL_PATH\t"\
-"INITRD_REL_PATH\t"\
-"PLUGIN_OVERRIDE\t"\
->> "${log}" || die
- fi
-}
diff --git a/sys-kernel/installkernel/installkernel-57.ebuild b/sys-kernel/installkernel/installkernel-57.ebuild
deleted file mode 100644
index 76e844e55163..000000000000
--- a/sys-kernel/installkernel/installkernel-57.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit eapi9-ver 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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="dracut efistub grub refind systemd systemd-boot ugrd uki ukify"
-REQUIRED_USE="
- systemd-boot? ( systemd )
- ukify? ( uki )
- ?? ( dracut ugrd )
-"
-# 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
- dracut? (
- >=sys-kernel/dracut-106
- uki? (
- || (
- sys-apps/systemd[boot(-)]
- sys-apps/systemd-utils[boot(-)]
- )
- )
- )
- efistub? (
- systemd? ( >=app-emulation/virt-firmware-24.7 )
- !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(-)]
- )
- )
- ugrd? ( >=sys-kernel/ugrd-1.31.2 )
- !=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/install.d
- keepdir /etc/kernel/preinst.d
- keepdir /etc/kernel/postinst.d
- keepdir /usr/lib/kernel/install.d
- keepdir /usr/lib/kernel/preinst.d
- keepdir /usr/lib/kernel/postinst.d
-
- exeinto /usr/lib/kernel/preinst.d
- doexe hooks/99-check-diskspace.install
- use dracut && doexe hooks/50-dracut.install
- use ukify && doexe hooks/60-ukify.install
-
- exeinto /usr/lib/kernel/postinst.d
- doexe hooks/99-write-log.install
- 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/85-check-diskspace.install
- doexe hooks/systemd/90-compat.install
- doexe hooks/systemd/90-zz-update-static.install
- doexe hooks/systemd/99-write-log.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 grub && use uki; then
- exeinto /etc/grub.d
- doexe grub/05_uki
- fi
-
- 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
- elif use ugrd; then
- echo "initrd_generator=ugrd" >> "${T}/install.conf" || die
- 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"
-
- insinto /etc/logrotate.d
- newins installkernel.logrotate installkernel
- keepdir /var/lib/misc
-
- into /
- dosbin installkernel
- doman installkernel.8
-
- einstalldocs
-}
-
-pkg_postinst() {
- # show only when upgrading to 14+
- if ver_replacing -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_replacing -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
-
- # Initialize log file if there is none
- dodir /var/log
- local log=${ROOT}/var/log/installkernel.log
- if [[ ! -s ${log} ]]; then
- echo -e \
-"DATE\t"\
-"KI_VENDOR\t"\
-"VERSION\t"\
-"CONF_ROOT\t"\
-"LAYOUT\t"\
-"INITRD_GEN\t"\
-"UKI_GEN\t"\
-"BOOT_ROOT\t"\
-"KERNEL_REL_PATH\t"\
-"INITRD_REL_PATH\t"\
-"PLUGIN_OVERRIDE\t"\
->> "${log}" || die
- fi
-}
diff --git a/sys-kernel/installkernel/installkernel-55.ebuild b/sys-kernel/installkernel/installkernel-59-r1.ebuild
index 76e844e55163..153d11072326 100644
--- a/sys-kernel/installkernel/installkernel-55.ebuild
+++ b/sys-kernel/installkernel/installkernel-59-r1.ebuild
@@ -53,8 +53,8 @@ RDEPEND="
refind? ( sys-boot/refind )
systemd? (
|| (
- sys-apps/systemd[kernel-install(-)]
- sys-apps/systemd-utils[kernel-install(-)]
+ >=sys-apps/systemd-255[kernel-install(-)]
+ >=sys-apps/systemd-utils-255[kernel-install(-)]
)
)
systemd-boot? (
diff --git a/sys-kernel/installkernel/installkernel-59.ebuild b/sys-kernel/installkernel/installkernel-59.ebuild
deleted file mode 100644
index 76e844e55163..000000000000
--- a/sys-kernel/installkernel/installkernel-59.ebuild
+++ /dev/null
@@ -1,236 +0,0 @@
-# Copyright 2019-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit eapi9-ver 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 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="dracut efistub grub refind systemd systemd-boot ugrd uki ukify"
-REQUIRED_USE="
- systemd-boot? ( systemd )
- ukify? ( uki )
- ?? ( dracut ugrd )
-"
-# 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
- dracut? (
- >=sys-kernel/dracut-106
- uki? (
- || (
- sys-apps/systemd[boot(-)]
- sys-apps/systemd-utils[boot(-)]
- )
- )
- )
- efistub? (
- systemd? ( >=app-emulation/virt-firmware-24.7 )
- !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(-)]
- )
- )
- ugrd? ( >=sys-kernel/ugrd-1.31.2 )
- !=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/install.d
- keepdir /etc/kernel/preinst.d
- keepdir /etc/kernel/postinst.d
- keepdir /usr/lib/kernel/install.d
- keepdir /usr/lib/kernel/preinst.d
- keepdir /usr/lib/kernel/postinst.d
-
- exeinto /usr/lib/kernel/preinst.d
- doexe hooks/99-check-diskspace.install
- use dracut && doexe hooks/50-dracut.install
- use ukify && doexe hooks/60-ukify.install
-
- exeinto /usr/lib/kernel/postinst.d
- doexe hooks/99-write-log.install
- 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/85-check-diskspace.install
- doexe hooks/systemd/90-compat.install
- doexe hooks/systemd/90-zz-update-static.install
- doexe hooks/systemd/99-write-log.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 grub && use uki; then
- exeinto /etc/grub.d
- doexe grub/05_uki
- fi
-
- 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
- elif use ugrd; then
- echo "initrd_generator=ugrd" >> "${T}/install.conf" || die
- 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"
-
- insinto /etc/logrotate.d
- newins installkernel.logrotate installkernel
- keepdir /var/lib/misc
-
- into /
- dosbin installkernel
- doman installkernel.8
-
- einstalldocs
-}
-
-pkg_postinst() {
- # show only when upgrading to 14+
- if ver_replacing -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_replacing -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
-
- # Initialize log file if there is none
- dodir /var/log
- local log=${ROOT}/var/log/installkernel.log
- if [[ ! -s ${log} ]]; then
- echo -e \
-"DATE\t"\
-"KI_VENDOR\t"\
-"VERSION\t"\
-"CONF_ROOT\t"\
-"LAYOUT\t"\
-"INITRD_GEN\t"\
-"UKI_GEN\t"\
-"BOOT_ROOT\t"\
-"KERNEL_REL_PATH\t"\
-"INITRD_REL_PATH\t"\
-"PLUGIN_OVERRIDE\t"\
->> "${log}" || die
- fi
-}