Sync from SUSE:SLFO:Main kernel-source revision 0334cbaa688a134d499d3e2f3d037eca

This commit is contained in:
Adrian Schröter 2025-02-27 18:45:28 +01:00
parent d0f051cc04
commit 8984b3b1ec
33 changed files with 38848 additions and 355 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:

BIN
config.tar.bz2 (Stored with Git LFS)

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -22,12 +22,12 @@
%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.12.0
%if 0%{?is_kotd}
Release: <RELEASE>.g6642b42
Release: <RELEASE>.g6dd51d0
%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

@ -19,7 +19,7 @@
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit 6642b425d8de140c969bc185b2b1527f15588dfc
%define git_commit 6dd51d0a11560ade1bafd2a3c43cd094fed165dd
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@ -34,12 +34,12 @@
%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.12.0
%if 0%{?is_kotd}
Release: <RELEASE>.g6642b42
Release: <RELEASE>.g6dd51d0
%else
Release: 0
%endif
@ -73,6 +73,9 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
%if 0%{?suse_version} == 1600
BuildRequires: gcc13
%endif
# 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
@ -780,6 +781,9 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
%if 0%{?suse_version} == 1600
Requires: gcc13
%endif
%obsolete_rebuilds %name-devel
PreReq: coreutils
@ -808,7 +812,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
@ -847,17 +850,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
@ -1320,6 +1320,10 @@ EOF
../scripts/config --set-str CONFIG_MODULE_SIG_KEY ".kernel_signing_key.pem"
fi
%if 0%{?suse_version} == 1600
MAKE_ARGS="$MAKE_ARGS CC=gcc-13"
%endif
case %cpu_arch in
x86_64 | i386)
MAKE_ARGS="$MAKE_ARGS ARCH=x86"
@ -1415,14 +1419,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
%endif
%install
@ -1611,27 +1610,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).
@ -1745,7 +1739,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
@ -1826,7 +1821,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

View File

@ -73,6 +73,9 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
%if 0%{?suse_version} == 1600
BuildRequires: gcc13
%endif
# 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 \
@ -585,6 +588,9 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
%if 0%{?suse_version} == 1600
Requires: gcc13
%endif
@PROVIDES_OBSOLETES_DEVEL@
%obsolete_rebuilds %name-devel
PreReq: coreutils
@ -614,7 +620,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
@ -653,17 +658,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
@ -897,6 +899,10 @@ EOF
../scripts/config --set-str CONFIG_MODULE_SIG_KEY ".kernel_signing_key.pem"
fi
%if 0%{?suse_version} == 1600
MAKE_ARGS="$MAKE_ARGS CC=gcc-13"
%endif
case %cpu_arch in
x86_64 | i386)
MAKE_ARGS="$MAKE_ARGS ARCH=x86"
@ -992,14 +998,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
%endif
%install
@ -1188,27 +1189,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 +1318,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 +1400,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

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit 6642b425d8de140c969bc185b2b1527f15588dfc
%define git_commit 6dd51d0a11560ade1bafd2a3c43cd094fed165dd
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@ -34,12 +34,12 @@
%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.12.0
%if 0%{?is_kotd}
Release: <RELEASE>.g6642b42
Release: <RELEASE>.g6dd51d0
%else
Release: 0
%endif
@ -73,6 +73,9 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
%if 0%{?suse_version} == 1600
BuildRequires: gcc13
%endif
# 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
@ -772,6 +773,9 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
%if 0%{?suse_version} == 1600
Requires: gcc13
%endif
%obsolete_rebuilds %name-devel
PreReq: coreutils
@ -800,7 +804,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
@ -839,17 +842,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
@ -1312,6 +1312,10 @@ EOF
../scripts/config --set-str CONFIG_MODULE_SIG_KEY ".kernel_signing_key.pem"
fi
%if 0%{?suse_version} == 1600
MAKE_ARGS="$MAKE_ARGS CC=gcc-13"
%endif
case %cpu_arch in
x86_64 | i386)
MAKE_ARGS="$MAKE_ARGS ARCH=x86"
@ -1407,14 +1411,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
%endif
%install
@ -1603,27 +1602,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).
@ -1737,7 +1731,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
@ -1818,7 +1813,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

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit 6642b425d8de140c969bc185b2b1527f15588dfc
%define git_commit 6dd51d0a11560ade1bafd2a3c43cd094fed165dd
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@ -34,12 +34,12 @@
%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.12.0
%if 0%{?is_kotd}
Release: <RELEASE>.g6642b42
Release: <RELEASE>.g6dd51d0
%else
Release: 0
%endif
@ -73,6 +73,9 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
%if 0%{?suse_version} == 1600
BuildRequires: gcc13
%endif
# 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
@ -848,6 +849,9 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
%if 0%{?suse_version} == 1600
Requires: gcc13
%endif
%ifarch s390x
Provides: kernel-trace-devel = 3.13
Obsoletes: kernel-trace-devel <= 3.13
@ -892,7 +896,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
@ -931,17 +934,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
@ -1404,6 +1404,10 @@ EOF
../scripts/config --set-str CONFIG_MODULE_SIG_KEY ".kernel_signing_key.pem"
fi
%if 0%{?suse_version} == 1600
MAKE_ARGS="$MAKE_ARGS CC=gcc-13"
%endif
case %cpu_arch in
x86_64 | i386)
MAKE_ARGS="$MAKE_ARGS ARCH=x86"
@ -1499,14 +1503,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
%endif
%install
@ -1695,27 +1694,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).
@ -1829,7 +1823,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
@ -1910,7 +1905,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

