From 7e8f29e487b79a183d66ca22f1e54dab5c47a409 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 9 Apr 2024 12:31:21 +0100 Subject: gentoo auto-resync : 09:04:2024 - 12:31:21 --- sys-kernel/Manifest.gz | Bin 4579 -> 4581 bytes sys-kernel/dracut/Manifest | 6 +- sys-kernel/dracut/dracut-101.ebuild | 151 ++++++++++++++++++ sys-kernel/dracut/dracut-9999.ebuild | 17 +- sys-kernel/dracut/metadata.xml | 2 +- sys-kernel/installkernel/Manifest | 4 +- sys-kernel/installkernel/installkernel-33.ebuild | 194 ----------------------- sys-kernel/installkernel/installkernel-34.ebuild | 190 ++++++++++++++++++++++ 8 files changed, 354 insertions(+), 210 deletions(-) create mode 100644 sys-kernel/dracut/dracut-101.ebuild delete mode 100644 sys-kernel/installkernel/installkernel-33.ebuild create mode 100644 sys-kernel/installkernel/installkernel-34.ebuild (limited to 'sys-kernel') diff --git a/sys-kernel/Manifest.gz b/sys-kernel/Manifest.gz index 43cb21646d4f..377166677152 100644 Binary files a/sys-kernel/Manifest.gz and b/sys-kernel/Manifest.gz differ diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest index 04a57a62afa1..f22f279bcc0a 100644 --- a/sys-kernel/dracut/Manifest +++ b/sys-kernel/dracut/Manifest @@ -14,8 +14,10 @@ AUX gentoo-network-r1.patch 1002 BLAKE2B 719ff76c315e29c2a40f0a485e315622d6678ef DIST dracut-059.tar.gz 486487 BLAKE2B 86bbe18875cd3507e187b724cab212dc82e1daca7cedf79aeef13c34601adfff72bf2c0ba4c652e715b43c9a16f7be6a4a2b29dc75bef014640e1ec07c8d455b SHA512 196bc8bf18703c72bffb51a7e0493719c58173ad2da7d121eb42f9a8de47e953af36d109214dc4a10b2dc2d3bd19e844f7f51c2bdec087e064ea11f75124032d DIST dracut-060_pre20231030.tar.gz 498954 BLAKE2B ce47f06e1304f732cbad66046c70cbcb03d33d69b9c3e87a4e2e2d30fa837b3b36949462cec9b06125e824ad82db45bd7516c22a1c84ec6884790b37e9c65ab1 SHA512 0cd2fefcd624758063c77836989260a3d5b0d533004c2395124c8200c31602f5d7d0b8c9491de37ce4afb2c5009b2cf944ddd3bb9e0e11120d84176cb1e7423c DIST dracut-060_pre20240104.tar.gz 499965 BLAKE2B 935e0e5da348426d69c6dab6b91078f126cadd9ffc6a32378e79cd93b1dbadff35899efc3786fc12bf5a6741843d3637b0c98cc71fe4a96a8caf053ae887bac3 SHA512 f7818265f082e9c05ebb81a91b67fb9b1d3bf8b2433b7e6ea9be6bee43d28cd1ee48577648e1d9b3729c17608b028d294c13bf5d4db4cc5a18e3b007eb2cd67e +DIST dracut-101.tar.gz 556673 BLAKE2B 8780451aeafd3d9fdfcabc8eb077bb44cc6d64d69cd3138e7447985fcf225495caea937269cf4f0a09a10a6ce2202cc10e817777090aac0bb207fec99e1c8bc8 SHA512 827f073b749a374b703f317ba249479312043ed54af82609ce45332c27349870a68a1d9883118e0a3ecd1cbb33d64aca8bcf6aac56eb75f721fd3380bd12005b EBUILD dracut-059-r7.ebuild 4715 BLAKE2B 119097a741c83262e2041e215f5c8d78d897901b07a1c93deccff48e6f750f44a702b769a88088e332ae1289a1e95cad866fc305c2a6b9e6e3d3b0003de3ccc9 SHA512 e8ccab043299e5c542809ba7154c2bd9712fd055e4dd085c6c325c66b49526423dc576b97ea1849cdc79440fb8e91ff5a86c6d339e48bc0560ea4b68c1fb84a2 EBUILD dracut-060_pre20231030-r2.ebuild 4532 BLAKE2B 1103591973694d6378c40d178c8b217d5babb1c385256bc7ca8929ab27e2456f7557e5d007590b38dbcf57a1811e4a4a3b5e6045f1664400dd21e0139c25285a SHA512 a0a1dfabc22cbbb62c33a8ff3ca4852fdf793cc54b5d368e07dd4f42fb0bb169aa072c3a0dd429c0ea9c70f5c915592ba736dc61d5c88d35713122fbfa1d4b47 EBUILD dracut-060_pre20240104-r4.ebuild 4588 BLAKE2B 3d5d1925b02c4e1c1fe1376ad5b768a529494951712477754be7c2e2c79cbbf82644416cffb424a24ed5dc307e74bc7ccddf3ad7bd3b01db6349f39f5bec8206 SHA512 a802d9400eb92bb7680f37488bb415b314874025713a4d2e66b6e535ee8201c3ec8ad6b7275faf94527f624bab45c93bfa8e37937573f76fe1df20dcfcdf9e39 -EBUILD dracut-9999.ebuild 4388 BLAKE2B e89519ff7f727882ff3136320d4ed2f908daeee2f81ea8b0828ae1d7f4ffe4a1bbecb0cc910e09b4369b7f5ee40b5cb16916edd462394f9a7de74713b59b5b91 SHA512 797dfb66d9f20148f45af3c7ef47f6f6999edf1764250486406d759c639054f6af735e4a8d92fe379e6dbf8f9393a5cdb374fc5cccafb943d5bb3040bec93a2a -MISC metadata.xml 451 BLAKE2B 34fe004c76ad1ec98a27c53451f51a15689bda1413bb1dae895d4e7be68d810388cbf46d739b04da3b7869835eb70c1b9c03957d60fc6217b12bc028bd011b40 SHA512 51c81f853ab1be8d8dc240d69b1b2c9c69992efa804a394246222466d774bf673f0cb32031d46a56fc2628cd148b0a5c733a8690b78bff70806ca7f563a2855a +EBUILD dracut-101.ebuild 4227 BLAKE2B 71df1586c8b1f5083f488e2be6bbbf6f100ab84998249f5e45957cc7e8bd6550279e128e62a642c58b0f23105505b4fa8f1ea2b5782c4f0e91ba7aa52f72ff20 SHA512 4ced480b7f3b94e51e985dc82790391ce1aea00424fc9fbf909a13a28bf3e8923665815f63665a56565cdf43dc6c5bbfe0a379b2db22066b6ea32efe0450f91c +EBUILD dracut-9999.ebuild 4182 BLAKE2B 71734e44badedf06274c50b876c43da1317833c43f56429b0c4ae7fa0b73da8e86403a9020301bd47008f41054d7360f26be5e4e0601f8442f483b5a56c46343 SHA512 f1293b81ac555521959af33d4dcbb9a069ba5a68d9d77bd3d404fade6d993ee863c987e6741cf32914462f3b8e57d861bb1391d61f91a3e2021e61469b9c8af2 +MISC metadata.xml 453 BLAKE2B a8a98339a3f16f0a6f77e578aa2a2d363ea72eb5ddbf930291e31f4934416d4d653aeba87f5f6074b7911b26234f564d1430c5bf841c0a47e2bf803d185aaafa SHA512 e8f095b275cdfaf44f41d746dd7b1e8d1fb093c8cf9cd933d609215a5df054767c21125214216a2c20a0e8bf2ff43276215d09316aa560cc33d50943bc04670c diff --git a/sys-kernel/dracut/dracut-101.ebuild b/sys-kernel/dracut/dracut-101.ebuild new file mode 100644 index 000000000000..728e7e819bf4 --- /dev/null +++ b/sys-kernel/dracut/dracut-101.ebuild @@ -0,0 +1,151 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit bash-completion-r1 edo optfeature systemd toolchain-funcs + +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/dracut-ng/dracut-ng" +else + if [[ "${PV}" != *_rc* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" + fi + SRC_URI="https://github.com/dracut-ng/dracut-ng/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-ng-${PV}" +fi + +DESCRIPTION="Generic initramfs generation tool" +HOMEPAGE="https://github.com/dracut-ng/dracut-ng/wiki" + +LICENSE="GPL-2" +SLOT="0" +IUSE="selinux test" + +RESTRICT="!test? ( test )" + +RDEPEND=" + app-alternatives/cpio + >=app-shells/bash-4.0:0 + sys-apps/coreutils[xattr(-)] + >=sys-apps/kmod-23[tools] + || ( + >=sys-apps/sysvinit-2.87-r3 + sys-apps/openrc[sysv-utils(-),selinux?] + sys-apps/systemd[sysv-utils] + sys-apps/s6-linux-init[sysv-utils(-)] + ) + >=sys-apps/util-linux-2.21 + virtual/pkgconfig[native-symlinks(+)] + virtual/udev + + elibc_musl? ( sys-libs/fts-standalone ) + selinux? ( + sec-policy/selinux-dracut + sys-libs/libselinux + sys-libs/libsepol + ) +" +DEPEND=" + >=sys-apps/kmod-23 + elibc_musl? ( sys-libs/fts-standalone ) +" + +BDEPEND=" + app-text/asciidoc + app-text/docbook-xml-dtd:4.5 + >=app-text/docbook-xsl-stylesheets-1.75.2 + >=dev-libs/libxslt-1.1.26 + virtual/pkgconfig +" + +QA_MULTILIB_PATHS="usr/lib/dracut/.*" + +PATCHES=( + "${FILESDIR}"/gentoo-ldconfig-paths-r1.patch + "${FILESDIR}"/dracut-060-grub-layout.patch +) + +src_configure() { + local myconf=( + --prefix="${EPREFIX}/usr" + --sysconfdir="${EPREFIX}/etc" + --bashcompletiondir="$(get_bashcompdir)" + --systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + tc-export CC PKG_CONFIG + + edo ./configure "${myconf[@]}" +} + +src_test() { + if [[ ${EUID} != 0 ]]; then + # Tests need root privileges, bug #298014 + ewarn "Skipping tests: Not running as root." + elif [[ ! -w /dev/kvm ]]; then + ewarn "Skipping tests: Unable to access /dev/kvm." + else + emake -C test check + fi +} + +src_install() { + local DOCS=( + AUTHORS + NEWS.md + README.md + docs/README.cross + docs/README.generic + docs/README.kernel + docs/SECURITY.md + ) + + default + + docinto html + dodoc dracut.html +} + +pkg_postinst() { + optfeature "Networking support" net-misc/networkmanager + optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \ + sys-apps/iproute2 "net-misc/iputils[arping]" + optfeature "Scan for Btrfs on block devices" sys-fs/btrfs-progs + optfeature "Load kernel modules and drop this privilege for real init" \ + sys-libs/libcap + optfeature "Support CIFS" net-fs/cifs-utils + optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \ + "sys-fs/cryptsetup[-static-libs]" + optfeature "Support for GPG-encrypted keys for crypt module" \ + app-crypt/gnupg + optfeature \ + "Allows use of dash instead of default bash (on your own risk)" \ + app-shells/dash + optfeature \ + "Allows use of busybox instead of default bash (on your own risk)" \ + sys-apps/busybox + optfeature "Support iSCSI" sys-block/open-iscsi + optfeature "Support Logical Volume Manager" sys-fs/lvm2[lvm] + optfeature "Support MD devices, also known as software RAID devices" \ + sys-fs/mdadm sys-fs/dmraid + optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools + optfeature "Plymouth boot splash" '>=sys-boot/plymouth-0.8.5-r5' + optfeature "Support network block devices" sys-block/nbd + optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind + optfeature \ + "Install ssh and scp along with config files and specified keys" \ + virtual/openssh + optfeature "Enable logging with rsyslog" app-admin/rsyslog + optfeature "Support Squashfs" sys-fs/squashfs-tools + optfeature "Support TPM 2.0 TSS" app-crypt/tpm2-tools + optfeature "Support Bluetooth (experimental)" net-wireless/bluez + optfeature "Support BIOS-given device names" sys-apps/biosdevname + optfeature "Support network NVMe" sys-apps/nvme-cli app-misc/jq + optfeature \ + "Enable rngd service to help generating entropy early during boot" \ + sys-apps/rng-tools + optfeature "automatically generating an initramfs on each kernel installation" \ + "sys-kernel/installkernel[dracut]" +} diff --git a/sys-kernel/dracut/dracut-9999.ebuild b/sys-kernel/dracut/dracut-9999.ebuild index 7c9bc8327b21..b5b06a90e0fb 100644 --- a/sys-kernel/dracut/dracut-9999.ebuild +++ b/sys-kernel/dracut/dracut-9999.ebuild @@ -7,25 +7,20 @@ inherit bash-completion-r1 edo optfeature systemd toolchain-funcs if [[ ${PV} == 9999 ]] ; then inherit git-r3 - EGIT_REPO_URI="https://github.com/dracutdevs/dracut" + EGIT_REPO_URI="https://github.com/dracut-ng/dracut-ng" else - if [[ ${PV} == *_p* ]] ; then - EGIT_COMMIT="856e7acdb1462803c2517c8d64afb2e34c73c735" - SRC_URI="https://github.com/dracutdevs/dracut/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}"/${PN}-${EGIT_COMMIT} - else - SRC_URI="https://github.com/dracutdevs/dracut/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + if [[ "${PV}" != *_rc* ]]; then + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" fi + SRC_URI="https://github.com/dracut-ng/dracut-ng/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + S="${WORKDIR}/${PN}-ng-${PV}" fi DESCRIPTION="Generic initramfs generation tool" -HOMEPAGE="https://github.com/dracutdevs/dracut/wiki" +HOMEPAGE="https://github.com/dracut-ng/dracut-ng/wiki" LICENSE="GPL-2" SLOT="0" -if [[ ${PV} != 9999 && ${PV} != *_rc* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi IUSE="selinux test" RESTRICT="!test? ( test )" diff --git a/sys-kernel/dracut/metadata.xml b/sys-kernel/dracut/metadata.xml index 611cdd955433..09753297dd20 100644 --- a/sys-kernel/dracut/metadata.xml +++ b/sys-kernel/dracut/metadata.xml @@ -10,6 +10,6 @@ Mike Gilbert - dracutdevs/dracut + dracut-ng/dracut-ng diff --git a/sys-kernel/installkernel/Manifest b/sys-kernel/installkernel/Manifest index a76a6d1c23a5..816c8b8179ca 100644 --- a/sys-kernel/installkernel/Manifest +++ b/sys-kernel/installkernel/Manifest @@ -1,5 +1,5 @@ DIST installkernel-28.tar.gz 18922 BLAKE2B 26e7b073cd44896f830a8977efb9730b92d01074084a3cfc934719de87bbf6ec25ea865f8b1cd88613279dbb83bb9ad72eb2c90bc0f6152aa0cc11ca71a9963a SHA512 5a0ed452e131d85628c1cf6ecc2a6bb9fe3c9f20c999c9919b3e238d1aa09a114c6086cf5de8d3ecf63cfa80fd2804092ebb8ad6505b51df2786eb3037bdf3f0 -DIST installkernel-33.tar.gz 20734 BLAKE2B a1ac65c1122341fcaeb4e05980873b8025a4878100a732164286f737aeb8e2ff7f1593143a5482f9a79ef6e5343e3da8e125677f12adf05ad9b63995bf3ca865 SHA512 c75fc9de36bb2fae21571edf6daebfd2e5f5479860d31697f2e623d023af48728a964f7c9b998f4c2359dc4ab9463bfc5374f686108e2247441b94b71aefeb69 +DIST installkernel-34.tar.gz 20816 BLAKE2B b6ed5ed823b949d2d64eeadc9d725e5b19593f2bf691b9878673eb18998b14b0fc71d9dd6a71461e911aefb376600b911dd354671c0503c683a630f011b451ac SHA512 1165113a0e1f942b9bf333f97432fa43ce72460f7081b34160cfbee283274a4756f1d81fa27448e156b90f8b6fa4506bebdc4224f7bc28568a357b67ce33fa21 EBUILD installkernel-28.ebuild 4902 BLAKE2B b2c7826d18637206cca65638290fdc43aa3ca1b6753005e8acbd6fe99a8c635730b07ab75b6e22cce2829720b2627b96bdbda72a1654ab0c3c3a335f60ee06eb SHA512 5adc536c0baadbcc2e8e17adfaffbd68a94219acf4989b8561b1433c1954fc0ab35457be9194390be9da71fd10ebd68595ff04c92ed30ffee8f9c79f8940ed6d -EBUILD installkernel-33.ebuild 5841 BLAKE2B 937eee705724f23d247f6fed4a2432e63a09eb607cb0c5f8b6abc2206dd5edb94349b0d979a3d1bc3618ede0a492a7047c92f4a641949c03ba24f4dbfac0a3c3 SHA512 c452a758850a673a45e13063bf23da87600ef94fa0cab2aa5b7c2f701294a68d624c4d894f6d002b52f32f30d542343fe9a05531c36f084460c59972d2eb1fc1 +EBUILD installkernel-34.ebuild 5868 BLAKE2B e69ee097e271e80282aecd0a0351fe0d85acf1c4ad0b8f4fe6b6e13a841523bb7f0915d97ec541254d1430265c59c181eedbf2c6e99a7abcd81d035e0a3a128e SHA512 b54f6a578c68f5ca63870c5a83155f2ff25696252519f45fe74c9633fb4122e0b6ac0651814f30108e1dbfe44b5f0359d46eb02e840ba9cd22eac84ccd44ddc1 MISC metadata.xml 1288 BLAKE2B a80d5022072c362c1787723b7222638f01993675f5c3bbc87962d998497dcd1673664ef4802cb8b3bce7ad81825521be1747c00f6ef5f5e1c9e2d976b09c8d85 SHA512 d51a5b1c5977049a9a499c2f7edcd95ea5e2b47c4fb49fa76d3df9839b2ad7652bbfff41fae823da3b86a52f2b9cb120759a15e5e9967e7b1148ea3bc92ed793 diff --git a/sys-kernel/installkernel/installkernel-33.ebuild b/sys-kernel/installkernel/installkernel-33.ebuild deleted file mode 100644 index f6c3c526454e..000000000000 --- a/sys-kernel/installkernel/installkernel-33.ebuild +++ /dev/null @@ -1,194 +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 ) -" -# efistub requires systemd's kernel-install because: -# - We need support for removal to clean-up the created entry -# - We need to know the location of the ESP -# - kernel-bootcfg at some point calls bootctl (to find ESP) - -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 - || ( - sys-apps/systemd[boot(-)] - sys-apps/systemd-utils[boot(-)] - ) - ) - ) - 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 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 -} diff --git a/sys-kernel/installkernel/installkernel-34.ebuild b/sys-kernel/installkernel/installkernel-34.ebuild new file mode 100644 index 000000000000..418eedfc222a --- /dev/null +++ b/sys-kernel/installkernel/installkernel-34.ebuild @@ -0,0 +1,190 @@ +# 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 ) +" +# efistub requires systemd's kernel-install because: +# - We need support for removal to clean-up the created entry +# - We need to know the location of the ESP +# - kernel-bootcfg at some point calls bootctl (to find ESP) + +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? ( amd64? ( 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 +} -- cgit v1.2.3