summaryrefslogtreecommitdiff
path: root/sys-kernel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/Manifest.gzbin5413 -> 5413 bytes
-rw-r--r--sys-kernel/dracut/Manifest5
-rw-r--r--sys-kernel/dracut/dracut-106.ebuild233
-rw-r--r--sys-kernel/dracut/dracut-9999.ebuild4
-rw-r--r--sys-kernel/dracut/files/dracut-106-acct-user-group-gentoo.patch13
-rw-r--r--sys-kernel/git-sources/Manifest18
-rw-r--r--sys-kernel/git-sources/git-sources-6.13_rc1.ebuild39
-rw-r--r--sys-kernel/git-sources/git-sources-6.13_rc2.ebuild39
-rw-r--r--sys-kernel/git-sources/git-sources-6.13_rc3.ebuild39
-rw-r--r--sys-kernel/git-sources/git-sources-6.13_rc4.ebuild39
-rw-r--r--sys-kernel/git-sources/git-sources-6.13_rc5.ebuild39
-rw-r--r--sys-kernel/git-sources/git-sources-6.13_rc7.ebuild39
-rw-r--r--sys-kernel/git-sources/git-sources-6.14_rc1.ebuild (renamed from sys-kernel/git-sources/git-sources-6.13_rc6.ebuild)2
-rw-r--r--sys-kernel/installkernel/Manifest2
-rw-r--r--sys-kernel/installkernel/installkernel-51.ebuild240
15 files changed, 498 insertions, 253 deletions
diff --git a/sys-kernel/Manifest.gz b/sys-kernel/Manifest.gz
index 32e553f71f4b..bf0a1fa2b27e 100644
--- a/sys-kernel/Manifest.gz
+++ b/sys-kernel/Manifest.gz
Binary files differ
diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest
index c19c203b5c19..500cbedfae4c 100644
--- a/sys-kernel/dracut/Manifest
+++ b/sys-kernel/dracut/Manifest
@@ -8,13 +8,16 @@ AUX dracut-103-systemd-udev-256-kmod.patch 1616 BLAKE2B f1c15c4cd57d947f92f286c1
AUX dracut-105-ensure-abs-args-for-objcopy.patch 1816 BLAKE2B 181de3cc28bae34028f1b5f78d312e957470e1dd517aaab492bb05f75fa378101791c132ba8035ec272464e4b1f311e4bf8b28b112208ef0339416552ae96fbf SHA512 cde84cd5c882f25808f2026d118afcb364339c98c1e93ff887eaeac74cd138a06b53164e32858f8801fb5e873cc4eabedb8d6605d008d0f2479fe46ee540c225
AUX dracut-105-fix-check_kernel_module.patch 1214 BLAKE2B 67da5fb2e931710a508910ae54172c1350f61059a2386f5940130d09b9d9c05af9dfe3b08389684ef997b6e89725152714f56dcd8a676ce0df60e7dc2ab25add SHA512 e34fcf2ee636eded961b74d87f583083ca7cb92dc0e390607dff8252412fbf0d827a82b64f99f50d40bee5c8b51ebb3c7c948f9e0b58bd07d005760eba4fc626
AUX dracut-105-systemd-cryptsetup.patch 1048 BLAKE2B 3256a3c0e211894c7253b993f2fca4f687a313c617d569ae46cec0b5c9d55a134d413b98a373e07b52bd0bc0eacff2616504809fbbbfc23c2e93750fbf38ac30 SHA512 e4a2aa3188974c34c0a9de1801d23ec989090265ac5dc1b9aeafe3fe953f28877a45de7a9b246defe8e0a2f0bced790e636fd14be35044c1bbe691c11eebe962
+AUX dracut-106-acct-user-group-gentoo.patch 473 BLAKE2B 4e9ec6b60c6eaa5083ab63ba166d2245905bbaf7a73338ed4dbd33dc2e254f37c89d000e97116569a6c94adbd1b85a7189897829f6fb429ae03726f3ed4df96c SHA512 06c0a20c27be6875aef8cecb34eb32fb69780aaa0662bc7760e53355c7aa9f55026e8435513eb4ec62f5fcdbf70fec72150488259eb200a1b2c82f9e41b1e9ed
AUX gentoo-ldconfig-paths-r1.patch 1423 BLAKE2B e8bce9ee4b1b2546d4dbaa22a6167f9e3520df4f5f3b67509e430e4a6dd89d9fd18e53328c4bd6ee817e6b27ffcccf29fbdd922707c98f4fe67f6d44d76de2ff SHA512 fd44643e671d59ca51822d0f68b7ce7756035faca780ec784e64950770944f0aefd00a1dd2424f07568d5d97d46c0080c8e740856e0bff79bcf6a7e14b08ab8f
DIST dracut-060_pre20240104.tar.gz 499965 BLAKE2B 935e0e5da348426d69c6dab6b91078f126cadd9ffc6a32378e79cd93b1dbadff35899efc3786fc12bf5a6741843d3637b0c98cc71fe4a96a8caf053ae887bac3 SHA512 f7818265f082e9c05ebb81a91b67fb9b1d3bf8b2433b7e6ea9be6bee43d28cd1ee48577648e1d9b3729c17608b028d294c13bf5d4db4cc5a18e3b007eb2cd67e
DIST dracut-103.tar.gz 567713 BLAKE2B 7781c0b7fc83a2c0c461f6398687e053226b489fb5405b3132b30d8e7a4f3cea2bb73aa0fe6e4c4b27187d6270ba623f403916ec38025a912930ae347a7e25ce SHA512 ba0dbefbcbecb09c44ce240664bc4f4ee25dfb8be7bc060028ae3b1ccf7d70410491c105e64fcef3d6f44d2794cb6162bcea9404125906be46bf3dff098e0277
DIST dracut-105.tar.gz 575857 BLAKE2B 93463e3d1649e6e68accbb4f2480af471e851a54185771cec01e8b7112f5c4158901747bdc1180e08e270d3b3b21afb4d510dae09ca6ef00e309300bede188d1 SHA512 1608fb31d6a53905ea25a279586573db5fc7e084b4f6ff06e52065cbcb4ff503c2d51c0a282345844228232b1b590382b482a224183e0c4ee16c9c9e6932b275
+DIST dracut-106.tar.gz 527743 BLAKE2B 837621da329500b88b0c81a724990702a9f4e816a4818c26622b2bc5e3885c908f0bbba682a262f967d9a08a912cfd63a33270143560a30e3d067dc4217c5262 SHA512 ab17f9440129e2db7c2902115459309132ce7f7b29bbb3172002b7a8ea8ab54799d62d89fbf3f84581a5c14196f6754d33669b583b9d758ab4686a3443a3c4ad
EBUILD dracut-060_pre20240104-r4.ebuild 4582 BLAKE2B 2e90c9669b95ccbdc38a3bedd131010d2f2fbf04a01a328e3579f0f5b34ef33d1fa4849c088440930c11b1b67c69ba543156a74d4499c0ab47741ef2b7666f49 SHA512 aaa83faf86aa3ac1be70cace1ffbe906508c935b8cc9928e59c1ea841d4846f5f6d78167cdd0b3c804aa0ca2b788606ff226bebec94c3e8747910d3b4949d307
EBUILD dracut-103-r2.ebuild 4693 BLAKE2B 739ea0296e64867ea756d0062e20b6a475e8a70e76b0f306930d35ab42857c83936e90463e01cde10bf255c439442b3309b12dba826f0fe6ce9b9faa909c386e SHA512 5d75977e66c881f067ce86ef52adc3acfe563f17d7bd1ef3887b6c23b9dcbd727b550f1dc4f1cd5352dcd7663d0b863625a4163e1cf2fd5727b42daeb450655e
EBUILD dracut-103-r4.ebuild 6182 BLAKE2B 1ea8fad6836c1c9a1ccf4e20e74e232c430d011710bc3484886a4fc5b4c87837a082413e8dc34acbf9366ff19d4000a4a11c5e8e4afbada334cb6ab90a0e402e SHA512 b4d5afd156a2a2e859837733eda364f2a6fd4d39ec4cfac205f46f5a56588a2070d2a5c8fad48d0faabc5d6b91e4e60eebdc5dd15c60055a9863ebff0df3b56a
EBUILD dracut-105-r4.ebuild 6794 BLAKE2B 44d022baa8c4a06a0ce64ba2e1c79ee207574cd5af8183109276418b286e677e6c5ae0fd64e965985385314e5719abe80490d24a61b86d66ad497abd20627103 SHA512 eba341246301114ad86f73054e6cea7761c1311ea85f05a7203f3dfb703c0e38b4dd74c42e576d067f102ed39012f6165b02203e183c1b10418e48463443cccd
-EBUILD dracut-9999.ebuild 6820 BLAKE2B 4435daa30e94641d9630fc45b1726aadaf96d3c337fb8b57c3ce620d4a46ed179f9491b0e311ea3ae9fcc1490eba1eba844bc1fc62343386b417fa507f9e2207 SHA512 5669a0c8ceba5792b1e41a5a13fcc63e8f409d573e2fee38f1527d9fe40cec798c3618dafa7aa3c67be286cee7f4630bb20c936b98ef7d17a13470bb6f65a433
+EBUILD dracut-106.ebuild 6820 BLAKE2B ed369802bb2385b5b15eb315fbcf963556a1a9f822198f5a860dc6feeaf3a0a307ed1848a15a84698731f57291b6867043df74c0315ec49a49549e297d326671 SHA512 022a0c9408f1e1e09256c4b76f66a62855a698faa20839ab7956fb328501efc5f1220199c514af62b5cb7e33765fd0b0ae9a3cd414e9df88bfe1f720c2bcc3b9
+EBUILD dracut-9999.ebuild 6820 BLAKE2B ed369802bb2385b5b15eb315fbcf963556a1a9f822198f5a860dc6feeaf3a0a307ed1848a15a84698731f57291b6867043df74c0315ec49a49549e297d326671 SHA512 022a0c9408f1e1e09256c4b76f66a62855a698faa20839ab7956fb328501efc5f1220199c514af62b5cb7e33765fd0b0ae9a3cd414e9df88bfe1f720c2bcc3b9
MISC metadata.xml 649 BLAKE2B 0b6afdf3bfb6dd4f90fdac5e1dbd2e65224bceed9d59c09ba0fad14153af2e338ba2f8873a58f6423795c07ab1b9a5661a43ad0690682162bfef6f19f344440c SHA512 fec50b992b00ebc91c0662c32861a58d94c643155f082b14141cad0c5a2ce2c615d858adac26b20ce03d0fdeb48dcb5e63fa830856b3105e1ab67fdd3fa835f7
diff --git a/sys-kernel/dracut/dracut-106.ebuild b/sys-kernel/dracut/dracut-106.ebuild
new file mode 100644
index 000000000000..d4781eb67c6b
--- /dev/null
+++ b/sys-kernel/dracut/dracut-106.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+CARGO_OPTIONAL=1
+
+inherit cargo flag-o-matic 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 ~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="+dracut-cpio selinux test"
+RESTRICT="test"
+PROPERTIES="test? ( test_privileged test_network )"
+
+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/openrc-navi[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
+ dracut-cpio? ( ${RUST_DEPEND} )
+ test? (
+ net-nds/rpcbind
+ net-fs/nfs-utils
+ sys-block/open-iscsi
+ sys-fs/btrfs-progs
+ sys-fs/dmraid
+ sys-fs/lvm2[lvm,thin]
+ sys-fs/mdadm
+ sys-fs/multipath-tools
+ alpha? ( app-emulation/qemu[qemu_softmmu_targets_alpha] )
+ amd64? ( app-emulation/qemu[qemu_softmmu_targets_x86_64] )
+ arm? ( app-emulation/qemu[qemu_softmmu_targets_arm] )
+ arm64? ( app-emulation/qemu[qemu_softmmu_targets_aarch64] )
+ hppa? ( app-emulation/qemu[qemu_softmmu_targets_hppa] )
+ loong? ( app-emulation/qemu[qemu_softmmu_targets_loongarch64] )
+ mips? ( || (
+ app-emulation/qemu[qemu_softmmu_targets_mips]
+ app-emulation/qemu[qemu_softmmu_targets_mips64]
+ app-emulation/qemu[qemu_softmmu_targets_mips64el]
+ ) )
+ ppc? ( app-emulation/qemu[qemu_softmmu_targets_ppc] )
+ ppc64? ( app-emulation/qemu[qemu_softmmu_targets_ppc64] )
+ riscv? ( || (
+ app-emulation/qemu[qemu_softmmu_targets_riscv32]
+ app-emulation/qemu[qemu_softmmu_targets_riscv64]
+ ) )
+ sparc? ( || (
+ app-emulation/qemu[qemu_softmmu_targets_sparc]
+ app-emulation/qemu[qemu_softmmu_targets_sparc64]
+ ) )
+ x86? ( app-emulation/qemu[qemu_softmmu_targets_i386] )
+ )
+"
+
+QA_MULTILIB_PATHS="usr/lib/dracut/.*"
+
+PATCHES=(
+ "${FILESDIR}"/gentoo-ldconfig-paths-r1.patch
+ # Gentoo specific acct-user and acct-group conf adjustments
+ "${FILESDIR}"/${PN}-106-acct-user-group-gentoo.patch
+)
+
+pkg_setup() {
+ use dracut-cpio && rust_pkg_setup
+}
+
+src_configure() {
+ local myconf=(
+ --prefix="${EPREFIX}/usr"
+ --sysconfdir="${EPREFIX}/etc"
+ --bashcompletiondir="$(get_bashcompdir)"
+ --systemdsystemunitdir="$(systemd_get_systemunitdir)"
+ --disable-dracut-cpio
+ )
+
+ # this emulates what the build system would be doing without us
+ append-cflags -D_FILE_OFFSET_BITS=64
+
+ tc-export CC PKG_CONFIG
+
+ edo ./configure "${myconf[@]}"
+ if use dracut-cpio; then
+ cargo_gen_config
+ cargo_src_configure
+ fi
+}
+
+src_compile() {
+ default
+ if use dracut-cpio; then
+ pushd src/dracut-cpio >/dev/null || die
+ cargo_src_compile
+ popd >/dev/null || die
+ fi
+}
+
+src_test() {
+ addwrite /dev/kvm
+ # Translate ARCH so run-qemu can find the correct qemu-system-ARCH
+ local qemu_arch
+ if use amd64; then
+ qemu_arch=x86_64
+ elif use arm64; then
+ qemu_arch=aarch64
+ elif use loong; then
+ qemu_arch=loongarch64
+ elif use x86; then
+ qemu_arch=i386
+ else
+ qemu_arch=$(tc-arch)
+ fi
+ ARCH=${qemu_arch} emake -C test check
+}
+
+src_install() {
+ local DOCS=(
+ AUTHORS
+ NEWS.md
+ README.md
+ )
+ default
+ if use dracut-cpio; then
+ exeinto /usr/lib/dracut
+ doexe "src/dracut-cpio/$(cargo_target_dir)/dracut-cpio"
+ fi
+}
+
+pkg_preinst() {
+ # Remove directory/symlink conflicts
+ # https://bugs.gentoo.org/943007
+ local save_nullglob=$(shopt -p nullglob)
+ shopt -s nullglob
+ local module
+ for module in "${EROOT}"/usr/lib/dracut/modules.d/{80test,80test-makeroot,80test-root}; do
+ if [[ ! -L ${module} && -d ${module} ]]; then
+ rm -rv "${module}" || die
+ fi
+ local backups=( "${module}".backup.* )
+ if [[ ${#backups[@]} -gt 0 ]]; then
+ rm -v "${backups[@]}" || die
+ fi
+ done
+ eval "${save_nullglob}"
+}
+
+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 "building Unified Kernel Images with dracut (--uefi)" \
+ "sys-apps/systemd[boot]" "sys-apps/systemd-utils[boot]"
+ optfeature "automatically generating an initramfs on each kernel installation" \
+ "sys-kernel/installkernel[dracut]"
+ optfeature "automatically generating an UKI on each kernel installation" \
+ "sys-kernel/installkernel[dracut,uki]"
+}
diff --git a/sys-kernel/dracut/dracut-9999.ebuild b/sys-kernel/dracut/dracut-9999.ebuild
index 40da9319cb51..d4781eb67c6b 100644
--- a/sys-kernel/dracut/dracut-9999.ebuild
+++ b/sys-kernel/dracut/dracut-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -100,7 +100,7 @@ QA_MULTILIB_PATHS="usr/lib/dracut/.*"
PATCHES=(
"${FILESDIR}"/gentoo-ldconfig-paths-r1.patch
# Gentoo specific acct-user and acct-group conf adjustments
- "${FILESDIR}"/${PN}-103-acct-user-group-gentoo.patch
+ "${FILESDIR}"/${PN}-106-acct-user-group-gentoo.patch
)
pkg_setup() {
diff --git a/sys-kernel/dracut/files/dracut-106-acct-user-group-gentoo.patch b/sys-kernel/dracut/files/dracut-106-acct-user-group-gentoo.patch
new file mode 100644
index 000000000000..25792a5445c0
--- /dev/null
+++ b/sys-kernel/dracut/files/dracut-106-acct-user-group-gentoo.patch
@@ -0,0 +1,13 @@
+diff --git a/modules.d/91tpm2-tss/module-setup.sh b/modules.d/91tpm2-tss/module-setup.sh
+index 4441f5528..4b5654d56 100755
+--- a/modules.d/91tpm2-tss/module-setup.sh
++++ b/modules.d/91tpm2-tss/module-setup.sh
+@@ -30,7 +30,7 @@ installkernel() {
+
+ # Install the required file(s) and directories for the module in the initramfs.
+ install() {
+- inst_sysusers tpm2-tss.conf
++ inst_sysusers tss.conf
+
+ inst_multiple -o \
+ "$tmpfilesdir"/tpm2-tss-fapi.conf \
diff --git a/sys-kernel/git-sources/Manifest b/sys-kernel/git-sources/Manifest
index 3bedab254645..fee62f85f89f 100644
--- a/sys-kernel/git-sources/Manifest
+++ b/sys-kernel/git-sources/Manifest
@@ -1,16 +1,4 @@
-DIST linux-6.12.tar.xz 147906904 BLAKE2B b2ec2fc69218cacabbbe49f78384a5d259ca581b717617c12b000b16f4a4c59ee348ea886b37147f5f70fb9a7a01c1e2c8f19021078f6b23f5bc62d1c48d5e5e SHA512 a37b1823df7b4f72542f689b65882634740ba0401a42fdcf6601d9efd2e132e5a7650e70450ba76f6cd1f13ca31180f2ccee9d54fe4df89bc0000ade4380a548
-DIST patch-6.13-rc1.patch 44278336 BLAKE2B 3019b1559cc3038393d1d51d5cce67ba8cc863b2dd8ede4def45635504cc6fe9949dc2e7624b077cc851c7fe3aa623c1692a82c1e3b5698f13e200c068137958 SHA512 8fc8c0c0aad233685c3e9325cddf3e6e437f371486c7052433636f048cebb23605717d14ae75b413f9486c489a07d64090f7b8436f8fe598052da5a5ebe53e91
-DIST patch-6.13-rc2.patch 45755252 BLAKE2B 8ab895aba64d944bd79a0d0ccb9fb61cb243be0e18875414056a34c22fe31f9c629a0a893ed765628b9b795d06321faa3822eca5e9db555cb5605d6441f5fd73 SHA512 09e8693cb824625d2f520e47a3a838b2f6b0add803e9c1b2bcd8d26d80d947de56a2e365460ba05aafa0e1fad4990f6bf6d9f55457a98d662e863187ba107728
-DIST patch-6.13-rc3.patch 46670516 BLAKE2B ba0e0bff8c1f32d81b9d5b7fd9f777d3c3b46c7504978ac4d2ec7e66668b1d39ce48ee16b875de0f8a10754237d4ad1944999236a299ee443de05b52deb06a9a SHA512 055ab3a368f3ef1000912c973121d373a108998253240dad1d1ce9cbbc9ecae52a06bab1b89d659a56cce127a9605e46c0997aaeafe01724fcc9df0d63534806
-DIST patch-6.13-rc4.patch 46999276 BLAKE2B db5ffe5407033057000a7b6003e7e33c1df39a00e23687228922bf6d25467eaa4a961b4db0bb7a6ae666ca292a81d16a7c941430531a350d058c7013f462fe4f SHA512 0231c8374a24711345cbf88a4ba5a617c0ab22be42053567d53a5a8cbbde57a0ae6dc27d6e1537daaec72b863888bd87be0ef4f5738f814ec5ecefc20abd1816
-DIST patch-6.13-rc5.patch 47079185 BLAKE2B 72e044c4fa41d44d9c61a695c38f40bd617642ec9e65978128a04ea6a514708a5634d409bf3ca10621b636ae1fee888f916a7454ff13e123e07f06cc0d403f86 SHA512 de639760efbf7a2de077003a81e9d9d1dc20df36d9325799377dc7c608fd68c8f4cb5c14e455f8c0561b63a4cd4fca1e70524eacdd3d53b1a60e86afd1cd4fe5
-DIST patch-6.13-rc6.patch 47284877 BLAKE2B e87ea7991218b210e6c455fb635d28794bedc3130e94d888d19f622f871b45096b165d8d3c4d73dd6a2a992474253a218fd4a812413c2dcffe3b4b39fa8dbda8 SHA512 29121085799cda1359e4bb758118f5decc4ff2e911114a716979a493d7e8c0100a0aef2225dc75bf73043bf56cb48be8b686e02d93a2b4c9984c59c1b2c4c9af
-DIST patch-6.13-rc7.patch 47562050 BLAKE2B a2b02bf5f9b5368f6284af23eb2011052bcdaa5881a996e961427e646d331efa0a84643b97ab2d6cf12852812201f54b659ad53a9c31b90396d39df7dd00d7f3 SHA512 87d9887ea625d712429c99399050f0c25794d982f73d8d941d19330c994bf6ccd31c58b13a6b0e8f9ad2e2b482b28b81f2cd5397faae15d203257f57b4330e71
-EBUILD git-sources-6.13_rc1.ebuild 1174 BLAKE2B 41670b3c32b90cde58b8458a8b97d9dd3edf65e998d6500434890a550f088f57c8b58d52d8b89984c1d8acc6cddc27e952ee2ffbf92a0741237f9961f9b91f22 SHA512 bc48ea18f3cd197f45784ab2f483d19bbadebcf0836eb237d69628cffc9781efc77bc70f463572079b58e89f9f4da8ee89d06f643af32b5ce90f1f8f681dbea6
-EBUILD git-sources-6.13_rc2.ebuild 1174 BLAKE2B 41670b3c32b90cde58b8458a8b97d9dd3edf65e998d6500434890a550f088f57c8b58d52d8b89984c1d8acc6cddc27e952ee2ffbf92a0741237f9961f9b91f22 SHA512 bc48ea18f3cd197f45784ab2f483d19bbadebcf0836eb237d69628cffc9781efc77bc70f463572079b58e89f9f4da8ee89d06f643af32b5ce90f1f8f681dbea6
-EBUILD git-sources-6.13_rc3.ebuild 1174 BLAKE2B 41670b3c32b90cde58b8458a8b97d9dd3edf65e998d6500434890a550f088f57c8b58d52d8b89984c1d8acc6cddc27e952ee2ffbf92a0741237f9961f9b91f22 SHA512 bc48ea18f3cd197f45784ab2f483d19bbadebcf0836eb237d69628cffc9781efc77bc70f463572079b58e89f9f4da8ee89d06f643af32b5ce90f1f8f681dbea6
-EBUILD git-sources-6.13_rc4.ebuild 1174 BLAKE2B 41670b3c32b90cde58b8458a8b97d9dd3edf65e998d6500434890a550f088f57c8b58d52d8b89984c1d8acc6cddc27e952ee2ffbf92a0741237f9961f9b91f22 SHA512 bc48ea18f3cd197f45784ab2f483d19bbadebcf0836eb237d69628cffc9781efc77bc70f463572079b58e89f9f4da8ee89d06f643af32b5ce90f1f8f681dbea6
-EBUILD git-sources-6.13_rc5.ebuild 1174 BLAKE2B 41670b3c32b90cde58b8458a8b97d9dd3edf65e998d6500434890a550f088f57c8b58d52d8b89984c1d8acc6cddc27e952ee2ffbf92a0741237f9961f9b91f22 SHA512 bc48ea18f3cd197f45784ab2f483d19bbadebcf0836eb237d69628cffc9781efc77bc70f463572079b58e89f9f4da8ee89d06f643af32b5ce90f1f8f681dbea6
-EBUILD git-sources-6.13_rc6.ebuild 1174 BLAKE2B 6a4faa94e994ff7c5bb7b2870eaea5f933ff6b15d60613769692cb20a27d4e9f8c17ad4ca2e2b0634ce5370d320af34ee2d6eeb06af0832608cd58d395c35407 SHA512 ce9ea8ff4d1140f168f08be1f84e7c60c0e08939f70c25cba49f093d1db048a829ce2c7ecff6e4894b777c8b8d663f05f3f29b4ce0ce3ddf16f9652246780d85
-EBUILD git-sources-6.13_rc7.ebuild 1174 BLAKE2B 6a4faa94e994ff7c5bb7b2870eaea5f933ff6b15d60613769692cb20a27d4e9f8c17ad4ca2e2b0634ce5370d320af34ee2d6eeb06af0832608cd58d395c35407 SHA512 ce9ea8ff4d1140f168f08be1f84e7c60c0e08939f70c25cba49f093d1db048a829ce2c7ecff6e4894b777c8b8d663f05f3f29b4ce0ce3ddf16f9652246780d85
+DIST linux-6.13.tar.xz 148523052 BLAKE2B 9f617ecb3f2393b57ba03c654fea62a7213f24c835989f333a1ef29492af551bfa7d9ad786d5ef1484854adc77c7c6af38fb09a72d994d305695f512c325e77f SHA512 1137e6440132b0958f89165440e99208f82b204e7245ae69dc9c808df97d13ce8f58136db92407e0e93394fa7f6283ec7a34597c6e92a5b6d9025e0960357957
+DIST patch-6.14-rc1.patch 38268259 BLAKE2B 4c349fac7c9040dc4cd24dbb9078ef47688b72dc984e9c15f19e2fc1c4b0e9496fb8fd3cc55d48aaa18f296ae6c3a49d34f98e9d1f083ce73c37549befb3e892 SHA512 6d51919e372d08455990f0e66a7514b51191331e41088f2eef596e85a523a65aca0743951323aa629fe7552df2c735b13b5414bb1fc7ad4b5b7e17585d239fa5
+EBUILD git-sources-6.14_rc1.ebuild 1174 BLAKE2B df74e2ff33bb28f2ee65a10182778a8e738765581325d4053515f4f6835abe6c40b9480bb5fd70e497f089fd8377c34d836f9c708393ea0c85ec2a5a6bcf3369 SHA512 80ef26e79dd758d05f32d121f3492002d90afa8f850856e1852beb6b8ef2f4d19011d1548ad97b4643340d7f08e19f6ec0f55b0aba2296fa7547111ce23da703
MISC metadata.xml 465 BLAKE2B 089bfb0e4af03b69d3d118d39713b54aac6912012cf0e9352d22b4b597abe5b1ef86863c37f6a0be2f81995f2a81a8d08bc7c2927d06ac2042b7b18ba02c77be SHA512 cb2bec5a8cce1e6da593f6ab11ceb854112fb4e828198793820699913f2f7cb2a9443e1cb15c42e16730891a27fe8dcd1713527c2ba2cfa56f6d2296f6f6e001
diff --git a/sys-kernel/git-sources/git-sources-6.13_rc1.ebuild b/sys-kernel/git-sources/git-sources-6.13_rc1.ebuild
deleted file mode 100644
index b345e33fdaba..000000000000
--- a/sys-kernel/git-sources/git-sources-6.13_rc1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-UNIPATCH_STRICTORDER="yes"
-K_NOUSENAME="yes"
-K_NOSETEXTRAVERSION="yes"
-K_NOUSEPR="yes"
-K_SECURITY_UNSUPPORTED="1"
-K_BASE_VER="6.12"
-K_EXP_GENPATCHES_NOUSE="1"
-K_FROM_GIT="yes"
-K_NODRYRUN="yes"
-ETYPE="sources"
-CKV="${PVR/-r/-git}"
-
-# only use this if it's not an _rc/_pre release
-[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
-inherit kernel-2
-detect_version
-
-DESCRIPTION="The very latest -git version of the Linux kernel"
-HOMEPAGE="https://www.kernel.org"
-SRC_URI="${KERNEL_URI}"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
-experimental nature. If you have any issues, try a matching vanilla-sources
-ebuild -- if the problem is not there, please contact the upstream kernel
-developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
-report the problem so it can be fixed in time for the next kernel release."
-
-DEPEND="${RDEPEND}
- >=sys-devel/patch-2.7.6-r5"
-
-pkg_postinst() {
- postinst_sources
-}
diff --git a/sys-kernel/git-sources/git-sources-6.13_rc2.ebuild b/sys-kernel/git-sources/git-sources-6.13_rc2.ebuild
deleted file mode 100644
index b345e33fdaba..000000000000
--- a/sys-kernel/git-sources/git-sources-6.13_rc2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-UNIPATCH_STRICTORDER="yes"
-K_NOUSENAME="yes"
-K_NOSETEXTRAVERSION="yes"
-K_NOUSEPR="yes"
-K_SECURITY_UNSUPPORTED="1"
-K_BASE_VER="6.12"
-K_EXP_GENPATCHES_NOUSE="1"
-K_FROM_GIT="yes"
-K_NODRYRUN="yes"
-ETYPE="sources"
-CKV="${PVR/-r/-git}"
-
-# only use this if it's not an _rc/_pre release
-[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
-inherit kernel-2
-detect_version
-
-DESCRIPTION="The very latest -git version of the Linux kernel"
-HOMEPAGE="https://www.kernel.org"
-SRC_URI="${KERNEL_URI}"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
-experimental nature. If you have any issues, try a matching vanilla-sources
-ebuild -- if the problem is not there, please contact the upstream kernel
-developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
-report the problem so it can be fixed in time for the next kernel release."
-
-DEPEND="${RDEPEND}
- >=sys-devel/patch-2.7.6-r5"
-
-pkg_postinst() {
- postinst_sources
-}
diff --git a/sys-kernel/git-sources/git-sources-6.13_rc3.ebuild b/sys-kernel/git-sources/git-sources-6.13_rc3.ebuild
deleted file mode 100644
index b345e33fdaba..000000000000
--- a/sys-kernel/git-sources/git-sources-6.13_rc3.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-UNIPATCH_STRICTORDER="yes"
-K_NOUSENAME="yes"
-K_NOSETEXTRAVERSION="yes"
-K_NOUSEPR="yes"
-K_SECURITY_UNSUPPORTED="1"
-K_BASE_VER="6.12"
-K_EXP_GENPATCHES_NOUSE="1"
-K_FROM_GIT="yes"
-K_NODRYRUN="yes"
-ETYPE="sources"
-CKV="${PVR/-r/-git}"
-
-# only use this if it's not an _rc/_pre release
-[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
-inherit kernel-2
-detect_version
-
-DESCRIPTION="The very latest -git version of the Linux kernel"
-HOMEPAGE="https://www.kernel.org"
-SRC_URI="${KERNEL_URI}"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
-experimental nature. If you have any issues, try a matching vanilla-sources
-ebuild -- if the problem is not there, please contact the upstream kernel
-developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
-report the problem so it can be fixed in time for the next kernel release."
-
-DEPEND="${RDEPEND}
- >=sys-devel/patch-2.7.6-r5"
-
-pkg_postinst() {
- postinst_sources
-}
diff --git a/sys-kernel/git-sources/git-sources-6.13_rc4.ebuild b/sys-kernel/git-sources/git-sources-6.13_rc4.ebuild
deleted file mode 100644
index b345e33fdaba..000000000000
--- a/sys-kernel/git-sources/git-sources-6.13_rc4.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-UNIPATCH_STRICTORDER="yes"
-K_NOUSENAME="yes"
-K_NOSETEXTRAVERSION="yes"
-K_NOUSEPR="yes"
-K_SECURITY_UNSUPPORTED="1"
-K_BASE_VER="6.12"
-K_EXP_GENPATCHES_NOUSE="1"
-K_FROM_GIT="yes"
-K_NODRYRUN="yes"
-ETYPE="sources"
-CKV="${PVR/-r/-git}"
-
-# only use this if it's not an _rc/_pre release
-[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
-inherit kernel-2
-detect_version
-
-DESCRIPTION="The very latest -git version of the Linux kernel"
-HOMEPAGE="https://www.kernel.org"
-SRC_URI="${KERNEL_URI}"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
-experimental nature. If you have any issues, try a matching vanilla-sources
-ebuild -- if the problem is not there, please contact the upstream kernel
-developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
-report the problem so it can be fixed in time for the next kernel release."
-
-DEPEND="${RDEPEND}
- >=sys-devel/patch-2.7.6-r5"
-
-pkg_postinst() {
- postinst_sources
-}
diff --git a/sys-kernel/git-sources/git-sources-6.13_rc5.ebuild b/sys-kernel/git-sources/git-sources-6.13_rc5.ebuild
deleted file mode 100644
index b345e33fdaba..000000000000
--- a/sys-kernel/git-sources/git-sources-6.13_rc5.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-UNIPATCH_STRICTORDER="yes"
-K_NOUSENAME="yes"
-K_NOSETEXTRAVERSION="yes"
-K_NOUSEPR="yes"
-K_SECURITY_UNSUPPORTED="1"
-K_BASE_VER="6.12"
-K_EXP_GENPATCHES_NOUSE="1"
-K_FROM_GIT="yes"
-K_NODRYRUN="yes"
-ETYPE="sources"
-CKV="${PVR/-r/-git}"
-
-# only use this if it's not an _rc/_pre release
-[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
-inherit kernel-2
-detect_version
-
-DESCRIPTION="The very latest -git version of the Linux kernel"
-HOMEPAGE="https://www.kernel.org"
-SRC_URI="${KERNEL_URI}"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
-experimental nature. If you have any issues, try a matching vanilla-sources
-ebuild -- if the problem is not there, please contact the upstream kernel
-developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
-report the problem so it can be fixed in time for the next kernel release."
-
-DEPEND="${RDEPEND}
- >=sys-devel/patch-2.7.6-r5"
-
-pkg_postinst() {
- postinst_sources
-}
diff --git a/sys-kernel/git-sources/git-sources-6.13_rc7.ebuild b/sys-kernel/git-sources/git-sources-6.13_rc7.ebuild
deleted file mode 100644
index 31f6629155fc..000000000000
--- a/sys-kernel/git-sources/git-sources-6.13_rc7.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-UNIPATCH_STRICTORDER="yes"
-K_NOUSENAME="yes"
-K_NOSETEXTRAVERSION="yes"
-K_NOUSEPR="yes"
-K_SECURITY_UNSUPPORTED="1"
-K_BASE_VER="6.12"
-K_EXP_GENPATCHES_NOUSE="1"
-K_FROM_GIT="yes"
-K_NODRYRUN="yes"
-ETYPE="sources"
-CKV="${PVR/-r/-git}"
-
-# only use this if it's not an _rc/_pre release
-[ "${PV/_pre}" == "${PV}" ] && [ "${PV/_rc}" == "${PV}" ] && OKV="${PV}"
-inherit kernel-2
-detect_version
-
-DESCRIPTION="The very latest -git version of the Linux kernel"
-HOMEPAGE="https://www.kernel.org"
-SRC_URI="${KERNEL_URI}"
-
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~s390 ~sparc ~x86"
-
-K_EXTRAEINFO="This kernel is not supported by Gentoo due to its unstable and
-experimental nature. If you have any issues, try a matching vanilla-sources
-ebuild -- if the problem is not there, please contact the upstream kernel
-developers at https://bugzilla.kernel.org and on the linux-kernel mailing list to
-report the problem so it can be fixed in time for the next kernel release."
-
-DEPEND="${RDEPEND}
- >=sys-devel/patch-2.7.6-r5"
-
-pkg_postinst() {
- postinst_sources
-}
diff --git a/sys-kernel/git-sources/git-sources-6.13_rc6.ebuild b/sys-kernel/git-sources/git-sources-6.14_rc1.ebuild
index 31f6629155fc..4d00faf04ad2 100644
--- a/sys-kernel/git-sources/git-sources-6.13_rc6.ebuild
+++ b/sys-kernel/git-sources/git-sources-6.14_rc1.ebuild
@@ -7,7 +7,7 @@ K_NOUSENAME="yes"
K_NOSETEXTRAVERSION="yes"
K_NOUSEPR="yes"
K_SECURITY_UNSUPPORTED="1"
-K_BASE_VER="6.12"
+K_BASE_VER="6.13"
K_EXP_GENPATCHES_NOUSE="1"
K_FROM_GIT="yes"
K_NODRYRUN="yes"
diff --git a/sys-kernel/installkernel/Manifest b/sys-kernel/installkernel/Manifest
index 3fd6eb4b0e52..7dd8706d8a6b 100644
--- a/sys-kernel/installkernel/Manifest
+++ b/sys-kernel/installkernel/Manifest
@@ -1,3 +1,5 @@
DIST installkernel-50.tar.gz 25265 BLAKE2B 12fe64bc584d7ead4a24a7d81b83c69fb0aad21fb0f88195e5608519ade5dbf9e6009b6b6d0f81190b96cf170b6b5e7f220522bded20d99fa95b3fe65e8476a6 SHA512 fb780d7e0c724e93c2c0a0f43fc17a95862a55733ad76df43daab3ce09f4d06e2c357a0bac0decd821c9c36dbda846cf89f8cc60d721f0cb32b39f336da2c72c
+DIST installkernel-51.tar.gz 25392 BLAKE2B e1b629391679382d5ff644778fd948258d06e4ee13afa87cbf2f4011cf59d4a951d52fde1b89dc1043102168100e0fd2b67c2f2f8659e12e71a5490158b5fb85 SHA512 9856247af3cdc4f069555c96a5bd308d08d90ff9ad773adcea3f24e86d06a36ef5953a4b004bd09314b40a3d5eee5f24e4c316b44b78146ab5d0850547224f8b
EBUILD installkernel-50.ebuild 7400 BLAKE2B 59bc011dc19fa29027d4f511d0a86c14060a5a119ccd5941b680bb153fac484128bcf2a8f1ae4ef7221ea0491c9e21ec949c860871daa260bf779af496d06764 SHA512 78d7899e8b40029654225a2a21663ba68a54e534499b3d8ccc1acba2b501905604e2a5125cf0065a98b5ba2dbb26b13a107cac9ac97394e2d4bd98ced94fad31
+EBUILD installkernel-51.ebuild 7389 BLAKE2B b3b95f0dea076504b3b97cc76e26d642c77b94d401543eaebeb041463babfa91d6128094bf7b3fe2bc27d0e4ac590ff9de15a8066d425331aac2438cb9485c7e SHA512 f1e2919cf9a60efc636c0ea0cee9acc72f0551e30dec2d5c8c4ec134c8919ce8194f80da3225808a5414d557f67a5ea856bfe05f839a0860d2cc931e0a5c30fe
MISC metadata.xml 1379 BLAKE2B c141302cfe1dddf7d11d68cafdf97437f037caab171b1c1b071cc366b6a98acb5940c1ab73bcc49bf97fe9c852ad28c8923fbf00f0a51f2a02174a5d542f9edf SHA512 f5a20936b0b569fd2a8eadb76eeb8d7ec8c905b0e15ae285c351d82bef0c001e64d47a19774a6b958b845a20adc3df5e7cc583649dfcf9ef7c684132498e8bf8
diff --git a/sys-kernel/installkernel/installkernel-51.ebuild b/sys-kernel/installkernel/installkernel-51.ebuild
new file mode 100644
index 000000000000..2a5ec685ee3c
--- /dev/null
+++ b/sys-kernel/installkernel/installkernel-51.ebuild
@@ -0,0 +1,240 @@
+# Copyright 2019-2025 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 ~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="
+ ?? ( efistub grub systemd-boot )
+ refind? ( !systemd-boot !grub )
+ systemd-boot? ( systemd )
+ ukify? ( uki )
+ ?? ( dracut ugrd )
+"
+# 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
+ dracut? (
+ >=sys-kernel/dracut-103
+ 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 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 [[ -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
+
+ # 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
+}