1
0
forked from pool/kernel-source

5 Commits
devel ... devel

58 changed files with 352667 additions and 4147 deletions

View File

@@ -422,9 +422,8 @@ General:
Loadable kernel modules:
* Peter Jay Salzman, Michael Burian, Ori Pomerantz: The Linux Kernel Module
Programming Guide, Version 2.6,
<https://tldp.org/LDP/lkmpg/2.6/html/index.html>.
* The Linux Kernel Module Programming Guide,
<https://sysprog21.github.io/lkmpg/>.
Kernel module packages:

View File

@@ -10,23 +10,29 @@ declare -a IGNORED_CONFIGS_RE=(
'AS_VERSION'
'AS_WRUSS' # x86_32
'BUILTIN_RETURN_ADDRESS_STRIPS_PAC'
'CC_ASM_FLAG_OUTPUT_BROKEN'
'CC_CAN_[A-Z_]*'
'CC_HAS_[A-Z_]*'
'CC_HAVE_[A-Z_]*'
'CC_VERSION_TEXT'
'DRM_MSM_VALIDATE_XML'
'DYNAMIC_SIGFRAME'
'FTRACE_MCOUNT_USE_[A-Z_]*'
'GCC_ASM_FLAG_OUTPUT_BROKEN'
'GCC_ASM_GOTO_OUTPUT_BROKEN'
'GCC_ASM_GOTO_OUTPUT_WORKAROUND'
'GCC_VERSION'
'G*CC[0-9]*_NO_[A-Z_]*'
'HAVE_[A-Z]*_COMPILER'
'HAVE_RUST'
'HAVE_SHADOW_CALL_STACK'
'LD_CAN_[A-Z_]*'
'LD_VERSION'
'OBJTOOL'
'PAHOLE_HAS_[A-Z0-9_]*'
'PAHOLE_VERSION'
'RISCV_ISA_[A-Z_]*'
'RUSTC_SUPPORTS_[A-Z0-9_]*'
'TOOLCHAIN_HAS_[A-Z_]*'
'TOOLCHAIN_NEEDS_[A-Z_]*'
'TOOLS_SUPPORT_[A-Z_]*'

View File

@@ -8,17 +8,17 @@
# kernel-binary and kernel-source rely on this
#
+i386 i386/pae
+i386 i386/default
+i386 -syms i386/debug
+i386 i386/vanilla
+x86_64 x86_64/default
+x86_64 -syms x86_64/debug
- x86_64/syzkaller
+x86_64 x86_64/vanilla
+x86_64 -syms x86_64/kvmsmall
+i386 i386/pae
+i386 i386/default
+i386 -syms i386/debug
+i386 i386/vanilla
+ppc64le ppc64le/default
+ppc64le -syms ppc64le/debug
+ppc64le ppc64le/vanilla

View File

@@ -1,5 +1,5 @@
# The version of the main tarball to use
SRCVERSION=6.10
SRCVERSION=6.14
# variant of the kernel-source package, either empty or "-rt"
VARIANT=
# enable kernel module compression

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:02ee08e59c6469a9ed4ef7f357fc1a80b83b14dad2143ce5306cd800478bc1d2
size 297858
oid sha256:154001349c54ec580b4944c2252b4e396da9fd8b3c5ad6362de8e59fb7815305
size 306545

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package dtb-aarch64
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,18 +16,18 @@
#
%define srcversion 6.10
%define patchversion 6.10.9
%define srcversion 6.14
%define patchversion 6.14.6
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: dtb-aarch64
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -90,7 +90,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -160,7 +159,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package dtb-armv6l
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,18 +16,18 @@
#
%define srcversion 6.10
%define patchversion 6.10.9
%define srcversion 6.14
%define patchversion 6.14.6
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: dtb-armv6l
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -90,7 +90,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -160,7 +159,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package dtb-armv7l
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,18 +16,18 @@
#
%define srcversion 6.10
%define patchversion 6.10.9
%define srcversion 6.14
%define patchversion 6.14.6
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: dtb-armv7l
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -90,7 +90,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -160,7 +159,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -658,33 +656,6 @@ cd /boot
%dir %{dtbdir}/ti/keystone
%{dtbdir}/ti/keystone/keystone-*.dtb
%package -n dtb-meson6
Summary: Amlogic Meson 6 based systems
Group: System/Boot
Provides: multiversion(dtb)
Requires(post): coreutils
%description -n dtb-meson6
Device Tree files for Amlogic Meson 6 based systems.
%post -n dtb-meson6
cd /boot
# If /boot/dtb is a symlink, remove it, so that we can replace it.
[ -d dtb ] && [ -L dtb ] && rm -f dtb
# Unless /boot/dtb exists as real directory, create a symlink.
[ -d dtb ] || ln -sf dtb-%kernelrelease dtb
%ifarch %arm aarch64 riscv64
%files -n dtb-meson6 -f dtb-meson6.list
%else
%files -n dtb-meson6
%endif
%defattr(-,root,root)
%ghost /boot/dtb
%dir %{dtbdir}
%dir %{dtbdir}/amlogic
%{dtbdir}/amlogic/meson6-*.dtb
%package -n dtb-meson8
Summary: Amlogic Meson 8 based systems
Group: System/Boot
@@ -1384,7 +1355,7 @@ export DTC_FLAGS="-R 4 -p 0x1000"
DTC_FLAGS="$DTC_FLAGS -@"
cd $source/arch/arm/boot/dts
for dts in ti/omap/am335x-*.dts ti/omap/am3517*.dts ti/omap/am57xx-*.dts marvell/armada-370-*.dts marvell/armada-375-*.dts marvell/armada-385-*.dts marvell/armada-388-*.dts marvell/armada-398-*.dts marvell/armada-xp-*.dts broadcom/bcm2836*.dts marvell/dove-*.dts samsung/exynos4*.dts samsung/exynos5*.dts nxp/imx/imx5*.dts nxp/imx/imx6*.dts nxp/imx/imx7*.dts ti/keystone/keystone-*.dts amlogic/meson6-*.dts amlogic/meson8-*.dts amlogic/meson8b-*.dts mediatek/mt76*.dts ti/omap/omap3*.dts ti/omap/omap4*.dts ti/omap/omap5*.dts qcom/qcom-*.dts rockchip/rk3*.dts intel/socfpga/socfpga_*.dts st/ste-*.dts allwinner/sun4i-*.dts allwinner/sun5i-*.dts allwinner/sun6i-*.dts allwinner/sun7i-*.dts allwinner/sun8i-*.dts allwinner/sun9i-*.dts nvidia/tegra20-*.dts nvidia/tegra30-*.dts nvidia/tegra114-*.dts nvidia/tegra124-*.dts arm/vexpress-*.dts nxp/vf/vf500-*.dts nxp/vf/vf610-*.dts xen/xenvm-*.dts xilinx/zynq-*.dts ; do
for dts in ti/omap/am335x-*.dts ti/omap/am3517*.dts ti/omap/am57xx-*.dts marvell/armada-370-*.dts marvell/armada-375-*.dts marvell/armada-385-*.dts marvell/armada-388-*.dts marvell/armada-398-*.dts marvell/armada-xp-*.dts broadcom/bcm2836*.dts marvell/dove-*.dts samsung/exynos4*.dts samsung/exynos5*.dts nxp/imx/imx5*.dts nxp/imx/imx6*.dts nxp/imx/imx7*.dts ti/keystone/keystone-*.dts amlogic/meson8-*.dts amlogic/meson8b-*.dts mediatek/mt76*.dts ti/omap/omap3*.dts ti/omap/omap4*.dts ti/omap/omap5*.dts qcom/qcom-*.dts rockchip/rk3*.dts intel/socfpga/socfpga_*.dts st/ste-*.dts allwinner/sun4i-*.dts allwinner/sun5i-*.dts allwinner/sun6i-*.dts allwinner/sun7i-*.dts allwinner/sun8i-*.dts allwinner/sun9i-*.dts nvidia/tegra20-*.dts nvidia/tegra30-*.dts nvidia/tegra114-*.dts nvidia/tegra124-*.dts arm/vexpress-*.dts nxp/vf/vf500-*.dts nxp/vf/vf610-*.dts xen/xenvm-*.dts xilinx/zynq-*.dts ; do
target=${dts%*.dts}
mkdir -p $PPDIR/$(dirname $target)
cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. -I$SRCDIR/include/ -I$SRCDIR/scripts/dtc/include-prefixes/ -P $target.dts -o $PPDIR/$target.dts
@@ -1393,7 +1364,7 @@ done
%install
cd pp
for dts in ti/omap/am335x-*.dts ti/omap/am3517*.dts ti/omap/am57xx-*.dts marvell/armada-370-*.dts marvell/armada-375-*.dts marvell/armada-385-*.dts marvell/armada-388-*.dts marvell/armada-398-*.dts marvell/armada-xp-*.dts broadcom/bcm2836*.dts marvell/dove-*.dts samsung/exynos4*.dts samsung/exynos5*.dts nxp/imx/imx5*.dts nxp/imx/imx6*.dts nxp/imx/imx7*.dts ti/keystone/keystone-*.dts amlogic/meson6-*.dts amlogic/meson8-*.dts amlogic/meson8b-*.dts mediatek/mt76*.dts ti/omap/omap3*.dts ti/omap/omap4*.dts ti/omap/omap5*.dts qcom/qcom-*.dts rockchip/rk3*.dts intel/socfpga/socfpga_*.dts st/ste-*.dts allwinner/sun4i-*.dts allwinner/sun5i-*.dts allwinner/sun6i-*.dts allwinner/sun7i-*.dts allwinner/sun8i-*.dts allwinner/sun9i-*.dts nvidia/tegra20-*.dts nvidia/tegra30-*.dts nvidia/tegra114-*.dts nvidia/tegra124-*.dts arm/vexpress-*.dts nxp/vf/vf500-*.dts nxp/vf/vf610-*.dts xen/xenvm-*.dts xilinx/zynq-*.dts ; do
for dts in ti/omap/am335x-*.dts ti/omap/am3517*.dts ti/omap/am57xx-*.dts marvell/armada-370-*.dts marvell/armada-375-*.dts marvell/armada-385-*.dts marvell/armada-388-*.dts marvell/armada-398-*.dts marvell/armada-xp-*.dts broadcom/bcm2836*.dts marvell/dove-*.dts samsung/exynos4*.dts samsung/exynos5*.dts nxp/imx/imx5*.dts nxp/imx/imx6*.dts nxp/imx/imx7*.dts ti/keystone/keystone-*.dts amlogic/meson8-*.dts amlogic/meson8b-*.dts mediatek/mt76*.dts ti/omap/omap3*.dts ti/omap/omap4*.dts ti/omap/omap5*.dts qcom/qcom-*.dts rockchip/rk3*.dts intel/socfpga/socfpga_*.dts st/ste-*.dts allwinner/sun4i-*.dts allwinner/sun5i-*.dts allwinner/sun6i-*.dts allwinner/sun7i-*.dts allwinner/sun8i-*.dts allwinner/sun9i-*.dts nvidia/tegra20-*.dts nvidia/tegra30-*.dts nvidia/tegra114-*.dts nvidia/tegra124-*.dts arm/vexpress-*.dts nxp/vf/vf500-*.dts nxp/vf/vf610-*.dts xen/xenvm-*.dts xilinx/zynq-*.dts ; do
target=${dts%*.dts}
install -m 755 -d %{buildroot}%{dtbdir}/$(dirname $target)
# install -m 644 COPYING %{buildroot}%{dtbdir}/$(dirname $target)
@@ -1421,7 +1392,6 @@ for dts in ti/omap/am335x-*.dts ti/omap/am3517*.dts ti/omap/am57xx-*.dts marvell
nxp/imx/imx6*.dts) pkgname=dtb-imx6;;
nxp/imx/imx7*.dts) pkgname=dtb-imx7;;
ti/keystone/keystone-*.dts) pkgname=dtb-keystone;;
amlogic/meson6-*.dts) pkgname=dtb-meson6;;
amlogic/meson8-*.dts) pkgname=dtb-meson8;;
amlogic/meson8b-*.dts) pkgname=dtb-meson8b;;
mediatek/mt76*.dts) pkgname=dtb-mt76;;

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package dtb-riscv64
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,18 +16,18 @@
#
%define srcversion 6.10
%define patchversion 6.10.9
%define srcversion 6.14
%define patchversion 6.14.6
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: dtb-riscv64
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -90,7 +90,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -160,7 +159,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-64kb
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
# needssslcertforbuild
%define srcversion 6.10
%define patchversion 6.10.9
%define git_commit 5af77882e5891561a6c508a4a352a99c61465403
%define srcversion 6.14
%define patchversion 6.14.6
%define git_commit ad69173661e912fc54ea9589c400528b76aa8aca
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -31,15 +31,17 @@
%define supported_modules_check 0
%define build_flavor 64kb
%define generate_compile_commands 1
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-64kb
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -59,8 +61,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -73,6 +75,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -135,7 +138,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -145,7 +148,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y"
%define klp_symbols 0
%define klp_ipa_clones 0
%endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@@ -209,7 +212,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -279,7 +281,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -356,14 +357,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -494,14 +496,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -772,6 +775,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -780,6 +786,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -808,7 +815,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif
@@ -817,7 +823,7 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -847,17 +853,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""
%if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
This package brings ipa-clones files, which are used to to track
set of functions where a code from another function can eventually occur.
%files %{livepatch}-devel -f livepatch-files
%endif
@@ -1276,6 +1279,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1468,14 +1474,9 @@ while true; do
fi
done
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json
%endif
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1664,27 +1665,22 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# List of symbols that are used to generate kernel livepatches
%if 0%{?klp_symbols}
cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir
# List of ipa-clones that are used to to track set of functions where a code from another function can eventually occur.
%if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif
%if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--verbatim-files-from \
--verbatim-files-from \
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
# Table of types used in exported symbols (for modversion debugging).
@@ -1798,7 +1794,8 @@ if [ %CONFIG_MODULES = y ]; then
%rpm_install_dir/%cpu_arch_flavor \
$(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
else
echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'export KBUILD_OUTPUT = %obj_install_dir/%cpu_arch_flavor' > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'include ../../../%{basename:%src_install_dir}/Makefile' >> %rpm_install_dir/%cpu_arch_flavor/Makefile
fi
fi
@@ -1879,7 +1876,7 @@ shopt -s nullglob dotglob
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$'| \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image
@@ -1977,7 +1974,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -1988,7 +1985,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

View File

@@ -31,6 +31,8 @@
%define supported_modules_check @SUPPORTED_MODULES_CHECK@
%define build_flavor @FLAVOR@
%define generate_compile_commands @GENERATE_COMPILE_COMMANDS@
%define gcc_package @GCC_PACKAGE@
%define gcc_compiler @GCC_COMPILER@
%include %_sourcedir/kernel-spec-macros
@@ -59,8 +61,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -73,6 +75,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -135,7 +138,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -145,7 +148,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y"
%define klp_symbols 0
%define klp_ipa_clones 0
%endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@@ -218,14 +221,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -577,6 +581,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -585,6 +592,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
@PROVIDES_OBSOLETES_DEVEL@
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -614,7 +622,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif
@@ -623,7 +630,7 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -653,17 +660,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""
%if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
This package brings ipa-clones files, which are used to to track
set of functions where a code from another function can eventually occur.
%files %{livepatch}-devel -f livepatch-files
%endif
@@ -800,6 +804,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -992,14 +999,9 @@ while true; do
fi
done
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json
%endif
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1188,27 +1190,22 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# List of symbols that are used to generate kernel livepatches
%if 0%{?klp_symbols}
cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir
# List of ipa-clones that are used to to track set of functions where a code from another function can eventually occur.
%if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif
%if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--verbatim-files-from \
--verbatim-files-from \
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
# Table of types used in exported symbols (for modversion debugging).
@@ -1322,7 +1319,8 @@ if [ %CONFIG_MODULES = y ]; then
%rpm_install_dir/%cpu_arch_flavor \
$(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
else
echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'export KBUILD_OUTPUT = %obj_install_dir/%cpu_arch_flavor' > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'include ../../../%{basename:%src_install_dir}/Makefile' >> %rpm_install_dir/%cpu_arch_flavor/Makefile
fi
fi
@@ -1403,7 +1401,7 @@ shopt -s nullglob dotglob
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$'| \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image
@@ -1501,7 +1499,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -1512,7 +1510,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-debug
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
# needssslcertforbuild
%define srcversion 6.10
%define patchversion 6.10.9
%define git_commit 5af77882e5891561a6c508a4a352a99c61465403
%define srcversion 6.14
%define patchversion 6.14.6
%define git_commit ad69173661e912fc54ea9589c400528b76aa8aca
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -31,15 +31,17 @@
%define supported_modules_check 0
%define build_flavor debug
%define generate_compile_commands 1
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-debug
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -59,8 +61,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -73,6 +75,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -135,7 +138,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -145,7 +148,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y"
%define klp_symbols 0
%define klp_ipa_clones 0
%endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@@ -209,7 +212,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -279,7 +281,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -356,14 +357,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -492,14 +494,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -764,6 +767,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -772,6 +778,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -800,7 +807,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif
@@ -809,7 +815,7 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -839,17 +845,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""
%if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
This package brings ipa-clones files, which are used to to track
set of functions where a code from another function can eventually occur.
%files %{livepatch}-devel -f livepatch-files
%endif
@@ -1268,6 +1271,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1460,14 +1466,9 @@ while true; do
fi
done
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json
%endif
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1656,27 +1657,22 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# List of symbols that are used to generate kernel livepatches
%if 0%{?klp_symbols}
cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir
# List of ipa-clones that are used to to track set of functions where a code from another function can eventually occur.
%if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif
%if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--verbatim-files-from \
--verbatim-files-from \
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
# Table of types used in exported symbols (for modversion debugging).
@@ -1790,7 +1786,8 @@ if [ %CONFIG_MODULES = y ]; then
%rpm_install_dir/%cpu_arch_flavor \
$(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
else
echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'export KBUILD_OUTPUT = %obj_install_dir/%cpu_arch_flavor' > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'include ../../../%{basename:%src_install_dir}/Makefile' >> %rpm_install_dir/%cpu_arch_flavor/Makefile
fi
fi
@@ -1871,7 +1868,7 @@ shopt -s nullglob dotglob
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$'| \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image
@@ -1969,7 +1966,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -1980,7 +1977,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-default
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
# needssslcertforbuild
%define srcversion 6.10
%define patchversion 6.10.9
%define git_commit 5af77882e5891561a6c508a4a352a99c61465403
%define srcversion 6.14
%define patchversion 6.14.6
%define git_commit ad69173661e912fc54ea9589c400528b76aa8aca
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -31,15 +31,17 @@
%define supported_modules_check 0
%define build_flavor default
%define generate_compile_commands 1
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-default
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -59,8 +61,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -73,6 +75,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -135,7 +138,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -145,7 +148,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y"
%define klp_symbols 0
%define klp_ipa_clones 0
%endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@@ -209,7 +212,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -279,7 +281,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -356,14 +357,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -531,14 +533,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -860,6 +863,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -868,6 +874,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%ifarch %ix86
Provides: kernel-trace-devel = 3.13
Obsoletes: kernel-trace-devel <= 3.13
@@ -916,7 +923,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif
@@ -925,7 +931,7 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -955,17 +961,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""
%if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
This package brings ipa-clones files, which are used to to track
set of functions where a code from another function can eventually occur.
%files %{livepatch}-devel -f livepatch-files
%endif
@@ -1384,6 +1387,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1576,14 +1582,9 @@ while true; do
fi
done
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json
%endif
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1772,27 +1773,22 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# List of symbols that are used to generate kernel livepatches
%if 0%{?klp_symbols}
cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir
# List of ipa-clones that are used to to track set of functions where a code from another function can eventually occur.
%if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif
%if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--verbatim-files-from \
--verbatim-files-from \
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
# Table of types used in exported symbols (for modversion debugging).
@@ -1906,7 +1902,8 @@ if [ %CONFIG_MODULES = y ]; then
%rpm_install_dir/%cpu_arch_flavor \
$(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
else
echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'export KBUILD_OUTPUT = %obj_install_dir/%cpu_arch_flavor' > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'include ../../../%{basename:%src_install_dir}/Makefile' >> %rpm_install_dir/%cpu_arch_flavor/Makefile
fi
fi
@@ -1987,7 +1984,7 @@ shopt -s nullglob dotglob
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$'| \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image
@@ -2085,7 +2082,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -2096,7 +2093,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-docs
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,21 +16,21 @@
#
%define srcversion 6.10
%define patchversion 6.10.9
%define git_commit 5af77882e5891561a6c508a4a352a99c61465403
%define srcversion 6.14
%define patchversion 6.14.6
%define git_commit ad69173661e912fc54ea9589c400528b76aa8aca
%define variant %{nil}
%define build_html 1
%define build_pdf 0
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-docs
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -133,7 +133,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -203,7 +202,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -285,6 +283,8 @@ cd linux-%srcversion
%_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols
%build
# for reproducible builds (bsc#1238303)
export PARALLELISM=1
cd linux-%srcversion
export LANG=en_US.utf8
%if %build_html

View File

@@ -147,6 +147,8 @@ cd linux-%srcversion
%_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols
%build
# for reproducible builds (bsc#1238303)
export PARALLELISM=1
cd linux-%srcversion
export LANG=en_US.utf8
%if %build_html

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-kvmsmall
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
# needssslcertforbuild
%define srcversion 6.10
%define patchversion 6.10.9
%define git_commit 5af77882e5891561a6c508a4a352a99c61465403
%define srcversion 6.14
%define patchversion 6.14.6
%define git_commit ad69173661e912fc54ea9589c400528b76aa8aca
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -31,15 +31,17 @@
%define supported_modules_check 0
%define build_flavor kvmsmall
%define generate_compile_commands 1
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-kvmsmall
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -59,8 +61,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -73,6 +75,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -135,7 +138,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -145,7 +148,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y"
%define klp_symbols 0
%define klp_ipa_clones 0
%endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@@ -209,7 +212,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -279,7 +281,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -356,14 +357,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -498,14 +500,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -788,6 +791,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -796,6 +802,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -824,7 +831,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif
@@ -833,7 +839,7 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -863,17 +869,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""
%if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
This package brings ipa-clones files, which are used to to track
set of functions where a code from another function can eventually occur.
%files %{livepatch}-devel -f livepatch-files
%endif
@@ -1292,6 +1295,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1484,14 +1490,9 @@ while true; do
fi
done
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json
%endif
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1680,27 +1681,22 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# List of symbols that are used to generate kernel livepatches
%if 0%{?klp_symbols}
cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir
# List of ipa-clones that are used to to track set of functions where a code from another function can eventually occur.
%if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif
%if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--verbatim-files-from \
--verbatim-files-from \
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
# Table of types used in exported symbols (for modversion debugging).
@@ -1814,7 +1810,8 @@ if [ %CONFIG_MODULES = y ]; then
%rpm_install_dir/%cpu_arch_flavor \
$(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
else
echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'export KBUILD_OUTPUT = %obj_install_dir/%cpu_arch_flavor' > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'include ../../../%{basename:%src_install_dir}/Makefile' >> %rpm_install_dir/%cpu_arch_flavor/Makefile
fi
fi
@@ -1895,7 +1892,7 @@ shopt -s nullglob dotglob
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$'| \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image
@@ -1993,7 +1990,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -2004,7 +2001,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-lpae
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
# needssslcertforbuild
%define srcversion 6.10
%define patchversion 6.10.9
%define git_commit 5af77882e5891561a6c508a4a352a99c61465403
%define srcversion 6.14
%define patchversion 6.14.6
%define git_commit ad69173661e912fc54ea9589c400528b76aa8aca
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -31,15 +31,17 @@
%define supported_modules_check 0
%define build_flavor lpae
%define generate_compile_commands 1
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-lpae
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -59,8 +61,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -73,6 +75,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -135,7 +138,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -145,7 +148,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y"
%define klp_symbols 0
%define klp_ipa_clones 0
%endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@@ -209,7 +212,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -279,7 +281,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -356,14 +357,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -492,14 +494,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -764,6 +767,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -772,6 +778,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -800,7 +807,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif
@@ -809,7 +815,7 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -839,17 +845,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""
%if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
This package brings ipa-clones files, which are used to to track
set of functions where a code from another function can eventually occur.
%files %{livepatch}-devel -f livepatch-files
%endif
@@ -1268,6 +1271,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1460,14 +1466,9 @@ while true; do
fi
done
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json
%endif
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1656,27 +1657,22 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# List of symbols that are used to generate kernel livepatches
%if 0%{?klp_symbols}
cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir
# List of ipa-clones that are used to to track set of functions where a code from another function can eventually occur.
%if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif
%if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--verbatim-files-from \
--verbatim-files-from \
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
# Table of types used in exported symbols (for modversion debugging).
@@ -1790,7 +1786,8 @@ if [ %CONFIG_MODULES = y ]; then
%rpm_install_dir/%cpu_arch_flavor \
$(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
else
echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'export KBUILD_OUTPUT = %obj_install_dir/%cpu_arch_flavor' > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'include ../../../%{basename:%src_install_dir}/Makefile' >> %rpm_install_dir/%cpu_arch_flavor/Makefile
fi
fi
@@ -1871,7 +1868,7 @@ shopt -s nullglob dotglob
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$'| \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image
@@ -1969,7 +1966,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -1980,7 +1977,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-obs-build
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
%define patchversion 6.10.9
%define patchversion 6.14.6
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -38,16 +38,16 @@
%endif
%endif
%endif
%global kernel_package kernel%kernel_flavor-srchash-5af77882e5891561a6c508a4a352a99c61465403
%global kernel_package kernel%kernel_flavor-srchash-ad69173661e912fc54ea9589c400528b76aa8aca
%endif
%if 0%{?rhel_version}
%global kernel_package kernel
%endif
Name: kernel-obs-build
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -127,7 +127,7 @@ export KERNEL_MODULES="
loop dm-crypt essiv dm-mod dm-snapshot binfmt-misc fuse kqemu squashfs ext2 ext3 ext4 btrfs
xfs nf_conntrack_ipv6 binfmt_misc virtio_pci virtio_mmio virtio_blk virtio_rng fat vfat
nls_cp437 nls_iso8859-1 ibmvscsi sd_mod e1000 ibmveth overlay 9p 9pnet_virtio qemu_fw_cfg
algif_hash aegis128 xts bridge br_netfilter nf_nat xt_conntrack iptable_nat iptable_filter
algif_hash aegis128 xts bridge br_netfilter nf_nat nf_tables xt_conntrack iptable_nat iptable_filter
iso9660"
# manually load all modules to make sure they're available

View File

@@ -127,7 +127,7 @@ export KERNEL_MODULES="
loop dm-crypt essiv dm-mod dm-snapshot binfmt-misc fuse kqemu squashfs ext2 ext3 ext4 btrfs
xfs nf_conntrack_ipv6 binfmt_misc virtio_pci virtio_mmio virtio_blk virtio_rng fat vfat
nls_cp437 nls_iso8859-1 ibmvscsi sd_mod e1000 ibmveth overlay 9p 9pnet_virtio qemu_fw_cfg
algif_hash aegis128 xts bridge br_netfilter nf_nat xt_conntrack iptable_nat iptable_filter
algif_hash aegis128 xts bridge br_netfilter nf_nat nf_tables xt_conntrack iptable_nat iptable_filter
iso9660"
# manually load all modules to make sure they're available

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-obs-qa
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,15 +17,15 @@
# needsrootforbuild
%define patchversion 6.10.9
%define patchversion 6.14.6
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
Name: kernel-obs-qa
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-pae
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
# needssslcertforbuild
%define srcversion 6.10
%define patchversion 6.10.9
%define git_commit 5af77882e5891561a6c508a4a352a99c61465403
%define srcversion 6.14
%define patchversion 6.14.6
%define git_commit ad69173661e912fc54ea9589c400528b76aa8aca
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -31,15 +31,17 @@
%define supported_modules_check 0
%define build_flavor pae
%define generate_compile_commands 1
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-pae
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -59,8 +61,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -73,6 +75,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -135,7 +138,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -145,7 +148,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y"
%define klp_symbols 0
%define klp_ipa_clones 0
%endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@@ -209,7 +212,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -279,7 +281,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -356,14 +357,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -514,14 +516,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -828,6 +831,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -836,6 +842,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%ifarch %ix86
Provides: kernel-desktop-devel = 4.3
Obsoletes: kernel-desktop-devel <= 4.3
@@ -872,7 +879,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif
@@ -881,7 +887,7 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -911,17 +917,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""
%if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
This package brings ipa-clones files, which are used to to track
set of functions where a code from another function can eventually occur.
%files %{livepatch}-devel -f livepatch-files
%endif
@@ -1340,6 +1343,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1532,14 +1538,9 @@ while true; do
fi
done
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json
%endif
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1728,27 +1729,22 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# List of symbols that are used to generate kernel livepatches
%if 0%{?klp_symbols}
cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir
# List of ipa-clones that are used to to track set of functions where a code from another function can eventually occur.
%if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif
%if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--verbatim-files-from \
--verbatim-files-from \
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
# Table of types used in exported symbols (for modversion debugging).
@@ -1862,7 +1858,8 @@ if [ %CONFIG_MODULES = y ]; then
%rpm_install_dir/%cpu_arch_flavor \
$(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
else
echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'export KBUILD_OUTPUT = %obj_install_dir/%cpu_arch_flavor' > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'include ../../../%{basename:%src_install_dir}/Makefile' >> %rpm_install_dir/%cpu_arch_flavor/Makefile
fi
fi
@@ -1943,7 +1940,7 @@ shopt -s nullglob dotglob
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$'| \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image
@@ -2041,7 +2038,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -2052,7 +2049,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-source
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,19 +16,21 @@
#
%define srcversion 6.10
%define patchversion 6.10.9
%define git_commit 5af77882e5891561a6c508a4a352a99c61465403
%define srcversion 6.14
%define patchversion 6.14.6
%define git_commit ad69173661e912fc54ea9589c400528b76aa8aca
%define variant %{nil}
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-source
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -105,7 +107,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -151,6 +152,7 @@ Recommends: dwarves >= 1.22
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
Recommends: kernel-install-tools
%endif
Recommends: %gcc_package
%obsolete_rebuilds %name
# Force bzip2 instead of lzma compression to
@@ -270,6 +272,8 @@ fi
linux-%kernelrelease%variant linux-%kernelrelease-vanilla
cd linux-%kernelrelease-vanilla
%_sourcedir/apply-patches --vanilla %_sourcedir/series.conf %my_builddir %symbols
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
rm -f $(find . -name ".gitignore")
# Hardlink duplicate files automatically (from package fdupes).
%fdupes $PWD
@@ -278,6 +282,8 @@ cd ..
cd linux-%kernelrelease%variant
%_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
rm -f $(find . -name ".gitignore")
if [ -f %_sourcedir/localversion ] ; then
@@ -317,8 +323,9 @@ popd
find %{buildroot}/usr/src/linux* -type f -name '*.[ch]' -perm /0111 -exec chmod -v a-x {} +
# OBS checks don't like /usr/bin/env in script interpreter lines
grep -Elr '^#! */usr/bin/env ' %{buildroot}/usr/src/linux* | while read f; do
sed -re '1 { s_^#! */usr/bin/env +/_#!/_ ; s_^#! */usr/bin/env +([^/])_#!/usr/bin/\1_ }' -i "$f"
grep -Elr '^#! */(usr/)?bin/env ' %{buildroot}/usr/src/linux* | while read f; do
sed -re '1 { s_^#! */usr/bin/env +/_#!/_ ; s_^#! */usr/bin/env +([^/])_#!/usr/bin/\1_ }' \
-re '1 { s_^#! */bin/env +/_#!/_ ; s_^#! */bin/env +([^/])_#!/usr/bin/\1_ }' -i "$f"
done
# kernel-source and kernel-$flavor-devel are built independently, but the
# shipped sources (/usr/src/linux/) need to be older than generated files

View File

@@ -20,6 +20,8 @@
%define patchversion @PATCHVERSION@
%define git_commit @COMMIT_FULL@
%define variant @VARIANT@%{nil}
%define gcc_package @GCC_PACKAGE@
%define gcc_compiler @GCC_COMPILER@
%include %_sourcedir/kernel-spec-macros
@@ -105,7 +107,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -151,6 +152,7 @@ Recommends: dwarves >= 1.22
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
Recommends: kernel-install-tools
%endif
Recommends: %gcc_package
%obsolete_rebuilds %name
# Force bzip2 instead of lzma compression to
@@ -270,6 +272,8 @@ fi
linux-%kernelrelease%variant linux-%kernelrelease-vanilla
cd linux-%kernelrelease-vanilla
%_sourcedir/apply-patches --vanilla %_sourcedir/series.conf %my_builddir %symbols
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
rm -f $(find . -name ".gitignore")
# Hardlink duplicate files automatically (from package fdupes).
%fdupes $PWD
@@ -278,6 +282,8 @@ cd ..
cd linux-%kernelrelease%variant
%_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
rm -f $(find . -name ".gitignore")
if [ -f %_sourcedir/localversion ] ; then
@@ -317,8 +323,9 @@ popd
find %{buildroot}/usr/src/linux* -type f -name '*.[ch]' -perm /0111 -exec chmod -v a-x {} +
# OBS checks don't like /usr/bin/env in script interpreter lines
grep -Elr '^#! */usr/bin/env ' %{buildroot}/usr/src/linux* | while read f; do
sed -re '1 { s_^#! */usr/bin/env +/_#!/_ ; s_^#! */usr/bin/env +([^/])_#!/usr/bin/\1_ }' -i "$f"
grep -Elr '^#! */(usr/)?bin/env ' %{buildroot}/usr/src/linux* | while read f; do
sed -re '1 { s_^#! */usr/bin/env +/_#!/_ ; s_^#! */usr/bin/env +([^/])_#!/usr/bin/\1_ }' \
-re '1 { s_^#! */bin/env +/_#!/_ ; s_^#! */bin/env +([^/])_#!/usr/bin/\1_ }' -i "$f"
done
# kernel-source and kernel-$flavor-devel are built independently, but the
# shipped sources (/usr/src/linux/) need to be older than generated files

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-syms
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,16 +16,16 @@
#
%define git_commit 5af77882e5891561a6c508a4a352a99c61465403
%define git_commit ad69173661e912fc54ea9589c400528b76aa8aca
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
Name: kernel-syms
Version: 6.10.9
Version: 6.14.6
%if %using_buildservice
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-vanilla
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
# needssslcertforbuild
%define srcversion 6.10
%define patchversion 6.10.9
%define git_commit 5af77882e5891561a6c508a4a352a99c61465403
%define srcversion 6.14
%define patchversion 6.14.6
%define git_commit ad69173661e912fc54ea9589c400528b76aa8aca
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -31,15 +31,17 @@
%define supported_modules_check 0
%define build_flavor vanilla
%define generate_compile_commands 1
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-vanilla
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -59,8 +61,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -73,6 +75,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -135,7 +138,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -145,7 +148,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y"
%define klp_symbols 0
%define klp_ipa_clones 0
%endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@@ -209,7 +212,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -279,7 +281,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -356,14 +357,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -491,14 +493,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -760,6 +763,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -768,6 +774,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -796,7 +803,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif
@@ -805,7 +811,7 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -835,17 +841,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""
%if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
This package brings ipa-clones files, which are used to to track
set of functions where a code from another function can eventually occur.
%files %{livepatch}-devel -f livepatch-files
%endif
@@ -1264,6 +1267,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1456,14 +1462,9 @@ while true; do
fi
done
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json
%endif
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1652,27 +1653,22 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# List of symbols that are used to generate kernel livepatches
%if 0%{?klp_symbols}
cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir
# List of ipa-clones that are used to to track set of functions where a code from another function can eventually occur.
%if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif
%if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--verbatim-files-from \
--verbatim-files-from \
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
# Table of types used in exported symbols (for modversion debugging).
@@ -1786,7 +1782,8 @@ if [ %CONFIG_MODULES = y ]; then
%rpm_install_dir/%cpu_arch_flavor \
$(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
else
echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'export KBUILD_OUTPUT = %obj_install_dir/%cpu_arch_flavor' > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'include ../../../%{basename:%src_install_dir}/Makefile' >> %rpm_install_dir/%cpu_arch_flavor/Makefile
fi
fi
@@ -1867,7 +1864,7 @@ shopt -s nullglob dotglob
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$'| \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image
@@ -1965,7 +1962,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -1976,7 +1973,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-zfcpdump
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,9 +17,9 @@
# needssslcertforbuild
%define srcversion 6.10
%define patchversion 6.10.9
%define git_commit 5af77882e5891561a6c508a4a352a99c61465403
%define srcversion 6.14
%define patchversion 6.14.6
%define git_commit ad69173661e912fc54ea9589c400528b76aa8aca
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -31,15 +31,17 @@
%define supported_modules_check 0
%define build_flavor zfcpdump
%define generate_compile_commands 1
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-zfcpdump
Version: 6.10.9
Version: 6.14.6
%if 0%{?is_kotd}
Release: <RELEASE>.g5af7788
Release: <RELEASE>.gad69173
%else
Release: 0
%endif
@@ -59,8 +61,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -73,6 +75,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -135,7 +138,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -145,7 +148,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y"
%define klp_symbols 0
%define klp_ipa_clones 0
%endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@@ -209,7 +212,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb
Source75: release-projects
Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips
Source79: splitflist
Source80: mergedep
@@ -279,7 +281,6 @@ NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -356,14 +357,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -494,14 +496,15 @@ Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# This Requires is wrong, because the post/postun scripts have a
# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
# But, there is no way to tell rpm or yast to schedule the installation
# of perl-Bootloader before kernel-binary.rpm if both are in the list of
# packages to install/update. Likewise, this is true for dracut.
# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
Requires(post): perl-Bootloader >= 0.4.15
Requires(post): dracut
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
OrderWithRequires(post): udev
OrderWithRequires(post): systemd-boot
OrderWithRequires(post): perl-Bootloader
OrderWithRequires(post): update-bootloader
OrderWithRequires(post): dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -772,6 +775,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -780,6 +786,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -808,7 +815,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif
@@ -817,7 +823,7 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -847,17 +853,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir
%endif
%if 0%{?klp_symbols} && "%livepatch" != ""
%if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all
kernel symbols and its respective kernel object . This list is to be used by
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
This package brings ipa-clones files, which are used to to track
set of functions where a code from another function can eventually occur.
%files %{livepatch}-devel -f livepatch-files
%endif
@@ -1276,6 +1279,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1468,14 +1474,9 @@ while true; do
fi
done
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json
%endif
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1664,27 +1665,22 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %rpm_install_dir/%cpu_arch/%build_flavor
# List of symbols that are used to generate kernel livepatches
%if 0%{?klp_symbols}
cp Symbols.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/Symbols.list > %my_builddir/livepatch-files.no_dir
# List of ipa-clones that are used to to track set of functions where a code from another function can eventually occur.
%if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif
%if "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
find %kernel_build_dir -name "*.ipa-clones" ! -size 0 | sed -e 's|^%kernel_build_dir/||' | sort > ipa-clones.list
cp ipa-clones.list %rpm_install_dir/%cpu_arch/%build_flavor
echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
tar -C %kernel_build_dir \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--verbatim-files-from \
--verbatim-files-from \
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf-
cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif
# Table of types used in exported symbols (for modversion debugging).
@@ -1798,7 +1794,8 @@ if [ %CONFIG_MODULES = y ]; then
%rpm_install_dir/%cpu_arch_flavor \
$(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
else
echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'export KBUILD_OUTPUT = %obj_install_dir/%cpu_arch_flavor' > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'include ../../../%{basename:%src_install_dir}/Makefile' >> %rpm_install_dir/%cpu_arch_flavor/Makefile
fi
fi
@@ -1879,7 +1876,7 @@ shopt -s nullglob dotglob
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$'| \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image
@@ -1977,7 +1974,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -1988,7 +1985,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

View File

@@ -1,72 +0,0 @@
#!/bin/bash
set -e
export LC_COLLATE=C
usage()
{
echo "Tool to generate list of symbols that are used to build kernel livepatches"
echo
echo "Usage: ${0##*/} kernel_build_dir klp_symbols"
echo " kernel_build_dir Directory where to find the built kernel binaries"
echo " klp_symbols Output file with the list of symbols"
}
if test "$1" == "-h" -o "$1" == "--help" -o $# -ne 2 ; then
usage >&2
exit 1
fi
KLP_DATA_VERSION="0.1"
KERNEL_BUILD_DIR="$1"
KLP_SYMBOLS="$2"
VMLINUX="$KERNEL_BUILD_DIR/vmlinux"
MODVER_DIR="$KERNEL_BUILD_DIR/.tmp_versions"
if ! test -f "$VMLINUX" ; then
echo "Error: Cannot open file: $VMLINUX" >&2
exit 1
fi
if ! test -d "$MODVER_DIR" ; then
# kernel >= 5.3 has *.mod in the build tree
mod_cnt=$(find "$KERNEL_BUILD_DIR" -name '*.mod' | wc -l)
if [ $mod_cnt -eq 0 ]; then
echo "Error: Directory does not exist: $MODVER_DIR" >&2
exit 1
fi
MODVER_DIR="$KERNEL_BUILD_DIR"
fi
get_symbols()
{
nm -f posix "$1" | grep -v '\( [UN] \)\|\(\.L\|__crc_\)' | cut -d\ -f1
}
echo "klp-convert-symbol-data.$KLP_DATA_VERSION" > "$KLP_SYMBOLS"
echo "*vmlinux" >> "$KLP_SYMBOLS"
get_symbols "$VMLINUX" >> "$KLP_SYMBOLS"
find "$MODVER_DIR" -iname '*.mod' | sort | while read KMOD ; do
if [ "$MODVER_DIR" = "$KERNEL_BUILD_DIR" ]; then
# kernel >= 5.3, just replace the suffix
KO_FILE="${KMOD%.mod}.ko"
else
# kernel <= 5.2, read .ko path and file from .mod file
KO_FILE="$(head -n1 $KMOD)"
fi
# obtain module name and its object file by processing .ko file name
NO_SUFFIX="$(basename -s .ko $KO_FILE)"
KMOD_NAME="$(echo $NO_SUFFIX | sed 's/-/_/g')"
OBJ_FILE="$(dirname $KO_FILE)/$NO_SUFFIX.o"
# write module name to Symbols file
echo "*$KMOD_NAME" >> "$KLP_SYMBOLS"
# extract symbols from object file and write them to Symbols file
get_symbols "$OBJ_FILE" >> "$KLP_SYMBOLS"
done
exit 0

View File

@@ -1,19 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Comment: This signature is for the .tar version of the archive
Comment: git archive --format tar --prefix=linux-6.10/ v6.10
Comment: git version 2.45.2
iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmaUsSAACgkQONu9yGCS
aT78GBAAoIE07mO37CHmfOnlfold0fQ8pQbz66KrRp9vFbHlNF1k+t33mEpI3ZCw
b0mmuytDzcNYRHPiJWxjD6Z+5c/Sh/gTS4ciG9gdzVje2Hrd5zdMgHxBgDkkmcvU
bwPozW8AndTZt8HYlRlyaedRXI9aevYLl0SQmUgecfvyS29ZzHPjMBL5s5KOXu+8
ImhUysPRcQzSfW8jdKJIXklbx5pQ6Zc0v0KTOM1Qzj9ij/iwjlSXyPqIkXsyglBa
DcvqQ/eVgD6vRC11j+UQQC8NDGufGs6RUvjbedUW9/R1gTuppGotiJCe81Jslg32
zibTbn+8UNNZrgWfIsAPLJIfbwUzmFryWED/SrqMCqWHhuGzhwGDwBKcOiKYf767
SrGz+dE9ONipHvoX46EjIz5VwnbtWWUEjkjV356efrWwey96Ax64BOnB0py/aCmw
jg9FnXaiirPpZzEEg2LGFswx4oTh/NYNeSpF2v1zR16lBW0MRffRVHHt+gZbmgMj
A9dMUxBEXt5t/XFwM8F3fWWgzfM3ggigpIL5RWQWvPYdK32d7SELb6Bmeao6XhVj
bq6LHokDxHuboMowvaEPeodEnZcYC26A+LuLkY0AZZ6x0z9nNl1E6iVm9JZL4RsW
pGs7kc0RbMrNSkktsWsgDqgYxUWOx/eGfhFI2/dzMR1ELtstUBA=
=zwdu
-----END PGP SIGNATURE-----

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:774698422ee54c5f1e704456f37c65c06b51b4e9a8b0866f34580d86fef8e226
size 145142812

19
linux-6.14.tar.sign Normal file
View File

@@ -0,0 +1,19 @@
-----BEGIN PGP SIGNATURE-----
Comment: This signature is for the .tar version of the archive
Comment: git archive --format tar --prefix=linux-6.14/ v6.14
Comment: git version 2.49.0
iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmfhdasACgkQONu9yGCS
aT5MVQ/+O2twsUA9kCSVelVs80Ys/vGrw278h5CLpYoaYsxDhjQWtAqFhiYuYsSf
fqWeyQJQs55YUcfCJGss4FPqWyxjNGoYVqv+GwJZIv74/kmjE31an+L0k5qEXiz5
bBzwFKUobGe2UAsNWuCTgoDh7M/Xsdz+MPq9E/7gfvRwEEjKX++scEVnGV3Qy7NS
oEOzdZpynksmF3OTnzky53XGVoW9Tk6As5r3pYy7F3KHcu/QmWKOIbU6t1+9XN08
8QvGKdnEwv6Isd7zrg2BP6gdQfwLmP9FJbsrZ5c9XP3zNz2DsEG8H459IucCOmUR
T3kkBonxSxlMdKRC23Nxmxb7wrzL4sGw8PC2a6iAFH+4glTc+jzvftKHzIPBQeFg
HC4cSb1j3EEVyv+RnQNEBShY+4ghT0Zofc5k3rSPUYpW9xn0bzFNq1sP7/7nTaYG
TNDBJrJEQmq4GarKWZ2y11I4mw7l/PBvfQpgxm6ABHfUdl0yPy89SOiBfMw+8b2Y
mk5AXuO3qdAYqVTXUodWn79Rtno5Zrj7UXMQjoK9LcP1lr1JVvC8I/gDktdBjgqW
60KkX0tNfIw0TzkcK/ogewBKKKRJJ1VZZOGx+tw/7ShBUpyAEu1boosx6bT88GVN
k1wLp1FVnouFdIBLih2/ROJjTYTWUUWmvQrHYufis0AAb9Mmtjg=
=hEZa
-----END PGP SIGNATURE-----

3
linux-6.14.tar.xz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a294b683e7b161bb0517bb32ec7ed1d2ea7603dfbabad135170ed12d00c47670
size 149408504

9
mkspec
View File

@@ -40,12 +40,19 @@ my ($srcversion, $variant, $obs_build_variant) =
$obs_build_variant = ($obs_build_variant ? $variant : "" );
my $compress_modules = 'none';
my $compress_vmlinux = 'gz';
my $gcc_package = 'gcc';
my $gcc_compiler = 'gcc';
if (defined($vars{'COMPRESS_MODULES'})) {
$compress_modules = $vars{'COMPRESS_MODULES'};
}
if (defined($vars{'COMPRESS_VMLINUX'})) {
$compress_vmlinux = $vars{'COMPRESS_VMLINUX'};
}
if (defined($vars{'GCC_VERSION'})) {
my $gcc_version = $vars{'GCC_VERSION'};
$gcc_package = 'gcc' . $gcc_version;
$gcc_compiler = 'gcc-' . $gcc_version;
}
sub detect_false {
my $arg = $_[0];
return "" if not $arg;
@@ -142,6 +149,8 @@ my %macros = (
COMPRESS_MODULES => $compress_modules,
COMPRESS_VMLINUX => $compress_vmlinux,
GENERATE_COMPILE_COMMANDS => $generate_compile_commands,
GCC_PACKAGE => $gcc_package,
GCC_COMPILER => $gcc_compiler,
);
# binary spec files

View File

@@ -24,7 +24,6 @@ my @armv7l_package_list = (
['dtb-imx6', 'nxp/imx/imx6*.dts', "Freescale i.MX6 based systems"],
['dtb-imx7', 'nxp/imx/imx7*.dts', "Freescale i.MX7 based systems"],
['dtb-keystone', 'ti/keystone/keystone-*.dts', "TI Keystone 2 based systems"],
['dtb-meson6', 'amlogic/meson6-*.dts', "Amlogic Meson 6 based systems"],
['dtb-meson8', 'amlogic/meson8-*.dts', "Amlogic Meson 8 based systems"],
['dtb-meson8b', 'amlogic/meson8b-*.dts', "Amlogic Meson 8b based systems"],
['dtb-mt76', 'mediatek/mt76*.dts', "MediaTek mt76 based systems"],

View File

@@ -78,6 +78,19 @@ The kernel for arm64 and x86_64 architectures that supports CONFIG_PREEMPT. Its
main purpose is to serve workloads with a higher demand on smaller latencies
than the default kernel in average.
=== kernel-rt ===
Kernel with PREEMPT_RT (realtime) support
The kernel for arm64 and x86_64 architectures that supports CONFIG_PREEMPT_RT. Its
main purpose is to serve workloads with strict latency requirements with more
deterministic worst case behaviour than the default kernel.
=== kernel-rt_debug ===
A Debug Version of the PREEMPT_RT Kernel
This kernel has several debug facilities enabled that hurt performance.
Only use this kernel when investigating problems.
=== kernel-syzkaller ===
Kernel used for fuzzing by syzkaller

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:27e4c0fc8297a513046b0d1078a960e9d978dbc12cd21ecf9cf7af74f63fe640
size 1382781
oid sha256:d48cb07dec0385d3dd28bdae38513f357239d936f942743f3950af3f225959a8
size 1525861

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:26cbaa296e21a490af5339b646b1d2d9934d889527d089b43ccb3f2e7d3e6704
size 3639
oid sha256:b0ddc67e8c27919c5c315dad0e46d8fbf53cb713bd9380c866ce21895cc9b554
size 4144

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:625ecf57571680e3817d118381ef514e553d74bd6b8d2c028ec8a3610f71deab
size 43247
oid sha256:121f0ad5837925f24baf9e266720a453750040894dc79958de8a202fe8813686
size 134531

View File

@@ -1,6 +1,9 @@
# This file contains regular expressions that define which projects
# are considered part of an official release channel.
# This will mark the kernel as released when it's built.
SUSE:SLFO:[0-9].*
SUSE:ALP:Source:Standard:Core:1.0:Build
SUSE:SLFO:Kernel:1.0:Build
SUSE:SLE-.*
SUSE:Maintenance:.*
openSUSE:[0-9].*:Update

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,3 @@
2024-09-08 13:43:05 +0000
GIT Revision: 5af77882e5891561a6c508a4a352a99c61465403
2025-05-13 09:56:22 +0000
GIT Revision: ad69173661e912fc54ea9589c400528b76aa8aca
GIT Branch: stable

View File

@@ -167,6 +167,7 @@ if $opt_extra && test -f "$opt_builddir/Module.optional"; then
esac
path=${path%.ko}
mod=${path##*/}
mod=$(echo "$mod" | sed 'y/-/_/')
modmarks["$mod"]="$mark"
# paths with wildcards need to be verified sequentially, so we keep
# the paths in the array wcpaths and each mark in wcmarks[]
@@ -185,6 +186,7 @@ if $opt_extra && test -f "$opt_builddir/Module.optional"; then
esac
path=${path%.ko}
mod=${path##*/}
mod=$(echo "$mod" | sed 'y/-/_/')
x=${modmarks["$mod"]}
if [ -n "$x" ]; then
test x"$x" = x"-" && echo "$xpath"
@@ -192,6 +194,7 @@ if $opt_extra && test -f "$opt_builddir/Module.optional"; then
fi
# unmatched modules must be handled via wildcard
path=${path#/usr}
path=${path#/lib/modules/*/kernel/}
for m in "${wcpaths[@]}"; do
case "$path" in