diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-12-25 19:30:41 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-12-25 19:30:41 +0000 |
commit | 026061ba423025e6713112920f290759cdee03c4 (patch) | |
tree | 0e557363849e4d5c1320820fcf175bc1ec9690ab /eclass | |
parent | 479921825a5c44a5fbcd5441f00ee98e54db9bac (diff) |
gentoo auto-resync : 25:12:2023 - 19:30:41
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/Manifest.gz | bin | 38920 -> 38916 bytes | |||
-rw-r--r-- | eclass/kernel-build.eclass | 30 | ||||
-rw-r--r-- | eclass/kernel-install.eclass | 24 |
3 files changed, 44 insertions, 10 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz Binary files differindex 5af37874c52c..307ddee8a1c8 100644 --- a/eclass/Manifest.gz +++ b/eclass/Manifest.gz diff --git a/eclass/kernel-build.eclass b/eclass/kernel-build.eclass index 70eb1243fcbc..29ee9f86e7e2 100644 --- a/eclass/kernel-build.eclass +++ b/eclass/kernel-build.eclass @@ -283,9 +283,18 @@ kernel-build_src_install() { # Modules were already stripped by the kernel build system dostrip -x /lib/modules + local compress=() + if [[ ${KERNEL_IUSE_GENERIC_UKI} ]] && ! use module-compress; then + compress+=( + # force installing uncompressed modules even if compression + # is enabled via config + suffix-y= + ) + fi + emake O="${WORKDIR}"/build "${MAKEARGS[@]}" \ INSTALL_MOD_PATH="${ED}" INSTALL_MOD_STRIP="${strip_args}" \ - INSTALL_PATH="${ED}/boot" "${targets[@]}" + INSTALL_PATH="${ED}/boot" "${compress[@]}" "${targets[@]}" # note: we're using mv rather than doins to save space and time # install main and arch-specific headers first, and scripts @@ -386,10 +395,10 @@ kernel-build_src_install() { local dracut_modules=( base bash btrfs cifs crypt crypt-gpg crypt-loop dbus dbus-daemon - dm dmraid drm dracut-systemd fido2 i18n fs-lib kernel-modules + dm dmraid dracut-systemd fido2 i18n fs-lib kernel-modules kernel-network-modules kernel-modules-extra lunmask lvm nbd mdraid modsign network network-manager nfs nvdimm nvmf pcsc - pkcs11 plymouth qemu qemu-net resume rngd rootfs-block shutdown + pkcs11 qemu qemu-net resume rngd rootfs-block shutdown systemd systemd-ac-power systemd-ask-password systemd-initrd systemd-integritysetup systemd-pcrphase systemd-sysusers systemd-udevd systemd-veritysetup terminfo tpm2-tss udev-rules @@ -414,6 +423,8 @@ kernel-build_src_install() { --reproducible --ro-mnt --modules "${dracut_modules[*]}" + # Pulls in huge firmware files + --omit-drivers "nfp" ) # Tries to update ld cache @@ -424,7 +435,7 @@ kernel-build_src_install() { local ukify_args=( --linux="${image}" --initrd="${image%/*}/initrd" - --cmdline="root=/dev/gpt-auto-root ro quiet splash" + --cmdline="root=/dev/gpt-auto-root ro" --uname="${dir_ver}" --output="${image%/*}/uki.efi" ) @@ -547,6 +558,17 @@ kernel-build_merge_configs() { fi fi + # Only semi-related but let's use that to avoid changing stable ebuilds. + if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then + # NB: we enable this even with USE=-module-compress, in order + # to support both uncompressed and compressed modules in prebuilt + # kernels + cat <<-EOF > "${WORKDIR}/module-compress.config" || die + CONFIG_MODULE_COMPRESS_XZ=y + EOF + merge_configs+=( "${WORKDIR}/module-compress.config" ) + fi + if [[ ${#user_configs[@]} -gt 0 ]]; then elog "User config files are being applied:" local x diff --git a/eclass/kernel-install.eclass b/eclass/kernel-install.eclass index 9612700a1431..8c4d5c14fc03 100644 --- a/eclass/kernel-install.eclass +++ b/eclass/kernel-install.eclass @@ -79,7 +79,7 @@ _IDEPEND_BASE=" LICENSE="GPL-2" if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then - IUSE+=" generic-uki" + IUSE+=" generic-uki module-compress" # https://github.com/AndrewAmmerlaan/dist-kernel-log-to-licenses # This script can help with generating the array below, keep in mind # that it is not a fully automatic solution, i.e. use flags will @@ -127,7 +127,6 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then ["dev-libs/openssl"]="Apache-2.0" ["dev-libs/userspace-rcu"]="LGPL-2.1" ["media-libs/libmtp"]="LGPL-2.1" - ["media-libs/libpng"]="libpng2" ["media-libs/libv4l"]="LGPL-2.1+" ["net-dns/c-ares"]="MIT ISC" ["net-dns/libidn2"]="|| ( GPL-2+ LGPL-3+ ) GPL-3+ unicode" @@ -159,15 +158,12 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then ["sys-apps/nvme-cli"]="GPL-2 GPL-2+" ["sys-apps/pcsc-lite"]="BSD ISC MIT GPL-3+ GPL-2" ["sys-apps/rng-tools"]="GPL-2" - ["sys-apps/sandbox"]="GPL-2" ["sys-apps/sed"]="GPL-3+" ["sys-apps/shadow"]="BSD GPL-2" ["sys-apps/systemd[boot(-),cryptsetup,pkcs11,policykit,tpm,ukify(-)]"]="GPL-2 LGPL-2.1 MIT public-domain" ["sys-apps/util-linux"]="GPL-2 GPL-3 LGPL-2.1 BSD-4 MIT public-domain" ["sys-auth/polkit"]="LGPL-2" ["sys-block/nbd"]="GPL-2" - ["sys-block/open-isns"]="LGPL-2.1" - ["sys-boot/plymouth"]="GPL-2" ["sys-devel/gcc"]="GPL-3+ LGPL-3+ || ( GPL-3+ libgcc libstdc++ gcc-runtime-library-exception-3.1 ) FDL-1.3+" ["sys-fs/btrfs-progs"]="GPL-2" ["sys-fs/cryptsetup"]="GPL-2+" @@ -192,7 +188,6 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then ["sys-libs/readline"]="GPL-3+" ["sys-libs/zlib"]="ZLIB" ["sys-process/procps"]="GPL-2+ LGPL-2+ LGPL-2.1+" - ["x11-libs/libdrm"]="MIT" ["amd64? ( sys-firmware/intel-microcode )"]="amd64? ( intel-ucode )" ["x86? ( sys-firmware/intel-microcode )"]="x86? ( intel-ucode )" ) @@ -200,6 +195,9 @@ if [[ ${KERNEL_IUSE_GENERIC_UKI} ]]; then generic-uki? ( ${INITRD_PACKAGES[@]} ) " + RDEPEND+=" + sys-apps/kmod[lzma] + " IDEPEND=" generic-uki? ( || ( @@ -762,6 +760,20 @@ kernel-install_pkg_config() { kernel-install_install_all "${PV}${KV_LOCALVERSION}" } +# @FUNCTION: kernel-install_compress_modules +# @DESCRIPTION: +# Compress modules installed in ED, if USE=module-compress is enabled. +kernel-install_compress_modules() { + debug-print-function ${FUNCNAME} "${@}" + + if use module-compress; then + einfo "Compressing kernel modules ..." + # taken from scripts/Makefile.modinst + find "${ED}/lib" -name '*.ko' -exec \ + xz --check=crc32 --lzma2=dict=1MiB {} + || die + fi +} + fi EXPORT_FUNCTIONS src_test pkg_preinst pkg_postinst pkg_prerm pkg_postrm |