Sync from SUSE:SLFO:Kernel:1.0 kernel-source revision fa57085d15e2128500682a3ecaab002d

This commit is contained in:
Adrian Schröter 2025-01-09 17:10:27 +01:00
parent 29e917fcd1
commit 270ca6e98d
30 changed files with 38261 additions and 15891 deletions

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 %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 Name: dtb-aarch64
Version: 6.4.0 Version: 6.4.0
%if 0%{?is_kotd} %if 0%{?is_kotd}
Release: <RELEASE>.g4ab5f0e Release: <RELEASE>.gc18b0b0
%else %else
Release: 0 Release: 0
%endif %endif
@ -90,7 +90,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb Source74: mkspec-dtb
Source75: release-projects Source75: release-projects
Source76: check-module-license Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips Source78: modules.fips
Source79: splitflist Source79: splitflist
Source80: mergedep Source80: mergedep
@ -160,7 +159,6 @@ NoSource: 73
NoSource: 74 NoSource: 74
NoSource: 75 NoSource: 75
NoSource: 76 NoSource: 76
NoSource: 77
NoSource: 78 NoSource: 78
NoSource: 79 NoSource: 79
NoSource: 80 NoSource: 80

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
%define srcversion 6.4 %define srcversion 6.4
%define patchversion 6.4.0 %define patchversion 6.4.0
%define git_commit 4ab5f0e9752aaddb5400f72a0acb4f9b838afe26 %define git_commit c18b0b06cdac2e94ff5c955ea0f9d3df32596e3b
%define variant %{nil} %define variant %{nil}
%define compress_modules zstd %define compress_modules zstd
%define compress_vmlinux xz %define compress_vmlinux xz
@ -34,12 +34,12 @@
%include %_sourcedir/kernel-spec-macros %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 Name: kernel-64kb
Version: 6.4.0 Version: 6.4.0
%if 0%{?is_kotd} %if 0%{?is_kotd}
Release: <RELEASE>.g4ab5f0e Release: <RELEASE>.gc18b0b0
%else %else
Release: 0 Release: 0
%endif %endif
@ -135,7 +135,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor %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:") ) %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 %endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle # Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@ -145,7 +145,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y" %if "%CONFIG_MODULES" != "y"
%define klp_symbols 0 %define klp_ipa_clones 0
%endif %endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \ %global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@ -209,7 +209,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb Source74: mkspec-dtb
Source75: release-projects Source75: release-projects
Source76: check-module-license Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips Source78: modules.fips
Source79: splitflist Source79: splitflist
Source80: mergedep Source80: mergedep
@ -279,7 +278,6 @@ NoSource: 73
NoSource: 74 NoSource: 74
NoSource: 75 NoSource: 75
NoSource: 76 NoSource: 76
NoSource: 77
NoSource: 78 NoSource: 78
NoSource: 79 NoSource: 79
NoSource: 80 NoSource: 80
@ -808,7 +806,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj %dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch %dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor %ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands %if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json %exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif %endif
@ -847,17 +844,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir %dir %modules_dir
%endif %endif
%if 0%{?klp_symbols} && "%livepatch" != "" %if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel %package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel %description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all This package brings ipa-clones files, which are used to to track
kernel symbols and its respective kernel object . This list is to be used by set of functions where a code from another function can eventually occur.
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
%files %{livepatch}-devel -f livepatch-files %files %{livepatch}-devel -f livepatch-files
%endif %endif
@ -1468,14 +1462,9 @@ while true; do
fi fi
done done
# Generate list of symbols that are used to create kernel livepatches %if 0%{?klp_ipa_clones} && %generate_compile_commands
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json # Generate compile_commands.json
make compile_commands.json make compile_commands.json
%endif
%endif %endif
%install %install
@ -1664,17 +1653,13 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %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 # 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_symbols} %if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
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
%if %generate_compile_commands %if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor 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 echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif %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 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 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 echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
@ -1685,7 +1670,6 @@ if [ %CONFIG_MODULES = y ]; then
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- -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 cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif %endif
%endif
# Table of types used in exported symbols (for modversion debugging). # Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
@ -1879,7 +1863,7 @@ shopt -s nullglob dotglob
fi fi
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files } | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \ ( 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 add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image { echo %ghost /boot/%image

View File

@ -135,7 +135,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor %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:") ) %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 %endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle # Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@ -145,7 +145,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y" %if "%CONFIG_MODULES" != "y"
%define klp_symbols 0 %define klp_ipa_clones 0
%endif %endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \ %global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@ -614,7 +614,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj %dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch %dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor %ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands %if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json %exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif %endif
@ -653,17 +652,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir %dir %modules_dir
%endif %endif
%if 0%{?klp_symbols} && "%livepatch" != "" %if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel %package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel %description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all This package brings ipa-clones files, which are used to to track
kernel symbols and its respective kernel object . This list is to be used by set of functions where a code from another function can eventually occur.
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
%files %{livepatch}-devel -f livepatch-files %files %{livepatch}-devel -f livepatch-files
%endif %endif
@ -992,14 +988,9 @@ while true; do
fi fi
done done
# Generate list of symbols that are used to create kernel livepatches %if 0%{?klp_ipa_clones} && %generate_compile_commands
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json # Generate compile_commands.json
make compile_commands.json make compile_commands.json
%endif
%endif %endif
%install %install
@ -1188,17 +1179,13 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %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 # 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_symbols} %if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
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
%if %generate_compile_commands %if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor 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 echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif %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 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 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 echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
@ -1209,7 +1196,6 @@ if [ %CONFIG_MODULES = y ]; then
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- -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 cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif %endif
%endif
# Table of types used in exported symbols (for modversion debugging). # Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
@ -1403,7 +1389,7 @@ shopt -s nullglob dotglob
fi fi
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files } | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \ ( 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 add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image { echo %ghost /boot/%image

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
%define srcversion 6.4 %define srcversion 6.4
%define patchversion 6.4.0 %define patchversion 6.4.0
%define git_commit 4ab5f0e9752aaddb5400f72a0acb4f9b838afe26 %define git_commit c18b0b06cdac2e94ff5c955ea0f9d3df32596e3b
%define variant %{nil} %define variant %{nil}
%define compress_modules zstd %define compress_modules zstd
%define compress_vmlinux xz %define compress_vmlinux xz
@ -34,12 +34,12 @@
%include %_sourcedir/kernel-spec-macros %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 Name: kernel-debug
Version: 6.4.0 Version: 6.4.0
%if 0%{?is_kotd} %if 0%{?is_kotd}
Release: <RELEASE>.g4ab5f0e Release: <RELEASE>.gc18b0b0
%else %else
Release: 0 Release: 0
%endif %endif
@ -135,7 +135,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor %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:") ) %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 %endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle # Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@ -145,7 +145,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y" %if "%CONFIG_MODULES" != "y"
%define klp_symbols 0 %define klp_ipa_clones 0
%endif %endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \ %global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@ -209,7 +209,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb Source74: mkspec-dtb
Source75: release-projects Source75: release-projects
Source76: check-module-license Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips Source78: modules.fips
Source79: splitflist Source79: splitflist
Source80: mergedep Source80: mergedep
@ -279,7 +278,6 @@ NoSource: 73
NoSource: 74 NoSource: 74
NoSource: 75 NoSource: 75
NoSource: 76 NoSource: 76
NoSource: 77
NoSource: 78 NoSource: 78
NoSource: 79 NoSource: 79
NoSource: 80 NoSource: 80
@ -800,7 +798,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj %dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch %dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor %ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands %if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json %exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif %endif
@ -839,17 +836,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir %dir %modules_dir
%endif %endif
%if 0%{?klp_symbols} && "%livepatch" != "" %if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel %package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel %description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all This package brings ipa-clones files, which are used to to track
kernel symbols and its respective kernel object . This list is to be used by set of functions where a code from another function can eventually occur.
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
%files %{livepatch}-devel -f livepatch-files %files %{livepatch}-devel -f livepatch-files
%endif %endif
@ -1460,14 +1454,9 @@ while true; do
fi fi
done done
# Generate list of symbols that are used to create kernel livepatches %if 0%{?klp_ipa_clones} && %generate_compile_commands
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json # Generate compile_commands.json
make compile_commands.json make compile_commands.json
%endif
%endif %endif
%install %install
@ -1656,17 +1645,13 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %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 # 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_symbols} %if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
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
%if %generate_compile_commands %if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor 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 echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif %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 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 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 echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
@ -1677,7 +1662,6 @@ if [ %CONFIG_MODULES = y ]; then
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- -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 cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif %endif
%endif
# Table of types used in exported symbols (for modversion debugging). # Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
@ -1871,7 +1855,7 @@ shopt -s nullglob dotglob
fi fi
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files } | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \ ( 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 add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image { echo %ghost /boot/%image

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
%define srcversion 6.4 %define srcversion 6.4
%define patchversion 6.4.0 %define patchversion 6.4.0
%define git_commit 4ab5f0e9752aaddb5400f72a0acb4f9b838afe26 %define git_commit c18b0b06cdac2e94ff5c955ea0f9d3df32596e3b
%define variant %{nil} %define variant %{nil}
%define compress_modules zstd %define compress_modules zstd
%define compress_vmlinux xz %define compress_vmlinux xz
@ -34,12 +34,12 @@
%include %_sourcedir/kernel-spec-macros %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 Name: kernel-default
Version: 6.4.0 Version: 6.4.0
%if 0%{?is_kotd} %if 0%{?is_kotd}
Release: <RELEASE>.g4ab5f0e Release: <RELEASE>.gc18b0b0
%else %else
Release: 0 Release: 0
%endif %endif
@ -135,7 +135,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor %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:") ) %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 %endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle # Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@ -145,7 +145,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y" %if "%CONFIG_MODULES" != "y"
%define klp_symbols 0 %define klp_ipa_clones 0
%endif %endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \ %global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@ -209,7 +209,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb Source74: mkspec-dtb
Source75: release-projects Source75: release-projects
Source76: check-module-license Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips Source78: modules.fips
Source79: splitflist Source79: splitflist
Source80: mergedep Source80: mergedep
@ -279,7 +278,6 @@ NoSource: 73
NoSource: 74 NoSource: 74
NoSource: 75 NoSource: 75
NoSource: 76 NoSource: 76
NoSource: 77
NoSource: 78 NoSource: 78
NoSource: 79 NoSource: 79
NoSource: 80 NoSource: 80
@ -892,7 +890,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj %dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch %dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor %ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands %if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json %exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif %endif
@ -931,17 +928,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir %dir %modules_dir
%endif %endif
%if 0%{?klp_symbols} && "%livepatch" != "" %if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel %package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel %description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all This package brings ipa-clones files, which are used to to track
kernel symbols and its respective kernel object . This list is to be used by set of functions where a code from another function can eventually occur.
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
%files %{livepatch}-devel -f livepatch-files %files %{livepatch}-devel -f livepatch-files
%endif %endif
@ -1552,14 +1546,9 @@ while true; do
fi fi
done done
# Generate list of symbols that are used to create kernel livepatches %if 0%{?klp_ipa_clones} && %generate_compile_commands
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json # Generate compile_commands.json
make compile_commands.json make compile_commands.json
%endif
%endif %endif
%install %install
@ -1748,17 +1737,13 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %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 # 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_symbols} %if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
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
%if %generate_compile_commands %if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor 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 echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif %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 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 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 echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
@ -1769,7 +1754,6 @@ if [ %CONFIG_MODULES = y ]; then
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- -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 cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif %endif
%endif
# Table of types used in exported symbols (for modversion debugging). # Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
@ -1963,7 +1947,7 @@ shopt -s nullglob dotglob
fi fi
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files } | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \ ( 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 add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image { echo %ghost /boot/%image

File diff suppressed because it is too large Load Diff

View File

@ -18,19 +18,19 @@
%define srcversion 6.4 %define srcversion 6.4
%define patchversion 6.4.0 %define patchversion 6.4.0
%define git_commit 4ab5f0e9752aaddb5400f72a0acb4f9b838afe26 %define git_commit c18b0b06cdac2e94ff5c955ea0f9d3df32596e3b
%define variant %{nil} %define variant %{nil}
%define build_html 1 %define build_html 1
%define build_pdf 0 %define build_pdf 0
%include %_sourcedir/kernel-spec-macros %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 Name: kernel-docs
Version: 6.4.0 Version: 6.4.0
%if 0%{?is_kotd} %if 0%{?is_kotd}
Release: <RELEASE>.g4ab5f0e Release: <RELEASE>.gc18b0b0
%else %else
Release: 0 Release: 0
%endif %endif
@ -133,7 +133,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb Source74: mkspec-dtb
Source75: release-projects Source75: release-projects
Source76: check-module-license Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips Source78: modules.fips
Source79: splitflist Source79: splitflist
Source80: mergedep Source80: mergedep
@ -203,7 +202,6 @@ NoSource: 73
NoSource: 74 NoSource: 74
NoSource: 75 NoSource: 75
NoSource: 76 NoSource: 76
NoSource: 77
NoSource: 78 NoSource: 78
NoSource: 79 NoSource: 79
NoSource: 80 NoSource: 80

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
%define srcversion 6.4 %define srcversion 6.4
%define patchversion 6.4.0 %define patchversion 6.4.0
%define git_commit 4ab5f0e9752aaddb5400f72a0acb4f9b838afe26 %define git_commit c18b0b06cdac2e94ff5c955ea0f9d3df32596e3b
%define variant %{nil} %define variant %{nil}
%define compress_modules zstd %define compress_modules zstd
%define compress_vmlinux xz %define compress_vmlinux xz
@ -34,12 +34,12 @@
%include %_sourcedir/kernel-spec-macros %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 Name: kernel-kvmsmall
Version: 6.4.0 Version: 6.4.0
%if 0%{?is_kotd} %if 0%{?is_kotd}
Release: <RELEASE>.g4ab5f0e Release: <RELEASE>.gc18b0b0
%else %else
Release: 0 Release: 0
%endif %endif
@ -135,7 +135,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor %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:") ) %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 %endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle # Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@ -145,7 +145,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y" %if "%CONFIG_MODULES" != "y"
%define klp_symbols 0 %define klp_ipa_clones 0
%endif %endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \ %global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@ -209,7 +209,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb Source74: mkspec-dtb
Source75: release-projects Source75: release-projects
Source76: check-module-license Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips Source78: modules.fips
Source79: splitflist Source79: splitflist
Source80: mergedep Source80: mergedep
@ -279,7 +278,6 @@ NoSource: 73
NoSource: 74 NoSource: 74
NoSource: 75 NoSource: 75
NoSource: 76 NoSource: 76
NoSource: 77
NoSource: 78 NoSource: 78
NoSource: 79 NoSource: 79
NoSource: 80 NoSource: 80
@ -824,7 +822,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj %dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch %dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor %ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands %if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json %exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif %endif
@ -863,17 +860,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir %dir %modules_dir
%endif %endif
%if 0%{?klp_symbols} && "%livepatch" != "" %if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel %package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel %description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all This package brings ipa-clones files, which are used to to track
kernel symbols and its respective kernel object . This list is to be used by set of functions where a code from another function can eventually occur.
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
%files %{livepatch}-devel -f livepatch-files %files %{livepatch}-devel -f livepatch-files
%endif %endif
@ -1484,14 +1478,9 @@ while true; do
fi fi
done done
# Generate list of symbols that are used to create kernel livepatches %if 0%{?klp_ipa_clones} && %generate_compile_commands
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json # Generate compile_commands.json
make compile_commands.json make compile_commands.json
%endif
%endif %endif
%install %install
@ -1680,17 +1669,13 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %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 # 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_symbols} %if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
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
%if %generate_compile_commands %if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor 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 echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif %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 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 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 echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
@ -1701,7 +1686,6 @@ if [ %CONFIG_MODULES = y ]; then
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- -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 cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif %endif
%endif
# Table of types used in exported symbols (for modversion debugging). # Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
@ -1895,7 +1879,7 @@ shopt -s nullglob dotglob
fi fi
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files } | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \ ( 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 add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image { echo %ghost /boot/%image

File diff suppressed because it is too large Load Diff

View File

@ -38,7 +38,7 @@
%endif %endif
%endif %endif
%endif %endif
%global kernel_package kernel%kernel_flavor-srchash-4ab5f0e9752aaddb5400f72a0acb4f9b838afe26 %global kernel_package kernel%kernel_flavor-srchash-c18b0b06cdac2e94ff5c955ea0f9d3df32596e3b
%endif %endif
%if 0%{?rhel_version} %if 0%{?rhel_version}
%global kernel_package kernel %global kernel_package kernel
@ -47,7 +47,7 @@
Name: kernel-obs-build Name: kernel-obs-build
Version: 6.4.0 Version: 6.4.0
%if 0%{?is_kotd} %if 0%{?is_kotd}
Release: <RELEASE>.g4ab5f0e Release: <RELEASE>.gc18b0b0
%else %else
Release: 0 Release: 0
%endif %endif

File diff suppressed because it is too large Load Diff

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -18,17 +18,17 @@
%define srcversion 6.4 %define srcversion 6.4
%define patchversion 6.4.0 %define patchversion 6.4.0
%define git_commit 4ab5f0e9752aaddb5400f72a0acb4f9b838afe26 %define git_commit c18b0b06cdac2e94ff5c955ea0f9d3df32596e3b
%define variant %{nil} %define variant %{nil}
%include %_sourcedir/kernel-spec-macros %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 Name: kernel-source
Version: 6.4.0 Version: 6.4.0
%if 0%{?is_kotd} %if 0%{?is_kotd}
Release: <RELEASE>.g4ab5f0e Release: <RELEASE>.gc18b0b0
%else %else
Release: 0 Release: 0
%endif %endif
@ -105,7 +105,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb Source74: mkspec-dtb
Source75: release-projects Source75: release-projects
Source76: check-module-license Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips Source78: modules.fips
Source79: splitflist Source79: splitflist
Source80: mergedep Source80: mergedep

View File

@ -105,7 +105,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb Source74: mkspec-dtb
Source75: release-projects Source75: release-projects
Source76: check-module-license Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips Source78: modules.fips
Source79: splitflist Source79: splitflist
Source80: mergedep Source80: mergedep

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,7 @@
# #
%define git_commit 4ab5f0e9752aaddb5400f72a0acb4f9b838afe26 %define git_commit c18b0b06cdac2e94ff5c955ea0f9d3df32596e3b
%define variant %{nil} %define variant %{nil}
%include %_sourcedir/kernel-spec-macros %include %_sourcedir/kernel-spec-macros
@ -25,7 +25,7 @@ Name: kernel-syms
Version: 6.4.0 Version: 6.4.0
%if %using_buildservice %if %using_buildservice
%if 0%{?is_kotd} %if 0%{?is_kotd}
Release: <RELEASE>.g4ab5f0e Release: <RELEASE>.gc18b0b0
%else %else
Release: 0 Release: 0
%endif %endif

File diff suppressed because it is too large Load Diff

View File

@ -19,7 +19,7 @@
%define srcversion 6.4 %define srcversion 6.4
%define patchversion 6.4.0 %define patchversion 6.4.0
%define git_commit 4ab5f0e9752aaddb5400f72a0acb4f9b838afe26 %define git_commit c18b0b06cdac2e94ff5c955ea0f9d3df32596e3b
%define variant %{nil} %define variant %{nil}
%define compress_modules zstd %define compress_modules zstd
%define compress_vmlinux xz %define compress_vmlinux xz
@ -34,12 +34,12 @@
%include %_sourcedir/kernel-spec-macros %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 Name: kernel-zfcpdump
Version: 6.4.0 Version: 6.4.0
%if 0%{?is_kotd} %if 0%{?is_kotd}
Release: <RELEASE>.g4ab5f0e Release: <RELEASE>.gc18b0b0
%else %else
Release: 0 Release: 0
%endif %endif
@ -135,7 +135,7 @@ ExclusiveArch: do_not_build
%define cpu_arch_flavor %cpu_arch/%build_flavor %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:") ) %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 %endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle # Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@ -145,7 +145,7 @@ ExclusiveArch: do_not_build
%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y") %define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
%if "%CONFIG_MODULES" != "y" %if "%CONFIG_MODULES" != "y"
%define klp_symbols 0 %define klp_ipa_clones 0
%endif %endif
%global certs %( space="" ; for f in %_sourcedir/*.crt; do \ %global certs %( space="" ; for f in %_sourcedir/*.crt; do \
@ -209,7 +209,6 @@ Source73: dtb.spec.in.in
Source74: mkspec-dtb Source74: mkspec-dtb
Source75: release-projects Source75: release-projects
Source76: check-module-license Source76: check-module-license
Source77: klp-symbols
Source78: modules.fips Source78: modules.fips
Source79: splitflist Source79: splitflist
Source80: mergedep Source80: mergedep
@ -279,7 +278,6 @@ NoSource: 73
NoSource: 74 NoSource: 74
NoSource: 75 NoSource: 75
NoSource: 76 NoSource: 76
NoSource: 77
NoSource: 78 NoSource: 78
NoSource: 79 NoSource: 79
NoSource: 80 NoSource: 80
@ -808,7 +806,6 @@ relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/li
%dir /usr/src/linux-obj %dir /usr/src/linux-obj
%dir /usr/src/linux-obj/%cpu_arch %dir /usr/src/linux-obj/%cpu_arch
%ghost /usr/src/linux-obj/%cpu_arch_flavor %ghost /usr/src/linux-obj/%cpu_arch_flavor
%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
%if %generate_compile_commands %if %generate_compile_commands
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json %exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
%endif %endif
@ -847,17 +844,14 @@ static, unlike the %{patch_package}-<kernel-version>-flavor package names.
%dir %modules_dir %dir %modules_dir
%endif %endif
%if 0%{?klp_symbols} && "%livepatch" != "" %if 0%{?klp_ipa_clones} && "%livepatch" != "" && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
%package %{livepatch}-devel %package %{livepatch}-devel
Summary: Kernel symbols file used during kGraft patch development Summary: Kernel symbols file used during kGraft patch development
Group: System/Kernel Group: System/Kernel
Provides: klp-symbols = %version
%description %{livepatch}-devel %description %{livepatch}-devel
This package brings a file named Symbols.list, which contains a list of all This package brings ipa-clones files, which are used to to track
kernel symbols and its respective kernel object . This list is to be used by set of functions where a code from another function can eventually occur.
the klp-convert tool, which helps livepatch developers by enabling automatic
symbol resolution.
%files %{livepatch}-devel -f livepatch-files %files %{livepatch}-devel -f livepatch-files
%endif %endif
@ -1468,14 +1462,9 @@ while true; do
fi fi
done done
# Generate list of symbols that are used to create kernel livepatches %if 0%{?klp_ipa_clones} && %generate_compile_commands
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if %generate_compile_commands
# Generate compile_commands.json # Generate compile_commands.json
make compile_commands.json make compile_commands.json
%endif
%endif %endif
%install %install
@ -1664,17 +1653,13 @@ if [ %CONFIG_MODULES = y ]; then
mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor mkdir -p %rpm_install_dir/%cpu_arch/%build_flavor
cp Module.symvers %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 # 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_symbols} %if 0%{?klp_ipa_clones} && "%CONFIG_LIVEPATCH_IPA_CLONES" == "y"
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
%if %generate_compile_commands %if %generate_compile_commands
cp compile_commands.json %rpm_install_dir/%cpu_arch/%build_flavor 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 echo %obj_install_dir/%cpu_arch/%build_flavor/compile_commands.json >> %my_builddir/livepatch-files.no_dir
%endif %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 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 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 echo %obj_install_dir/%cpu_arch/%build_flavor/ipa-clones.list >> %my_builddir/livepatch-files.no_dir
@ -1685,7 +1670,6 @@ if [ %CONFIG_MODULES = y ]; then
-T ipa-clones.list -cf- | tar -C %rpm_install_dir/%cpu_arch/%build_flavor -xvf- -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 cat ipa-clones.list | sed -e 's|^|%obj_install_dir/%cpu_arch/%build_flavor/|' >> %my_builddir/livepatch-files.no_dir
%endif %endif
%endif
# Table of types used in exported symbols (for modversion debugging). # Table of types used in exported symbols (for modversion debugging).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor %_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
@ -1879,7 +1863,7 @@ shopt -s nullglob dotglob
fi fi
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files } | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \ ( 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 add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image { 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
patches.kabi.tar.bz2 (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 @@
2024-11-05 12:10:36 +0000 2024-12-07 08:38:24 +0000
GIT Revision: 4ab5f0e9752aaddb5400f72a0acb4f9b838afe26 GIT Revision: c18b0b06cdac2e94ff5c955ea0f9d3df32596e3b
GIT Branch: SUSE-2024 GIT Branch: SUSE-2024