summaryrefslogtreecommitdiff
path: root/eclass
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-05-19 00:01:59 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-05-19 00:01:59 +0100
commit9d4810f84de876ec9d0ae03d0d44224500b41188 (patch)
tree1ca0866afdc949e405d20635d3d7f2115abb9ace /eclass
parent075fd1f8cabc5879c6eb42127fb84c3058677fde (diff)
gentoo auto-resync : 19:05:2024 - 00:01:59
Diffstat (limited to 'eclass')
-rw-r--r--eclass/Manifest.gzbin39588 -> 39586 bytes
-rw-r--r--eclass/linux-mod-r1.eclass56
-rw-r--r--eclass/llvm.org.eclass3
-rw-r--r--eclass/rocm.eclass31
4 files changed, 46 insertions, 44 deletions
diff --git a/eclass/Manifest.gz b/eclass/Manifest.gz
index c72436512f7f..cfa5894ab152 100644
--- a/eclass/Manifest.gz
+++ b/eclass/Manifest.gz
Binary files differ
diff --git a/eclass/linux-mod-r1.eclass b/eclass/linux-mod-r1.eclass
index 6060074d8734..43c5a7d7b140 100644
--- a/eclass/linux-mod-r1.eclass
+++ b/eclass/linux-mod-r1.eclass
@@ -499,7 +499,7 @@ linux-mod-r1_pkg_postinst() {
if [[ -z ${ROOT} && ${MODULES_INITRAMFS_IUSE} ]] &&
use dist-kernel && use ${MODULES_INITRAMFS_IUSE#+}
then
- dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
+ dist-kernel_reinstall_initramfs "${KV_DIR}" "${KV_FULL}"
fi
if has_version virtual/dist-kernel && ! use dist-kernel; then
@@ -583,10 +583,11 @@ modules_post_process() {
(( ${#mods[@]} )) ||
die "${FUNCNAME[0]} was called with no installed modules under ${path}"
- # TODO?: find way for sane use with dracut (its 90kernel-modules-extra
- # parses depmod.d files directly and assumes should include its modules
- # which can lead to unnecessarily increased size or stale modules)
-# _modules_process_depmod.d "${mods[@]#"${path}/"}"
+ # TODO?: look into re-introducing after verifying it works as expected,
+ # formerly omitted because dracut's 90kernel-modules-extra parses depmod.d
+ # files directly and assumes should include its modules but we now create
+ # dracut omit files that *hopefully* prevent this
+# _modules_process_depmod.d "${mods[@]##*/}"
_modules_process_dracut.conf.d "${mods[@]##*/}"
_modules_process_strip "${mods[@]}"
@@ -694,24 +695,6 @@ _modules_prepare_kernel() {
fi
linux-info_pkg_setup
-
- if use dist-kernel &&
- ! has_version "~virtual/dist-kernel-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
- then
- ewarn
- ewarn "The kernel modules in ${CATEGORY}/${PN} are being built for"
- ewarn "kernel version ${KV_FULL}. But this does not match the"
- ewarn "installed version of virtual/dist-kernel."
- ewarn
- ewarn "If this is not intentional, the problem may be corrected by"
- ewarn "using \"eselect kernel\" to set the default kernel version to"
- ewarn "the same version as the installed version of virtual/dist-kernel."
- ewarn
- ewarn "If the distribution kernel is being downgraded, ensure that"
- ewarn "virtual/dist-kernel is also downgraded to the same version"
- ewarn "before rebuilding external kernel modules."
- ewarn
- fi
}
# @FUNCTION: _modules_prepare_sign
@@ -856,7 +839,7 @@ _modules_prepare_toolchain() {
# can work but raises concerns about breaking packages that may use these
if linux_chkconfig_present LTO_CLANG_THIN && tc-ld-is-lld; then
KERNEL_LD=${T}/linux-mod-r1_ld.lld
- printf '#!/usr/bin/env sh\nexec %s "${@}" --thinlto-cache-dir=\n' \
+ printf '#!/usr/bin/env sh\nexec %q "${@}" --thinlto-cache-dir=\n' \
"${LD}" > "${KERNEL_LD}" || die
chmod +x -- "${KERNEL_LD}" || die
fi
@@ -898,7 +881,7 @@ _modules_prepare_toolchain() {
# If enabled in the kernel configuration, this compresses the given
# modules using the same format.
_modules_process_compress() {
- use modules-compress || return
+ use modules-compress || return 0
local -a compress
if linux_chkconfig_present MODULE_COMPRESS_XZ; then
@@ -1143,7 +1126,10 @@ _modules_sanity_kernelbuilt() {
# @DESCRIPTION:
# Prints a warning if the kernel version is greater than to
# MODULES_KERNEL_MAX (while only considering same amount of version
-# components), or aborts if it is less than MODULES_KERNEL_MIN
+# components), or aborts if it is less than MODULES_KERNEL_MIN.
+#
+# With USE=dist-kernel, also warn if virtual/dist-kernel is of a
+# different version than the one being built against.
_modules_sanity_kernelversion() {
local kv=${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}
@@ -1193,6 +1179,24 @@ _modules_sanity_kernelversion() {
ewarn
fi
fi
+
+ if use dist-kernel &&
+ ! has_version "~virtual/dist-kernel-${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
+ then
+ ewarn
+ ewarn "The kernel modules in ${CATEGORY}/${PN} are being built for"
+ ewarn "kernel version ${KV_FULL}. But this does not match the"
+ ewarn "installed version of virtual/dist-kernel."
+ ewarn
+ ewarn "If this is not intentional, the problem may be corrected by"
+ ewarn "using \"eselect kernel\" to set the default kernel version to"
+ ewarn "the same version as the installed version of virtual/dist-kernel."
+ ewarn
+ ewarn "If the distribution kernel is being downgraded, ensure that"
+ ewarn "virtual/dist-kernel is also downgraded to the same version"
+ ewarn "before rebuilding external kernel modules."
+ ewarn
+ fi
}
# @FUNCTION: _modules_sanity_modversion
diff --git a/eclass/llvm.org.eclass b/eclass/llvm.org.eclass
index 3ada7d2a373b..08fa68022174 100644
--- a/eclass/llvm.org.eclass
+++ b/eclass/llvm.org.eclass
@@ -72,6 +72,9 @@ if [[ -z ${_LLVM_SOURCE_TYPE+1} ]]; then
_LLVM_SOURCE_TYPE=snapshot
case ${PV} in
+ 19.0.0_pre20240518)
+ EGIT_COMMIT=702198fc9ac5dba392f9d9ba7c56467996343c0a
+ ;;
19.0.0_pre20240509)
EGIT_COMMIT=a7ee81e8279e0bf6e05617a4a638e5f2f8e45022
;;
diff --git a/eclass/rocm.eclass b/eclass/rocm.eclass
index 9804ecde97d0..7039455dec6b 100644
--- a/eclass/rocm.eclass
+++ b/eclass/rocm.eclass
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# @ECLASS: rocm.eclass
@@ -161,7 +161,7 @@ _rocm_set_globals() {
gfx906 gfx908 gfx90a gfx1030
)
;;
- 5.*|9999)
+ 5.*)
unofficial_amdgpu_targets=(
gfx803 gfx900 gfx1010 gfx1011 gfx1012
gfx1031 gfx1100 gfx1101 gfx1102
@@ -170,6 +170,16 @@ _rocm_set_globals() {
gfx906 gfx908 gfx90a gfx1030
)
;;
+ 6.*|9999)
+ unofficial_amdgpu_targets=(
+ gfx803 gfx900 gfx940 gfx941
+ gfx1010 gfx1011 gfx1012
+ gfx1031 gfx1101 gfx1102
+ )
+ official_amdgpu_targets=(
+ gfx906 gfx908 gfx90a gfx942 gfx1030 gfx1100
+ )
+ ;;
*)
die "Unknown ROCm major version! Please update rocm.eclass before bumping to new ebuilds"
;;
@@ -201,22 +211,7 @@ unset -f _rocm_set_globals
# Append default target feature to GPU arch. See
# https://llvm.org/docs/AMDGPUUsage.html#target-features
get_amdgpu_flags() {
- local amdgpu_target_flags
- for gpu_target in ${AMDGPU_TARGETS}; do
- local target_feature=
- case ${gpu_target} in
- gfx906|gfx908)
- target_feature=:xnack-
- ;;
- gfx90a)
- target_feature=:xnack+
- ;;
- *)
- ;;
- esac
- amdgpu_target_flags+="${gpu_target}${target_feature};"
- done
- echo "${amdgpu_target_flags}"
+ echo $(printf "%s;" ${AMDGPU_TARGETS[@]})
}
# @FUNCTION: check_amdgpu