File diff suppressed because it is too large Load Diff

View File

@ -18,19 +18,19 @@
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit 6642b425d8de140c969bc185b2b1527f15588dfc
%define git_commit 6dd51d0a11560ade1bafd2a3c43cd094fed165dd
%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.12.0
%if 0%{?is_kotd}
Release: <RELEASE>.g6642b42
Release: <RELEASE>.g6dd51d0
%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

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit 6642b425d8de140c969bc185b2b1527f15588dfc
%define git_commit 6dd51d0a11560ade1bafd2a3c43cd094fed165dd
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@ -34,12 +34,12 @@
%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.12.0
%if 0%{?is_kotd}
Release: <RELEASE>.g6642b42
Release: <RELEASE>.g6dd51d0
%else
Release: 0
%endif
@ -73,6 +73,9 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
%if 0%{?suse_version} == 1600
BuildRequires: gcc13
%endif
# 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
@ -796,6 +797,9 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
%if 0%{?suse_version} == 1600
Requires: gcc13
%endif
%obsolete_rebuilds %name-devel
PreReq: coreutils
@ -824,7 +828,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
@ -863,17 +866,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
@ -1336,6 +1336,10 @@ EOF
../scripts/config --set-str CONFIG_MODULE_SIG_KEY ".kernel_signing_key.pem"
fi
%if 0%{?suse_version} == 1600
MAKE_ARGS="$MAKE_ARGS CC=gcc-13"
%endif
case %cpu_arch in
x86_64 | i386)
MAKE_ARGS="$MAKE_ARGS ARCH=x86"
@ -1431,14 +1435,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
%endif
%install
@ -1627,27 +1626,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).
@ -1761,7 +1755,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
@ -1842,7 +1837,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

File diff suppressed because it is too large Load Diff

View File

@ -38,7 +38,7 @@
%endif
%endif
%endif
%global kernel_package kernel%kernel_flavor-srchash-6642b425d8de140c969bc185b2b1527f15588dfc
%global kernel_package kernel%kernel_flavor-srchash-6dd51d0a11560ade1bafd2a3c43cd094fed165dd
%endif
%if 0%{?rhel_version}
%global kernel_package kernel
@ -47,7 +47,7 @@
Name: kernel-obs-build
Version: 6.12.0
%if 0%{?is_kotd}
Release: <RELEASE>.g6642b42
Release: <RELEASE>.g6dd51d0
%else
Release: 0
%endif

File diff suppressed because it is too large Load Diff

View File

@ -25,7 +25,7 @@
Name: kernel-obs-qa
Version: 6.12.0
%if 0%{?is_kotd}
Release: <RELEASE>.g6642b42
Release: <RELEASE>.g6dd51d0
%else
Release: 0
%endif

File diff suppressed because it is too large Load Diff

View File

@ -18,17 +18,17 @@
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit 6642b425d8de140c969bc185b2b1527f15588dfc
%define git_commit 6dd51d0a11560ade1bafd2a3c43cd094fed165dd
%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: kernel-source
Version: 6.12.0
%if 0%{?is_kotd}
Release: <RELEASE>.g6642b42
Release: <RELEASE>.g6dd51d0
%else
Release: 0
%endif
@ -105,7 +105,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 +150,9 @@ Recommends: dwarves >= 1.22
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
Recommends: kernel-install-tools
%endif
%if 0%{?suse_version} == 1600
Recommends: gcc13
%endif
%obsolete_rebuilds %name
# Force bzip2 instead of lzma compression to

