From 7450939adb70cff140c0881032767ecc609aa898 Mon Sep 17 00:00:00 2001 From: Michal Kubecek Date: Feb 09 2024 10:28:00 +0000 Subject: Merge branch 'packaging' into master --- diff --git a/rpm/kernel-binary.spec.in b/rpm/kernel-binary.spec.in index 0881d21..43f2c59 100644 --- a/rpm/kernel-binary.spec.in +++ b/rpm/kernel-binary.spec.in @@ -155,7 +155,7 @@ BuildRequires: u-boot-tools %endif # Do not install p-b and dracut for the install check, the %post script is # able to handle this -#!BuildIgnore: perl-Bootloader dracut distribution-release +#!BuildIgnore: perl-Bootloader dracut distribution-release suse-kernel-rpm-scriptlets # Remove some packages that are installed automatically by the build system, # but are not needed to build the kernel #!BuildIgnore: autoconf automake gettext-runtime libtool cvs gettext-tools udev insserv @@ -886,6 +886,31 @@ if [ %CONFIG_MODULES = y ]; then fi fi +# CONFIG_GDB_SCRIPTS +if [ -e vmlinux-gdb.py ]; then + DEST=%rpm_install_dir/%cpu_arch_flavor/ + install -m 755 -d "$DEST" + # set sys.path to our devel.rpm scripts + sed 's@\(sys\.path\.insert(0, \).*@\1"%obj_install_dir/%cpu_arch_flavor/scripts/gdb/")@' vmlinux-gdb.py > "$DEST/vmlinux-gdb.py" + + DEST=%rpm_install_dir/%cpu_arch_flavor/scripts/gdb/linux + install -m 755 -d "$DEST" + pushd scripts/gdb/linux/ + for file in *.py; do + if test -L "$file"; then + # relink against our devel.rpm sources, not of buildroot's + ln -s "%src_install_dir/scripts/gdb/linux/$file" "$DEST/$file" + else + cp -p "$file" "$DEST" + fi + done + popd + + DEST=%{buildroot}%{_datadir}/gdb/auto-load%modules_dir + install -m 755 -d "$DEST" + ln -s %obj_install_dir/%cpu_arch_flavor/vmlinux-gdb.py "$DEST/vmlinux-gdb.py" +fi + rm -rf %{buildroot}/lib/firmware add_dirs_to_filelist() { @@ -899,7 +924,7 @@ add_dirs_to_filelist() { # print all parents :a # skip directories owned by other packages - s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$:: + s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/share|/usr/src)/[^/]+$:: s:/[^/]+$::p ta ' "$@" | sort -u @@ -932,6 +957,10 @@ shopt -s nullglob dotglob echo "/$file" %endif done + if test -d .%{_datadir}/gdb/; then + find .%obj_install_dir/%cpu_arch_flavor/scripts/gdb/linux/ -name '*.py' -type l | sed -e 's/^[.]//' + echo "%{_datadir}/gdb/auto-load%modules_dir/vmlinux-gdb.py" + fi } | add_dirs_to_filelist >%my_builddir/kernel-devel.files ( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \ sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \ @@ -1082,14 +1111,14 @@ fi %pre %if "%build_flavor" != "zfcpdump" -/usr/lib/module-init-tools/kernel-scriptlets/rpm-pre --name "%name" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-pre --name "%name" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" %endif %post %if "%build_flavor" != "zfcpdump" -/usr/lib/module-init-tools/kernel-scriptlets/rpm-post --name "%name" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-post --name "%name" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" @@ -1110,7 +1139,7 @@ fi %endif %posttrans %if "%build_flavor" != "zfcpdump" -/usr/lib/module-init-tools/kernel-scriptlets/rpm-posttrans --name "%name" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-posttrans --name "%name" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" @@ -1140,13 +1169,13 @@ This package contains only the base modules, required in all installs. %source_timestamp %pre base -/usr/lib/module-init-tools/kernel-scriptlets/rpm-pre --name "%name-base" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-pre --name "%name-base" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" %post base -/usr/lib/module-init-tools/kernel-scriptlets/rpm-post --name "%name-base" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-post --name "%name-base" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" @@ -1164,7 +1193,7 @@ This package contains only the base modules, required in all installs. --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" %posttrans base -/usr/lib/module-init-tools/kernel-scriptlets/rpm-posttrans --name "%name-base" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-posttrans --name "%name-base" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" @@ -1208,13 +1237,13 @@ This package contains additional modules not supported by SUSE. %source_timestamp %pre extra -/usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "%name-extra" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "%name-extra" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" %post extra -/usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "%name-extra" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "%name-extra" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" @@ -1232,7 +1261,7 @@ This package contains additional modules not supported by SUSE. --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" %posttrans extra -/usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "%name-extra" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "%name-extra" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" @@ -1277,13 +1306,13 @@ This package contains optional modules only for openSUSE Leap. %source_timestamp %pre optional -/usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "%name-optional" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "%name-optional" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" %post optional -/usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "%name-optional" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "%name-optional" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" @@ -1301,7 +1330,7 @@ This package contains optional modules only for openSUSE Leap. --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" %posttrans optional -/usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "%name-optional" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "%name-optional" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" @@ -1470,13 +1499,13 @@ Supplements: packageand(%name:@KMP_NAME@-%build_flavor) @KMP_DESCRIPTION@ %pre -n @KMP_NAME@-%build_flavor -/usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "@KMP_NAME@-%build_flavor" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "@KMP_NAME@-%build_flavor" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" %post -n @KMP_NAME@-%build_flavor -/usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "@KMP_NAME@-%build_flavor" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "@KMP_NAME@-%build_flavor" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" @@ -1494,7 +1523,7 @@ Supplements: packageand(%name:@KMP_NAME@-%build_flavor) --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" %posttrans -n @KMP_NAME@-%build_flavor -/usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "@KMP_NAME@-%build_flavor" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "@KMP_NAME@-%build_flavor" \ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \ --image "%image" --flavor "%build_flavor" --variant "%variant" \ --usrmerged "0%{?usrmerged}" --certs "%certs" "$@" diff --git a/rpm/kernel-cert-subpackage b/rpm/kernel-cert-subpackage index ed475d7..ac56808 100644 --- a/rpm/kernel-cert-subpackage +++ b/rpm/kernel-cert-subpackage @@ -20,10 +20,10 @@ fi \ run_if_exists %pre -n %{-n*}-ueficert -/usr/lib/module-init-tools/kernel-scriptlets/cert-pre --certs "@CERTS@" "$@" +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/cert-pre --certs "@CERTS@" "$@" %post -n %{-n*}-ueficert -/usr/lib/module-init-tools/kernel-scriptlets/cert-post --certs "@CERTS@" "$@" +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/cert-post --certs "@CERTS@" "$@" %preun -n %{-n*}-ueficert %run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/cert-preun --certs "@CERTS@" "$@" @@ -32,7 +32,7 @@ run_if_exists %run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/cert-postun --certs "@CERTS@" "$@" %posttrans -n %{-n*}-ueficert -/usr/lib/module-init-tools/kernel-scriptlets/cert-posttrans --certs "@CERTS@" "$@" +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/cert-posttrans --certs "@CERTS@" "$@" %files -n %{-n*}-ueficert %defattr(-, root, root) diff --git a/rpm/kernel-module-subpackage b/rpm/kernel-module-subpackage index 749ed17..fa4c9bb 100644 --- a/rpm/kernel-module-subpackage +++ b/rpm/kernel-module-subpackage @@ -71,12 +71,12 @@ END { exit(! good) } ) %pre -n %{-n*}-kmp-%1 %{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD} -/usr/lib/module-init-tools/kernel-scriptlets/kmp-pre --name "%{-n*}-kmp-%1" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-pre --name "%{-n*}-kmp-%1" \ --version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \ --flavor "%1" --usrmerged "0%{?usrmerged}" "$@" %post -n %{-n*}-kmp-%1 %{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD} -/usr/lib/module-init-tools/kernel-scriptlets/kmp-post --name "%{-n*}-kmp-%1" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-post --name "%{-n*}-kmp-%1" \ --version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \ --flavor "%1" --usrmerged "0%{?usrmerged}" "$@" %preun -n %{-n*}-kmp-%1 @@ -91,7 +91,7 @@ END { exit(! good) } --flavor "%1" --usrmerged "0%{?usrmerged}" "$@" %posttrans -n %{-n*}-kmp-%1 %{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD} -/usr/lib/module-init-tools/kernel-scriptlets/kmp-posttrans --name "%{-n*}-kmp-%1" \ +%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-posttrans --name "%{-n*}-kmp-%1" \ --version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \ --flavor "%1" --usrmerged "0%{?usrmerged}" "$@" %files -n %{-n*}-kmp-%1 diff --git a/rpm/kernel-source.spec.in b/rpm/kernel-source.spec.in index 694dd00..839bfe6 100644 --- a/rpm/kernel-source.spec.in +++ b/rpm/kernel-source.spec.in @@ -190,7 +190,7 @@ Group: Development/Sources Provides: kernel-subpackage-macros %description -n kernel-macros -This package provides the rpm macros and templates for Kernel Module Pakcages +This package provides the rpm macros and templates for Kernel Module Packages %source_timestamp