View File

@ -105,7 +105,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 +150,9 @@ Recommends: dwarves >= 1.22
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
Recommends: kernel-install-tools
%endif
%if 0%{?suse_version} == 1600
Recommends: gcc13
%endif
%obsolete_rebuilds %name
# Force bzip2 instead of lzma compression to

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,7 @@
#
%define git_commit 6642b425d8de140c969bc185b2b1527f15588dfc
%define git_commit 6dd51d0a11560ade1bafd2a3c43cd094fed165dd
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@ -25,7 +25,7 @@ Name: kernel-syms
Version: 6.12.0
%if %using_buildservice
%if 0%{?is_kotd}
Release: <RELEASE>.g6642b42
Release: <RELEASE>.g6dd51d0
%else
Release: 0
%endif

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit 6642b425d8de140c969bc185b2b1527f15588dfc
%define git_commit 6dd51d0a11560ade1bafd2a3c43cd094fed165dd
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@ -34,12 +34,12 @@
%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.12.0
%if 0%{?is_kotd}
Release: <RELEASE>.g6642b42
Release: <RELEASE>.g6dd51d0
%else
Release: 0
%endif
@ -73,6 +73,9 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
%if 0%{?suse_version} == 1600
BuildRequires: gcc13
%endif
# 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
@ -780,6 +781,9 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
%if 0%{?suse_version} == 1600
Requires: gcc13
%endif
%obsolete_rebuilds %name-devel
PreReq: coreutils
@ -808,7 +812,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
@ -847,17 +850,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
@ -1320,6 +1320,10 @@ EOF
../scripts/config --set-str CONFIG_MODULE_SIG_KEY ".kernel_signing_key.pem"
fi
%if 0%{?suse_version} == 1600
MAKE_ARGS="$MAKE_ARGS CC=gcc-13"
%endif
case %cpu_arch in
x86_64 | i386)
MAKE_ARGS="$MAKE_ARGS ARCH=x86"
@ -1415,14 +1419,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
%endif
%install
@ -1611,27 +1610,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).
@ -1745,7 +1739,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
@ -1826,7 +1821,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

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

BIN
linux-6.12.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
patches.suse.tar.bz2 (Stored with Git LFS)

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -1,3 +1,3 @@
2025-02-04 15:54:44 +0000
GIT Revision: 6642b425d8de140c969bc185b2b1527f15588dfc
GIT Branch: users/vkarasulli/SUSE-2025/for-next
2025-02-25 12:54:45 +0000
GIT Revision: 6dd51d0a11560ade1bafd2a3c43cd094fed165dd
GIT Branch: SLE16

View File

@ -451,7 +451,7 @@
drivers/bluetooth/btmtk.ko
- drivers/bluetooth/btmtksdio
- drivers/bluetooth/btmtkuart
- drivers/bluetooth/btnxpuart # SP6-NEED-REVIEW
drivers/bluetooth/btnxpuart # SP6-NEED-REVIEW, jsc#PED-12016
drivers/bluetooth/btqca
- drivers/bluetooth/btqcomsmd
- drivers/bluetooth/btrsi
@ -2537,7 +2537,7 @@
- drivers/mailbox/bcm-pdc-mailbox
- drivers/mailbox/hi3660-mailbox
- drivers/mailbox/hi6220-mailbox
- drivers/mailbox/imx-mailbox # armv7hl
drivers/mailbox/imx-mailbox # armv7hl jsc#PED-12016
- drivers/mailbox/mailbox-altera # armv7hl
- drivers/mailbox/mailbox-sti # armv7hl
drivers/mailbox/mailbox-xgene-slimpro # fate#319483
@ -3341,7 +3341,7 @@
drivers/net/ethernet/freescale/enetc/fsl-enetc-mdio
drivers/net/ethernet/freescale/enetc/fsl-enetc-ptp
drivers/net/ethernet/freescale/enetc/fsl-enetc-vf
drivers/net/ethernet/freescale/fec # armv7hl
drivers/net/ethernet/freescale/fec # armv7hl jsc#PED-12016
drivers/net/ethernet/freescale/fman/*
- drivers/net/ethernet/freescale/fsl_pq_mdio
- drivers/net/ethernet/freescale/gianfar_driver
@ -3947,7 +3947,7 @@
- drivers/nvmem/nvmem-bcm-ocotp
-!optional drivers/nvmem/nvmem-imx-iim
- drivers/nvmem/nvmem-imx-ocotp
- drivers/nvmem/nvmem-imx-ocotp-ele
drivers/nvmem/nvmem-imx-ocotp-ele # jsc#PED-12016
- drivers/nvmem/nvmem-imx-ocotp-scu
- drivers/nvmem/nvmem-layerscape-sfp # SP6-NEED-REVIEW
drivers/nvmem/nvmem-rmem
@ -4016,7 +4016,7 @@
- drivers/perf/cxl_pmu
- drivers/perf/dwc_pcie_pmu
- drivers/perf/fsl_imx8_ddr_perf
- drivers/perf/fsl_imx9_ddr_perf
drivers/perf/fsl_imx9_ddr_perf # jsc#PED-12016
- drivers/perf/hisilicon/hisi_pcie_pmu # SP6-NEED-REVIEW
- drivers/perf/hisilicon/hns3_pmu # SP6-NEED-REVIEW
drivers/perf/hisilicon/*
@ -4433,6 +4433,7 @@
- drivers/pwm/pwm-stm32
- drivers/pwm/pwm-stm32-lp
drivers/pwm/pwm-tegra
drivers/pwm/pwm-imx-tpm # jsc#PED-12016
- drivers/pwm/*
- drivers/rapidio/rapidio
- drivers/rapidio/*
@ -4530,7 +4531,7 @@
- drivers/regulator/mt6397-regulator # armv7hl
- drivers/regulator/palmas-regulator # armv7hl
- drivers/regulator/pbias-regulator # armv7hl
-!optional drivers/regulator/pca9450-regulator
drivers/regulator/pca9450-regulator # jsc#PED-12016
- drivers/regulator/pf8x00-regulator
drivers/regulator/pfuze100-regulator # bsc#1199909
- drivers/regulator/pv88060-regulator
@ -4614,7 +4615,7 @@
- drivers/regulator/wm8400-regulator # armv7hl
-!optional drivers/regulator/wm8994-regulator
- drivers/remoteproc/imx_dsp_rproc # SP6-NEED-REVIEW
- drivers/remoteproc/imx_rproc
drivers/remoteproc/imx_rproc # jsc#PED-12016
- drivers/remoteproc/keystone_remoteproc # armv7hl
- drivers/remoteproc/mtk_scp
- drivers/remoteproc/mtk_scp_ipi
@ -4889,6 +4890,7 @@
- drivers/soc/hisilicon/kunpeng_hccs
-!optional drivers/soc/imx/imx93-pd # SP6-NEED-REVIEW
-!optional drivers/soc/imx/imx93-src # SP6-NEED-REVIEW
drivers/soc/imx/soc-imx9 # jsc#PED-12016
- drivers/soc/mediatek/mtk-cmdq-helper
- drivers/soc/mediatek/mtk-devapc
- drivers/soc/mediatek/mtk-mmsys # SP6-NEED-REVIEW
@ -4946,7 +4948,7 @@
- drivers/spi/spi-dw-pci
- drivers/spi/spi-fsi # SP6-NEED-REVIEW
drivers/spi/spi-fsl-dspi
-!optional drivers/spi/spi-fsl-lpspi
drivers/spi/spi-fsl-lpspi # jsc#PED-12016
drivers/spi/spi-fsl-qspi
- drivers/spi/spi-geni-qcom
-!optional drivers/spi/spi-gpio
@ -5556,6 +5558,7 @@
- drivers/usb/typec/altmodes/typec_nvidia
- drivers/usb/typec/anx7411 # SP6-NEED-REVIEW
- drivers/usb/typec/hd3ss3220
drivers/usb/typec/typec_thunderbolt
- drivers/usb/typec/mux/fsa4480 # SP6-NEED-REVIEW
- drivers/usb/typec/mux/gpio-sbu-mux # SP6-NEED-REVIEW
drivers/usb/typec/mux/intel_pmc_mux
@ -5790,7 +5793,7 @@
drivers/watchdog/ib700wdt # IB700 SBC watchdog driver
drivers/watchdog/ibmasr # IBM Automatic Server Restart driver
drivers/watchdog/imx2_wdt # ls1043a
- drivers/watchdog/imx7ulp_wdt
drivers/watchdog/imx7ulp_wdt # jsc#PED-12016
- drivers/watchdog/imx_sc_wdt
drivers/watchdog/it8712f_wdt
drivers/watchdog/it87_wdt # ITE IT87xx watchdog driver

BIN
sysctl.tar.bz2 (Stored with Git LFS)

Binary file not shown.