Compare commits

...

34 Commits

Author SHA256 Message Date
6ff46830d3 Sync from SUSE:SLFO:Kernel:1.0 kernel-source revision 4542045ae102119b3ad5da5a83ef50ae 2025-08-25 12:57:04 +02:00
67fa7a582e Sync from SUSE:SLFO:Main kernel-source revision 9f480515049ff4a5f295383ef3a18671 2025-07-23 10:48:19 +02:00
73f5937c7e Sync from SUSE:SLFO:Main kernel-source revision 08926321beab655dad7e2ce502777950 2025-07-16 00:55:24 +02:00
2776eab465 Sync from SUSE:SLFO:Kernel:1.0 kernel-source revision 138bb0d96ff79cbab2dd7a7959752ecf 2025-07-11 14:35:58 +02:00
e2130c9c49 Sync from SUSE:SLFO:Main kernel-source revision 42c44273b9f6b6e91d3eb5fed089c36f 2025-07-01 17:30:32 +02:00
20703851af Sync from SUSE:SLFO:Main kernel-source revision e73a3411f9ebdf0b9fa7e8764074bb2b 2025-06-26 15:47:02 +02:00
94a4af6bee Sync from SUSE:SLFO:Kernel:1.0 kernel-source revision 9d82de8ef319b76f804ef641eaf8f11d 2025-06-15 13:01:16 +02:00
595b4cb7c0 Sync from SUSE:SLFO:Main kernel-source revision 638e26eca5bb218ae818fb244f13b6a3 2025-06-13 18:04:29 +02:00
168b14d4f6 Sync from SUSE:SLFO:Main kernel-source revision 2c5516705a74aeeedaaba5d836c20013 2025-06-12 20:45:25 +02:00
dac436724f Sync from SUSE:SLFO:Main kernel-source revision 00d1f2f0711a42ea18adabfa34f707af 2025-06-05 18:42:38 +02:00
327650ae9d Sync from SUSE:SLFO:Main kernel-source revision 453b1c186f6f7c26ce1207702e828cfe 2025-05-30 17:07:09 +02:00
9145e5f419 Sync from SUSE:SLFO:Kernel:1.0 kernel-source revision 731830b4258d677af6ea06389508ad2a 2025-05-22 15:01:02 +02:00
76542274b5 Sync from SUSE:SLFO:Main kernel-source revision b4269c319e689ac6daa37b9762bbca73 2025-05-19 21:52:10 +02:00
881c1c9904 Sync from SUSE:SLFO:Main kernel-source revision c7a7fdf87b918b28d64d669dca93e8c4 2025-04-29 12:53:36 +02:00
f0cbbfa2fc Sync from SUSE:SLFO:Main kernel-source revision ffac6e54e0aee63ad96ffa25cdff4901 2025-04-23 23:50:15 +02:00
33e24961e0 Sync from SUSE:SLFO:Kernel:1.0 kernel-source revision b59b7d261caaf47b4d15e665b804bfee 2025-04-15 13:17:01 +02:00
aeb16c3b04 Sync from SUSE:SLFO:Kernel:1.0 kernel-source revision 5cbede25384f340744ba1afc912fd620 2025-03-27 13:55:54 +01:00
1544a2ce28 Sync from SUSE:SLFO:Main kernel-source revision 6f18fd5c20b9aacc3ed91b140264c231 2025-03-26 10:02:47 +01:00
5742e95df5 Sync from SUSE:SLFO:Main kernel-source revision ae80255f9b809ed4f2d60a68f456bc0c 2025-03-21 10:48:20 +01:00
a9724c2f09 Sync from SUSE:SLFO:Main kernel-source revision 4bddc07f63091078c13c6bc30c457203 2025-03-15 02:11:33 +01:00
66dd679d02 Sync from SUSE:SLFO:Main kernel-source revision 796149ca4d296653981d26f30d38c299 2025-03-13 18:21:00 +01:00
7d1d8641c9 Sync from SUSE:SLFO:Main kernel-source revision 70a2cf0db18170bb281d4bd4edbe58d4 2025-03-03 21:41:19 +01:00
8984b3b1ec Sync from SUSE:SLFO:Main kernel-source revision 0334cbaa688a134d499d3e2f3d037eca 2025-02-27 18:45:28 +01:00
d0f051cc04 Sync from SUSE:SLFO:Main kernel-source revision d89d6ed24f3d798939cdc2bbdeeab25c 2025-02-17 08:18:53 +01:00
d6e33cb079 Sync from SUSE:SLFO:Main kernel-source revision 11c1673579408708be78b0db6ad91605 2025-01-16 10:17:48 +01:00
b646ba9db9 Sync from SUSE:SLFO:Main kernel-source revision e9f0c9f94fceae8e966497a9e2fda893 2025-01-14 14:18:00 +01:00
270ca6e98d Sync from SUSE:SLFO:Kernel:1.0 kernel-source revision fa57085d15e2128500682a3ecaab002d 2025-01-09 17:10:27 +01:00
29e917fcd1 Sync from SUSE:SLFO:Kernel:1.0 kernel-source revision 3148c3309483bd4398f4f7dbf596613e 2025-01-09 12:50:42 +01:00
e2a92abd87 Sync from SUSE:SLFO:Kernel:1.0 kernel-source revision fa57085d15e2128500682a3ecaab002d 2024-12-18 15:57:48 +01:00
9ec8d6c12f Sync from SUSE:SLFO:Main kernel-source revision 3148c3309483bd4398f4f7dbf596613e 2024-11-12 12:29:34 +01:00
fbee4e6d8c Sync from SUSE:SLFO:Main kernel-source revision 63498a624cbdbc47bf9eeb0c71cd0c7e 2024-10-18 15:39:58 +02:00
8998aff14b Sync from SUSE:SLFO:Main kernel-source revision 948be43e19f2d825947befd0200d75e0 2024-09-17 14:39:36 +02:00
7e7d72b3c9 Sync from SUSE:SLFO:Main kernel-source revision 4acf3239978bf545ff3db27333774d0f 2024-09-06 15:27:23 +02:00
0cfe33dd2d Sync from SUSE:SLFO:Main kernel-source revision e77f904617b2fad7e6342b947b2f8361 2024-08-07 17:07:38 +02:00
53 changed files with 565195 additions and 9891 deletions

View File

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

View File

@@ -5,29 +5,45 @@
#
# please keep them sorted alphabetically
declare -a IGNORED_CONFIGS_RE=(
'ARCH_USING_PATCHABLE_FUNCTION_ENTRY'
'AS_IS_\(GNU\|LLVM\)'
'AS_HAS_[A-Z0-9_]*'
'AS_VERSION'
'AS_WRUSS' # x86_32
'BUILTIN_RETURN_ADDRESS_STRIPS_PAC'
'CC_ASM_FLAG_OUTPUT_BROKEN'
'CC_CAN_[A-Z_]*'
'CC_IMPLICIT_FALLTHROUGH'
'CC_IS_\(CLANG\|GCC\)'
'CC_HAS_[A-Z_]*'
'CC_HAVE_[A-Z_]*'
'CC_VERSION_TEXT'
'CLANG_VERSION'
'DRM_MSM_VALIDATE_XML'
'DYNAMIC_SIGFRAME'
'FTRACE_MCOUNT_USE_[A-Z_]*'
'GCC_ASM_FLAG_OUTPUT_BROKEN'
'GCC_ASM_GOTO_OUTPUT_BROKEN'
'GCC_ASM_GOTO_OUTPUT_WORKAROUND'
'GCC_VERSION'
'G*CC[0-9]*_NO_[A-Z_]*'
'HAS_LTO_CLANG'
'HAVE_[A-Z]*_COMPILER'
'HAVE_RUST'
'HAVE_SHADOW_CALL_STACK'
'LD_CAN_[A-Z_]*'
'LD_IS_\(BFD\|LLD\)'
'LD_VERSION'
'LLD_VERSION'
'OBJTOOL'
'PAHOLE_HAS_[A-Z0-9_]*'
'PAHOLE_VERSION'
'RISCV_ISA_[A-Z_]*'
'RUSTC_SUPPORTS_[A-Z0-9_]*'
'TOOLCHAIN_HAS_[A-Z_]*'
'TOOLCHAIN_NEEDS_[A-Z_]*'
'TOOLS_SUPPORT_[A-Z_]*'
'USE_X86_SEG_SUPPORT'
)
declare -a SED_ARGS=()

View File

@@ -1,15 +0,0 @@
#!/bin/bash
set -x
# Once the brp script is reasonably widespread, we will remove the specfile
# hack and this script
if test -x /usr/lib/rpm/brp-suse.d/brp-99-compress-vmlinux; then
exit 0
fi
vmlinux=$1
if test -e "$vmlinux" -a -e "$vmlinux.gz"; then
# Deliberately not using gzip -n; the vmlinux image has a predictable
# timestamp (bnc#880848#c20)
gzip -k -9 -f "$vmlinux"
fi

View File

@@ -13,14 +13,17 @@ MULTIBUILD="Yes"
LIVEPATCH=livepatch
# buildservice projects to build the kernel against
OBS_PROJECT=SUSE:ALP:Source:Standard:Core:1.0:Build
OBS_PROJECT_ARM=openSUSE:Factory:ARM
IBS_PROJECT=SUSE:ALP:Source:Standard:Core:1.0:Build
# Bugzilla info
BUGZILLA_SERVER="apibugzilla.suse.com"
BUGZILLA_PRODUCT="ALP"
BUGZILLA_PRODUCT="SUSE Linux Enterprise Micro 6.0"
SPLIT_OPTIONAL=No
SUPPORTED_MODULES_CHECK=Yes
# build documentation in HTML format
BUILD_HTML=Yes
# build documentation in PDF format
BUILD_PDF=No
# Generate compile_commands.json
GENERATE_COMPILE_COMMANDS=Yes
# Set gcc version to the one used for build in IBS
GCC_VERSION=13

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

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package dtb-aarch64
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -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,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: dtb-aarch64
Version: 6.4.0
%if 0%{?is_kotd}
Release: <RELEASE>.gf86c546
Release: <RELEASE>.g07a4bbd
%else
Release: 0
%endif
@@ -38,11 +38,7 @@ URL: https://www.kernel.org/
BuildRequires: cpp
BuildRequires: dtc >= 1.4.3
BuildRequires: xz
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: aarch64
%else
ExclusiveArch: do_not_build
%endif
%define dtbdir /boot/dtb-%kernelrelease
@@ -80,17 +76,12 @@ Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
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
@@ -150,17 +141,12 @@ NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 67
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80

View File

@@ -38,11 +38,7 @@ URL: https://www.kernel.org/
BuildRequires: cpp
BuildRequires: dtc >= 1.4.3
BuildRequires: xz
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
$ARCH_RESTRICTIONS
%else
ExclusiveArch: do_not_build
%endif
%define dtbdir /boot/dtb-%kernelrelease

View File

@@ -1,7 +1,7 @@
#!/usr/bin/perl
use File::Spec;
use Getopt::Long;
use Getopt::Long qw(:config no_ignore_case);
use strict;
&main();

4
guards
View File

@@ -26,7 +26,7 @@
#
use FileHandle;
use Getopt::Long;
use Getopt::Long qw(:config no_ignore_case);
use strict;
# Prototypes
@@ -205,7 +205,7 @@ if ($check) {
# This is not an error if the entries are mutually exclusive...
}
}
exit $problems ? 1 : 0;
exit ($problems ? 1 : 0);
} elsif ($list) {
parse($fh, sub {

View File

@@ -1,7 +0,0 @@
#ifdef __x86_64__
/*
* Force the linker to use the older memcpy variant, so that the user programs
* work on older systems
*/
__asm__(".symver memcpy,memcpy@GLIBC_2.2.5");
#endif

View File

@@ -2,7 +2,7 @@
use strict;
use warnings;
use Getopt::Long;
use Getopt::Long qw(:config no_ignore_case);
use Data::Dumper;
# ( { sym => regexp, mod => regexp, fail => 0/1 }, ... )

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

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-64kb
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define srcversion 6.4
%define patchversion 6.4.0
%define git_commit f86c546a35b58cd98b74cd0d2c3b7d3999cfd75b
%define git_commit 07a4bbdff117ae69458b8014a8c45af78262b2f2
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -30,15 +30,19 @@
%define split_optional 0
%define supported_modules_check 1
%define build_flavor 64kb
%define generate_compile_commands 1
%define use_suse_kabi_tools 0
%define gcc_package gcc13
%define gcc_compiler gcc-13
%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,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-64kb
Version: 6.4.0
%if 0%{?is_kotd}
Release: <RELEASE>.gf86c546
Release: <RELEASE>.g07a4bbd
%else
Release: 0
%endif
@@ -58,8 +62,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -72,6 +76,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -79,17 +84,16 @@ BuildRequires: elfutils
%ifarch %arm
BuildRequires: u-boot-tools
%endif
%if %use_suse_kabi_tools
BuildRequires: suse-kabi-tools
%endif
# Do not install p-b and dracut for the install check, the %post script is
# able to handle this
#!BuildIgnore: perl-Bootloader dracut distribution-release suse-kernel-rpm-scriptlets
# Remove some packages that are installed automatically by the build system,
# but are not needed to build the kernel
#!BuildIgnore: autoconf automake gettext-runtime libtool cvs gettext-tools udev insserv
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: aarch64
%else
ExclusiveArch: do_not_build
%endif
%ifarch %ix86 x86_64
%define image vmlinuz
@@ -133,8 +137,8 @@ ExclusiveArch: do_not_build
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -144,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 \
@@ -198,17 +202,12 @@ Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
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
@@ -268,17 +267,12 @@ NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 67
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -750,6 +744,7 @@ from this package.
%source_timestamp
%files vdso
%dir %modules_dir
%modules_dir/vdso/
%endif
@@ -770,6 +765,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -778,6 +776,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -806,13 +805,15 @@ 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
%if "%kmp_target_cpu" != "%cpu_arch"
%obj_install_dir/%kmp_target_cpu
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -842,17 +843,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
@@ -1271,6 +1269,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1283,7 +1284,6 @@ export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_BUILD_USER=geeko
export KBUILD_BUILD_HOST=buildhost
export HOST_EXTRACFLAGS="-include %_sourcedir/host-memcpy-hack.h"
EOF
source .kernel-binary.spec.buildenv
@@ -1436,10 +1436,12 @@ find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.op
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%if !%use_suse_kabi_tools
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%endif
%if "%CONFIG_KMSG_IDS" == "y"
chmod +x ../scripts/kmsg-doc
@@ -1448,24 +1450,15 @@ fi
mkdir -p %_topdir/OTHER
log=%_topdir/OTHER/make-stderr.log
while true; do
make all $MAKE_ARGS 2> >(tee "$log")
if test "${PIPESTATUS[0]}" -eq 0; then
break
fi
# In the linux-next and vanilla branches, we try harder to build a
# package.
if test 0%vanilla_only -gt 0 &&
%_sourcedir/try-disable-staging-driver "$log"; then
echo "Retrying make"
else
exit 1
fi
done
make all $MAKE_ARGS 2> >(tee "$log")
result="${PIPESTATUS[0]}"
if ! test "$result" -eq 0; then
exit "$result"
fi
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1497,17 +1490,9 @@ add_vmlinux()
# mark the file 0644 again
chmod +x %buildroot/$vmlinux
if test $1 == "--compressed"; then
# avoid using the gzip -n option to make kdump happy (bnc#880848#c20)
ts="$(head -n1 %_sourcedir/source-timestamp)"
touch -d "$ts" %buildroot/$vmlinux
touch %buildroot/$vmlinux.%{compress_vmlinux}
%if 0%{?__debug_package:1}
# compress the vmlinux image after find-debuginfo.sh has processed it
%global __debug_install_post %__debug_install_post \
%_sourcedir/compress-vmlinux.sh %buildroot/boot/vmlinux-%kernelrelease-%build_flavor
%else
%_sourcedir/compress-vmlinux.sh %buildroot/$vmlinux
%endif
ghost_vmlinux=true
else
ghost_vmlinux=false
@@ -1654,30 +1639,34 @@ 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
%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 \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--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
# 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
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 \
%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).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
gzip -n -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
%if %use_suse_kabi_tools
ksymtypes consolidate %{?_smp_mflags} \
--output=%my_builddir/symtypes-%build_flavor .
%else
%_sourcedir/modversions --pack . > %my_builddir/symtypes-%build_flavor
%endif
if [ -s %my_builddir/symtypes-%build_flavor ]; then
gzip -n -9 -c %my_builddir/symtypes-%build_flavor \
> %buildroot/boot/symtypes-%kernelrelease-%build_flavor.gz
fi
# Some architecture's $(uname -m) output is different from the ARCH
@@ -1728,11 +1717,25 @@ if [ %CONFIG_MODULES = y ]; then
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%if %use_suse_kabi_tools
ksymvers compare --rules=%my_builddir/kabi/severities \
--format=symbols:%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%else
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%endif
fi
if [ $res -ne 0 ]; then
%if %use_suse_kabi_tools
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/symtypes-%build_flavor || true
%endif
# %ignore_kabi_badness is defined in the Kernel:* projects in the
# OBS to be able to build the KOTD in spite of kabi errors
if [ 0%{?ignore_kabi_badness} -eq 0 -a \
@@ -1783,7 +1786,8 @@ if [ %CONFIG_MODULES = y ]; then
%rpm_install_dir/%cpu_arch_flavor \
$(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
else
echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'export KBUILD_OUTPUT = %obj_install_dir/%cpu_arch_flavor' > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'include ../../../%{basename:%src_install_dir}/Makefile' >> %rpm_install_dir/%cpu_arch_flavor/Makefile
fi
fi
@@ -1864,7 +1868,7 @@ shopt -s nullglob dotglob
fi
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image
@@ -1962,7 +1966,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -1973,7 +1977,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

View File

@@ -30,6 +30,10 @@
%define split_optional @SPLIT_OPTIONAL@
%define supported_modules_check @SUPPORTED_MODULES_CHECK@
%define build_flavor @FLAVOR@
%define generate_compile_commands @GENERATE_COMPILE_COMMANDS@
%define use_suse_kabi_tools @USE_SUSE_KABI_TOOLS@
%define gcc_package @GCC_PACKAGE@
%define gcc_compiler @GCC_COMPILER@
%include %_sourcedir/kernel-spec-macros
@@ -58,8 +62,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -72,6 +76,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -79,17 +84,16 @@ BuildRequires: elfutils
%ifarch %arm
BuildRequires: u-boot-tools
%endif
%if %use_suse_kabi_tools
BuildRequires: suse-kabi-tools
%endif
# Do not install p-b and dracut for the install check, the %post script is
# able to handle this
#!BuildIgnore: perl-Bootloader dracut distribution-release suse-kernel-rpm-scriptlets
# Remove some packages that are installed automatically by the build system,
# but are not needed to build the kernel
#!BuildIgnore: autoconf automake gettext-runtime libtool cvs gettext-tools udev insserv
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: @ARCHS@
%else
ExclusiveArch: do_not_build
%endif
%ifarch %ix86 x86_64
%define image vmlinuz
@@ -133,8 +137,8 @@ ExclusiveArch: do_not_build
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -144,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 \
@@ -555,6 +559,7 @@ from this package.
%source_timestamp
%files vdso
%dir %modules_dir
%modules_dir/vdso/
%endif
@@ -575,6 +580,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -583,6 +591,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
@PROVIDES_OBSOLETES_DEVEL@
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -612,13 +621,15 @@ 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
%if "%kmp_target_cpu" != "%cpu_arch"
%obj_install_dir/%kmp_target_cpu
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -648,17 +659,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
@@ -795,6 +803,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -807,7 +818,6 @@ export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_BUILD_USER=geeko
export KBUILD_BUILD_HOST=buildhost
export HOST_EXTRACFLAGS="-include %_sourcedir/host-memcpy-hack.h"
EOF
source .kernel-binary.spec.buildenv
@@ -960,10 +970,12 @@ find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.op
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%if !%use_suse_kabi_tools
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%endif
%if "%CONFIG_KMSG_IDS" == "y"
chmod +x ../scripts/kmsg-doc
@@ -972,24 +984,15 @@ fi
mkdir -p %_topdir/OTHER
log=%_topdir/OTHER/make-stderr.log
while true; do
make all $MAKE_ARGS 2> >(tee "$log")
if test "${PIPESTATUS[0]}" -eq 0; then
break
fi
# In the linux-next and vanilla branches, we try harder to build a
# package.
if test 0%vanilla_only -gt 0 &&
%_sourcedir/try-disable-staging-driver "$log"; then
echo "Retrying make"
else
exit 1
fi
done
make all $MAKE_ARGS 2> >(tee "$log")
result="${PIPESTATUS[0]}"
if ! test "$result" -eq 0; then
exit "$result"
fi
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1021,17 +1024,9 @@ add_vmlinux()
# mark the file 0644 again
chmod +x %buildroot/$vmlinux
if test $1 == "--compressed"; then
# avoid using the gzip -n option to make kdump happy (bnc#880848#c20)
ts="$(head -n1 %_sourcedir/source-timestamp)"
touch -d "$ts" %buildroot/$vmlinux
touch %buildroot/$vmlinux.%{compress_vmlinux}
%if 0%{?__debug_package:1}
# compress the vmlinux image after find-debuginfo.sh has processed it
%global __debug_install_post %__debug_install_post \
%_sourcedir/compress-vmlinux.sh %buildroot/boot/vmlinux-%kernelrelease-%build_flavor
%else
%_sourcedir/compress-vmlinux.sh %buildroot/$vmlinux
%endif
ghost_vmlinux=true
else
ghost_vmlinux=false
@@ -1178,30 +1173,34 @@ 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
%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 \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--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
# 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
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 \
%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).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
gzip -n -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
%if %use_suse_kabi_tools
ksymtypes consolidate %{?_smp_mflags} \
--output=%my_builddir/symtypes-%build_flavor .
%else
%_sourcedir/modversions --pack . > %my_builddir/symtypes-%build_flavor
%endif
if [ -s %my_builddir/symtypes-%build_flavor ]; then
gzip -n -9 -c %my_builddir/symtypes-%build_flavor \
> %buildroot/boot/symtypes-%kernelrelease-%build_flavor.gz
fi
# Some architecture's $(uname -m) output is different from the ARCH
@@ -1252,11 +1251,25 @@ if [ %CONFIG_MODULES = y ]; then
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%if %use_suse_kabi_tools
ksymvers compare --rules=%my_builddir/kabi/severities \
--format=symbols:%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%else
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%endif
fi
if [ $res -ne 0 ]; then
%if %use_suse_kabi_tools
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/symtypes-%build_flavor || true
%endif
# %ignore_kabi_badness is defined in the Kernel:* projects in the
# OBS to be able to build the KOTD in spite of kabi errors
if [ 0%{?ignore_kabi_badness} -eq 0 -a \
@@ -1307,7 +1320,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
@@ -1388,7 +1402,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
@@ -1486,7 +1500,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -1497,7 +1511,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-debug
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define srcversion 6.4
%define patchversion 6.4.0
%define git_commit f86c546a35b58cd98b74cd0d2c3b7d3999cfd75b
%define git_commit 07a4bbdff117ae69458b8014a8c45af78262b2f2
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -30,15 +30,19 @@
%define split_optional 0
%define supported_modules_check 1
%define build_flavor debug
%define generate_compile_commands 1
%define use_suse_kabi_tools 0
%define gcc_package gcc13
%define gcc_compiler gcc-13
%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,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-debug
Version: 6.4.0
%if 0%{?is_kotd}
Release: <RELEASE>.gf86c546
Release: <RELEASE>.g07a4bbd
%else
Release: 0
%endif
@@ -58,8 +62,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -72,6 +76,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -79,17 +84,16 @@ BuildRequires: elfutils
%ifarch %arm
BuildRequires: u-boot-tools
%endif
%if %use_suse_kabi_tools
BuildRequires: suse-kabi-tools
%endif
# Do not install p-b and dracut for the install check, the %post script is
# able to handle this
#!BuildIgnore: perl-Bootloader dracut distribution-release suse-kernel-rpm-scriptlets
# Remove some packages that are installed automatically by the build system,
# but are not needed to build the kernel
#!BuildIgnore: autoconf automake gettext-runtime libtool cvs gettext-tools udev insserv
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: aarch64 ppc64le x86_64
%else
ExclusiveArch: do_not_build
%endif
%ifarch %ix86 x86_64
%define image vmlinuz
@@ -133,8 +137,8 @@ ExclusiveArch: do_not_build
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -144,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 \
@@ -198,17 +202,12 @@ Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
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
@@ -268,17 +267,12 @@ NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 67
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -742,6 +736,7 @@ from this package.
%source_timestamp
%files vdso
%dir %modules_dir
%modules_dir/vdso/
%endif
@@ -762,6 +757,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -770,6 +768,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -798,13 +797,15 @@ 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
%if "%kmp_target_cpu" != "%cpu_arch"
%obj_install_dir/%kmp_target_cpu
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -834,17 +835,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
@@ -1263,6 +1261,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1275,7 +1276,6 @@ export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_BUILD_USER=geeko
export KBUILD_BUILD_HOST=buildhost
export HOST_EXTRACFLAGS="-include %_sourcedir/host-memcpy-hack.h"
EOF
source .kernel-binary.spec.buildenv
@@ -1428,10 +1428,12 @@ find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.op
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%if !%use_suse_kabi_tools
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%endif
%if "%CONFIG_KMSG_IDS" == "y"
chmod +x ../scripts/kmsg-doc
@@ -1440,24 +1442,15 @@ fi
mkdir -p %_topdir/OTHER
log=%_topdir/OTHER/make-stderr.log
while true; do
make all $MAKE_ARGS 2> >(tee "$log")
if test "${PIPESTATUS[0]}" -eq 0; then
break
fi
# In the linux-next and vanilla branches, we try harder to build a
# package.
if test 0%vanilla_only -gt 0 &&
%_sourcedir/try-disable-staging-driver "$log"; then
echo "Retrying make"
else
exit 1
fi
done
make all $MAKE_ARGS 2> >(tee "$log")
result="${PIPESTATUS[0]}"
if ! test "$result" -eq 0; then
exit "$result"
fi
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1489,17 +1482,9 @@ add_vmlinux()
# mark the file 0644 again
chmod +x %buildroot/$vmlinux
if test $1 == "--compressed"; then
# avoid using the gzip -n option to make kdump happy (bnc#880848#c20)
ts="$(head -n1 %_sourcedir/source-timestamp)"
touch -d "$ts" %buildroot/$vmlinux
touch %buildroot/$vmlinux.%{compress_vmlinux}
%if 0%{?__debug_package:1}
# compress the vmlinux image after find-debuginfo.sh has processed it
%global __debug_install_post %__debug_install_post \
%_sourcedir/compress-vmlinux.sh %buildroot/boot/vmlinux-%kernelrelease-%build_flavor
%else
%_sourcedir/compress-vmlinux.sh %buildroot/$vmlinux
%endif
ghost_vmlinux=true
else
ghost_vmlinux=false
@@ -1646,30 +1631,34 @@ 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
%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 \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--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
# 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
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 \
%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).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
gzip -n -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
%if %use_suse_kabi_tools
ksymtypes consolidate %{?_smp_mflags} \
--output=%my_builddir/symtypes-%build_flavor .
%else
%_sourcedir/modversions --pack . > %my_builddir/symtypes-%build_flavor
%endif
if [ -s %my_builddir/symtypes-%build_flavor ]; then
gzip -n -9 -c %my_builddir/symtypes-%build_flavor \
> %buildroot/boot/symtypes-%kernelrelease-%build_flavor.gz
fi
# Some architecture's $(uname -m) output is different from the ARCH
@@ -1720,11 +1709,25 @@ if [ %CONFIG_MODULES = y ]; then
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%if %use_suse_kabi_tools
ksymvers compare --rules=%my_builddir/kabi/severities \
--format=symbols:%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%else
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%endif
fi
if [ $res -ne 0 ]; then
%if %use_suse_kabi_tools
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/symtypes-%build_flavor || true
%endif
# %ignore_kabi_badness is defined in the Kernel:* projects in the
# OBS to be able to build the KOTD in spite of kabi errors
if [ 0%{?ignore_kabi_badness} -eq 0 -a \
@@ -1775,7 +1778,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
@@ -1856,7 +1860,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
@@ -1954,7 +1958,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -1965,7 +1969,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-default
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define srcversion 6.4
%define patchversion 6.4.0
%define git_commit f86c546a35b58cd98b74cd0d2c3b7d3999cfd75b
%define git_commit 07a4bbdff117ae69458b8014a8c45af78262b2f2
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -30,15 +30,19 @@
%define split_optional 0
%define supported_modules_check 1
%define build_flavor default
%define generate_compile_commands 1
%define use_suse_kabi_tools 0
%define gcc_package gcc13
%define gcc_compiler gcc-13
%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,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-default
Version: 6.4.0
%if 0%{?is_kotd}
Release: <RELEASE>.gf86c546
Release: <RELEASE>.g07a4bbd
%else
Release: 0
%endif
@@ -58,8 +62,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -72,6 +76,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -79,17 +84,16 @@ BuildRequires: elfutils
%ifarch %arm
BuildRequires: u-boot-tools
%endif
%if %use_suse_kabi_tools
BuildRequires: suse-kabi-tools
%endif
# Do not install p-b and dracut for the install check, the %post script is
# able to handle this
#!BuildIgnore: perl-Bootloader dracut distribution-release suse-kernel-rpm-scriptlets
# Remove some packages that are installed automatically by the build system,
# but are not needed to build the kernel
#!BuildIgnore: autoconf automake gettext-runtime libtool cvs gettext-tools udev insserv
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: aarch64 ppc64le s390x x86_64
%else
ExclusiveArch: do_not_build
%endif
%ifarch %ix86 x86_64
%define image vmlinuz
@@ -133,8 +137,8 @@ ExclusiveArch: do_not_build
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -144,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 \
@@ -198,17 +202,12 @@ Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
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
@@ -268,17 +267,12 @@ NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 67
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -818,6 +812,7 @@ from this package.
%source_timestamp
%files vdso
%dir %modules_dir
%modules_dir/vdso/
%endif
@@ -838,6 +833,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -846,6 +844,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%ifarch s390x
Provides: kernel-trace-devel = 3.13
Obsoletes: kernel-trace-devel <= 3.13
@@ -890,13 +889,15 @@ 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
%if "%kmp_target_cpu" != "%cpu_arch"
%obj_install_dir/%kmp_target_cpu
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -926,17 +927,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
@@ -1355,6 +1353,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1367,7 +1368,6 @@ export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_BUILD_USER=geeko
export KBUILD_BUILD_HOST=buildhost
export HOST_EXTRACFLAGS="-include %_sourcedir/host-memcpy-hack.h"
EOF
source .kernel-binary.spec.buildenv
@@ -1520,10 +1520,12 @@ find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.op
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%if !%use_suse_kabi_tools
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%endif
%if "%CONFIG_KMSG_IDS" == "y"
chmod +x ../scripts/kmsg-doc
@@ -1532,24 +1534,15 @@ fi
mkdir -p %_topdir/OTHER
log=%_topdir/OTHER/make-stderr.log
while true; do
make all $MAKE_ARGS 2> >(tee "$log")
if test "${PIPESTATUS[0]}" -eq 0; then
break
fi
# In the linux-next and vanilla branches, we try harder to build a
# package.
if test 0%vanilla_only -gt 0 &&
%_sourcedir/try-disable-staging-driver "$log"; then
echo "Retrying make"
else
exit 1
fi
done
make all $MAKE_ARGS 2> >(tee "$log")
result="${PIPESTATUS[0]}"
if ! test "$result" -eq 0; then
exit "$result"
fi
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1581,17 +1574,9 @@ add_vmlinux()
# mark the file 0644 again
chmod +x %buildroot/$vmlinux
if test $1 == "--compressed"; then
# avoid using the gzip -n option to make kdump happy (bnc#880848#c20)
ts="$(head -n1 %_sourcedir/source-timestamp)"
touch -d "$ts" %buildroot/$vmlinux
touch %buildroot/$vmlinux.%{compress_vmlinux}
%if 0%{?__debug_package:1}
# compress the vmlinux image after find-debuginfo.sh has processed it
%global __debug_install_post %__debug_install_post \
%_sourcedir/compress-vmlinux.sh %buildroot/boot/vmlinux-%kernelrelease-%build_flavor
%else
%_sourcedir/compress-vmlinux.sh %buildroot/$vmlinux
%endif
ghost_vmlinux=true
else
ghost_vmlinux=false
@@ -1738,30 +1723,34 @@ 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
%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 \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--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
# 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
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 \
%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).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
gzip -n -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
%if %use_suse_kabi_tools
ksymtypes consolidate %{?_smp_mflags} \
--output=%my_builddir/symtypes-%build_flavor .
%else
%_sourcedir/modversions --pack . > %my_builddir/symtypes-%build_flavor
%endif
if [ -s %my_builddir/symtypes-%build_flavor ]; then
gzip -n -9 -c %my_builddir/symtypes-%build_flavor \
> %buildroot/boot/symtypes-%kernelrelease-%build_flavor.gz
fi
# Some architecture's $(uname -m) output is different from the ARCH
@@ -1812,11 +1801,25 @@ if [ %CONFIG_MODULES = y ]; then
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%if %use_suse_kabi_tools
ksymvers compare --rules=%my_builddir/kabi/severities \
--format=symbols:%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%else
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%endif
fi
if [ $res -ne 0 ]; then
%if %use_suse_kabi_tools
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/symtypes-%build_flavor || true
%endif
# %ignore_kabi_badness is defined in the Kernel:* projects in the
# OBS to be able to build the KOTD in spite of kabi errors
if [ 0%{?ignore_kabi_badness} -eq 0 -a \
@@ -1867,7 +1870,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
@@ -1948,7 +1952,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
@@ -2046,7 +2050,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -2057,7 +2061,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-docs
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,19 +18,19 @@
%define srcversion 6.4
%define patchversion 6.4.0
%define git_commit f86c546a35b58cd98b74cd0d2c3b7d3999cfd75b
%define git_commit 07a4bbdff117ae69458b8014a8c45af78262b2f2
%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,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-docs
Version: 6.4.0
%if 0%{?is_kotd}
Release: <RELEASE>.gf86c546
Release: <RELEASE>.g07a4bbd
%else
Release: 0
%endif
@@ -84,11 +84,7 @@ BuildRequires: texlive-xetex
BuildRequires: texlive-zapfding
%endif
%endif
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
BuildArch: noarch
%else
ExclusiveArch: do_not_build
%endif
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz
Source3: kernel-source.rpmlintrc
Source14: series.conf
@@ -123,17 +119,12 @@ Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
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
@@ -193,17 +184,12 @@ NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 67
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -285,6 +271,8 @@ cd linux-%srcversion
%_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols
%build
# for reproducible builds (bsc#1238303)
export PARALLELISM=1
cd linux-%srcversion
export LANG=en_US.utf8
%if %build_html

View File

@@ -84,11 +84,7 @@ BuildRequires: texlive-xetex
BuildRequires: texlive-zapfding
%endif
%endif
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
BuildArch: noarch
%else
ExclusiveArch: do_not_build
%endif
@SOURCES@
Provides: %name = %version-%source_rel
Provides: %name-srchash-%git_commit
@@ -147,6 +143,8 @@ cd linux-%srcversion
%_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols
%build
# for reproducible builds (bsc#1238303)
export PARALLELISM=1
cd linux-%srcversion
export LANG=en_US.utf8
%if %build_html

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-kvmsmall
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define srcversion 6.4
%define patchversion 6.4.0
%define git_commit f86c546a35b58cd98b74cd0d2c3b7d3999cfd75b
%define git_commit 07a4bbdff117ae69458b8014a8c45af78262b2f2
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -30,15 +30,19 @@
%define split_optional 0
%define supported_modules_check 1
%define build_flavor kvmsmall
%define generate_compile_commands 1
%define use_suse_kabi_tools 0
%define gcc_package gcc13
%define gcc_compiler gcc-13
%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,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-kvmsmall
Version: 6.4.0
%if 0%{?is_kotd}
Release: <RELEASE>.gf86c546
Release: <RELEASE>.g07a4bbd
%else
Release: 0
%endif
@@ -58,8 +62,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -72,6 +76,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -79,17 +84,16 @@ BuildRequires: elfutils
%ifarch %arm
BuildRequires: u-boot-tools
%endif
%if %use_suse_kabi_tools
BuildRequires: suse-kabi-tools
%endif
# Do not install p-b and dracut for the install check, the %post script is
# able to handle this
#!BuildIgnore: perl-Bootloader dracut distribution-release suse-kernel-rpm-scriptlets
# Remove some packages that are installed automatically by the build system,
# but are not needed to build the kernel
#!BuildIgnore: autoconf automake gettext-runtime libtool cvs gettext-tools udev insserv
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: aarch64 ppc64le x86_64
%else
ExclusiveArch: do_not_build
%endif
%ifarch %ix86 x86_64
%define image vmlinuz
@@ -133,8 +137,8 @@ ExclusiveArch: do_not_build
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -144,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 \
@@ -198,17 +202,12 @@ Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
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
@@ -268,17 +267,12 @@ NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 67
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -766,6 +760,7 @@ from this package.
%source_timestamp
%files vdso
%dir %modules_dir
%modules_dir/vdso/
%endif
@@ -786,6 +781,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -794,6 +792,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -822,13 +821,15 @@ 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
%if "%kmp_target_cpu" != "%cpu_arch"
%obj_install_dir/%kmp_target_cpu
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -858,17 +859,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
@@ -1287,6 +1285,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1299,7 +1300,6 @@ export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_BUILD_USER=geeko
export KBUILD_BUILD_HOST=buildhost
export HOST_EXTRACFLAGS="-include %_sourcedir/host-memcpy-hack.h"
EOF
source .kernel-binary.spec.buildenv
@@ -1452,10 +1452,12 @@ find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.op
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%if !%use_suse_kabi_tools
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%endif
%if "%CONFIG_KMSG_IDS" == "y"
chmod +x ../scripts/kmsg-doc
@@ -1464,24 +1466,15 @@ fi
mkdir -p %_topdir/OTHER
log=%_topdir/OTHER/make-stderr.log
while true; do
make all $MAKE_ARGS 2> >(tee "$log")
if test "${PIPESTATUS[0]}" -eq 0; then
break
fi
# In the linux-next and vanilla branches, we try harder to build a
# package.
if test 0%vanilla_only -gt 0 &&
%_sourcedir/try-disable-staging-driver "$log"; then
echo "Retrying make"
else
exit 1
fi
done
make all $MAKE_ARGS 2> >(tee "$log")
result="${PIPESTATUS[0]}"
if ! test "$result" -eq 0; then
exit "$result"
fi
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1513,17 +1506,9 @@ add_vmlinux()
# mark the file 0644 again
chmod +x %buildroot/$vmlinux
if test $1 == "--compressed"; then
# avoid using the gzip -n option to make kdump happy (bnc#880848#c20)
ts="$(head -n1 %_sourcedir/source-timestamp)"
touch -d "$ts" %buildroot/$vmlinux
touch %buildroot/$vmlinux.%{compress_vmlinux}
%if 0%{?__debug_package:1}
# compress the vmlinux image after find-debuginfo.sh has processed it
%global __debug_install_post %__debug_install_post \
%_sourcedir/compress-vmlinux.sh %buildroot/boot/vmlinux-%kernelrelease-%build_flavor
%else
%_sourcedir/compress-vmlinux.sh %buildroot/$vmlinux
%endif
ghost_vmlinux=true
else
ghost_vmlinux=false
@@ -1670,30 +1655,34 @@ 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
%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 \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--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
# 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
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 \
%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).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
gzip -n -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
%if %use_suse_kabi_tools
ksymtypes consolidate %{?_smp_mflags} \
--output=%my_builddir/symtypes-%build_flavor .
%else
%_sourcedir/modversions --pack . > %my_builddir/symtypes-%build_flavor
%endif
if [ -s %my_builddir/symtypes-%build_flavor ]; then
gzip -n -9 -c %my_builddir/symtypes-%build_flavor \
> %buildroot/boot/symtypes-%kernelrelease-%build_flavor.gz
fi
# Some architecture's $(uname -m) output is different from the ARCH
@@ -1744,11 +1733,25 @@ if [ %CONFIG_MODULES = y ]; then
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%if %use_suse_kabi_tools
ksymvers compare --rules=%my_builddir/kabi/severities \
--format=symbols:%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%else
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%endif
fi
if [ $res -ne 0 ]; then
%if %use_suse_kabi_tools
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/symtypes-%build_flavor || true
%endif
# %ignore_kabi_badness is defined in the Kernel:* projects in the
# OBS to be able to build the KOTD in spite of kabi errors
if [ 0%{?ignore_kabi_badness} -eq 0 -a \
@@ -1799,7 +1802,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
@@ -1880,7 +1884,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
@@ -1978,7 +1982,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -1989,7 +1993,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-obs-build
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -38,7 +38,7 @@
%endif
%endif
%endif
%global kernel_package kernel%kernel_flavor-srchash-f86c546a35b58cd98b74cd0d2c3b7d3999cfd75b
%global kernel_package kernel%kernel_flavor-srchash-07a4bbdff117ae69458b8014a8c45af78262b2f2
%endif
%if 0%{?rhel_version}
%global kernel_package kernel
@@ -47,13 +47,14 @@
Name: kernel-obs-build
Version: 6.4.0
%if 0%{?is_kotd}
Release: <RELEASE>.gf86c546
Release: <RELEASE>.g07a4bbd
%else
Release: 0
%endif
Summary: package kernel and initrd for OBS VM builds
License: GPL-2.0-only
Group: SLES
Provides: kernel-obs-build-srchash-07a4bbdff117ae69458b8014a8c45af78262b2f2
BuildRequires: coreutils
BuildRequires: device-mapper
BuildRequires: dracut
@@ -62,11 +63,7 @@ BuildRequires: util-linux
%if 0%{?suse_version} > 1550 || 0%{?sle_version} > 150200
BuildRequires: zstd
%endif
%if ! 0%{?is_kotd} || %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: aarch64 ppc64le s390x x86_64
%else
ExclusiveArch: do_not_build
%endif
%description
This package is repackaging already compiled kernels to make them usable
@@ -123,7 +120,12 @@ echo 127.0.0.1 localhost > /etc/hosts # omit build-machine host name (boo#108490
# a longer list to have them also available for qemu cross builds where x86_64 kernel runs in eg. arm env.
# this list of modules where available on build workers of build.opensuse.org, so we stay compatible.
export KERNEL_MODULES="loop dm-crypt essiv dm-mod dm-snapshot binfmt-misc fuse kqemu squashfs ext2 ext3 ext4 btrfs xfs nf_conntrack_ipv6 binfmt_misc virtio_pci virtio_mmio virtio_blk virtio_rng fat vfat nls_cp437 nls_iso8859-1 ibmvscsi sd_mod e1000 ibmveth overlay 9p 9pnet_virtio qemu_fw_cfg"
export KERNEL_MODULES="
loop dm-crypt essiv dm-mod dm-snapshot binfmt-misc fuse kqemu squashfs ext2 ext3 ext4 btrfs
xfs nf_conntrack_ipv6 binfmt_misc virtio_pci virtio_mmio virtio_blk virtio_rng fat vfat
nls_cp437 nls_iso8859-1 ibmvscsi sd_mod e1000 ibmveth overlay 9p 9pnet_virtio qemu_fw_cfg
algif_hash aegis128 xts bridge br_netfilter nf_nat nf_tables xt_conntrack iptable_nat iptable_filter
iso9660"
# manually load all modules to make sure they're available
for i in $KERNEL_MODULES; do

View File

@@ -54,6 +54,7 @@ Release: @RELEASE@
Summary: package kernel and initrd for OBS VM builds
License: GPL-2.0-only
Group: SLES
Provides: kernel-obs-build-srchash-@COMMIT_FULL@
BuildRequires: coreutils
BuildRequires: device-mapper
BuildRequires: dracut
@@ -62,11 +63,7 @@ BuildRequires: util-linux
%if 0%{?suse_version} > 1550 || 0%{?sle_version} > 150200
BuildRequires: zstd
%endif
%if ! 0%{?is_kotd} || %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: @ARCHS@
%else
ExclusiveArch: do_not_build
%endif
%description
This package is repackaging already compiled kernels to make them usable
@@ -123,7 +120,12 @@ echo 127.0.0.1 localhost > /etc/hosts # omit build-machine host name (boo#108490
# a longer list to have them also available for qemu cross builds where x86_64 kernel runs in eg. arm env.
# this list of modules where available on build workers of build.opensuse.org, so we stay compatible.
export KERNEL_MODULES="loop dm-crypt essiv dm-mod dm-snapshot binfmt-misc fuse kqemu squashfs ext2 ext3 ext4 btrfs xfs nf_conntrack_ipv6 binfmt_misc virtio_pci virtio_mmio virtio_blk virtio_rng fat vfat nls_cp437 nls_iso8859-1 ibmvscsi sd_mod e1000 ibmveth overlay 9p 9pnet_virtio qemu_fw_cfg"
export KERNEL_MODULES="
loop dm-crypt essiv dm-mod dm-snapshot binfmt-misc fuse kqemu squashfs ext2 ext3 ext4 btrfs
xfs nf_conntrack_ipv6 binfmt_misc virtio_pci virtio_mmio virtio_blk virtio_rng fat vfat
nls_cp437 nls_iso8859-1 ibmvscsi sd_mod e1000 ibmveth overlay 9p 9pnet_virtio qemu_fw_cfg
algif_hash aegis128 xts bridge br_netfilter nf_nat nf_tables xt_conntrack iptable_nat iptable_filter
iso9660"
# manually load all modules to make sure they're available
for i in $KERNEL_MODULES; do

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-obs-qa
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -25,7 +25,7 @@
Name: kernel-obs-qa
Version: 6.4.0
%if 0%{?is_kotd}
Release: <RELEASE>.gf86c546
Release: <RELEASE>.g07a4bbd
%else
Release: 0
%endif
@@ -35,13 +35,11 @@ Group: SLES
BuildRequires: kernel-default
# kernel-obs-build must be also configured as VMinstall, but is required
# here as well to avoid that qa and build package build parallel
BuildRequires: kernel-obs-build
BuildRequires: modutils
%if ! 0%{?is_kotd} || %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: aarch64 ppc64le s390x x86_64
%else
ExclusiveArch: do_not_build
%if ! 0%{?qemu_user_space_build}
BuildRequires: kernel-obs-build-srchash-07a4bbdff117ae69458b8014a8c45af78262b2f2
%endif
BuildRequires: modutils
ExclusiveArch: aarch64 ppc64le s390x x86_64
%description
This package is using the kernel compiled within Open Build Service(OBS)

View File

@@ -35,13 +35,11 @@ Group: SLES
BuildRequires: kernel-default
# kernel-obs-build must be also configured as VMinstall, but is required
# here as well to avoid that qa and build package build parallel
BuildRequires: kernel-obs-build
BuildRequires: modutils
%if ! 0%{?is_kotd} || %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: @ARCHS@
%else
ExclusiveArch: do_not_build
%if ! 0%{?qemu_user_space_build}
BuildRequires: kernel-obs-build-srchash-@COMMIT_FULL@
%endif
BuildRequires: modutils
ExclusiveArch: @ARCHS@
%description
This package is using the kernel compiled within Open Build Service(OBS)

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-source
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,17 +18,19 @@
%define srcversion 6.4
%define patchversion 6.4.0
%define git_commit f86c546a35b58cd98b74cd0d2c3b7d3999cfd75b
%define git_commit 07a4bbdff117ae69458b8014a8c45af78262b2f2
%define variant %{nil}
%define gcc_package gcc13
%define gcc_compiler gcc-13
%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,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-source
Version: 6.4.0
%if 0%{?is_kotd}
Release: <RELEASE>.gf86c546
Release: <RELEASE>.g07a4bbd
%else
Release: 0
%endif
@@ -43,11 +45,7 @@ BuildRequires: bash-sh
BuildRequires: coreutils
BuildRequires: fdupes
BuildRequires: sed
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
BuildArch: noarch
%else
ExclusiveArch: do_not_build
%endif
Prefix: /usr/src
%define src_install_dir usr/src/linux-%kernelrelease%variant
@@ -95,17 +93,12 @@ Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
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 +144,7 @@ Recommends: dwarves >= 1.22
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
Recommends: kernel-install-tools
%endif
Recommends: %gcc_package
%obsolete_rebuilds %name
# Force bzip2 instead of lzma compression to
@@ -270,6 +264,8 @@ fi
linux-%kernelrelease%variant linux-%kernelrelease-vanilla
cd linux-%kernelrelease-vanilla
%_sourcedir/apply-patches --vanilla %_sourcedir/series.conf %my_builddir %symbols
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
rm -f $(find . -name ".gitignore")
# Hardlink duplicate files automatically (from package fdupes).
%fdupes $PWD
@@ -278,6 +274,8 @@ cd ..
cd linux-%kernelrelease%variant
%_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
rm -f $(find . -name ".gitignore")
if [ -f %_sourcedir/localversion ] ; then
@@ -317,8 +315,9 @@ popd
find %{buildroot}/usr/src/linux* -type f -name '*.[ch]' -perm /0111 -exec chmod -v a-x {} +
# OBS checks don't like /usr/bin/env in script interpreter lines
grep -Elr '^#! */usr/bin/env ' %{buildroot}/usr/src/linux* | while read f; do
sed -re '1 { s_^#! */usr/bin/env +/_#!/_ ; s_^#! */usr/bin/env +([^/])_#!/usr/bin/\1_ }' -i "$f"
grep -Elr '^#! */(usr/)?bin/env ' %{buildroot}/usr/src/linux* | while read f; do
sed -re '1 { s_^#! */usr/bin/env +/_#!/_ ; s_^#! */usr/bin/env +([^/])_#!/usr/bin/\1_ }' \
-e '1 { s_^#! */bin/env +/_#!/_ ; s_^#! */bin/env +([^/])_#!/usr/bin/\1_ }' -i "$f"
done
# kernel-source and kernel-$flavor-devel are built independently, but the
# shipped sources (/usr/src/linux/) need to be older than generated files

View File

@@ -20,6 +20,8 @@
%define patchversion @PATCHVERSION@
%define git_commit @COMMIT_FULL@
%define variant @VARIANT@%{nil}
%define gcc_package @GCC_PACKAGE@
%define gcc_compiler @GCC_COMPILER@
%include %_sourcedir/kernel-spec-macros
@@ -43,11 +45,7 @@ BuildRequires: bash-sh
BuildRequires: coreutils
BuildRequires: fdupes
BuildRequires: sed
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
BuildArch: noarch
%else
ExclusiveArch: do_not_build
%endif
Prefix: /usr/src
%define src_install_dir usr/src/linux-%kernelrelease%variant
@@ -95,17 +93,12 @@ Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
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 +144,7 @@ Recommends: dwarves >= 1.22
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
Recommends: kernel-install-tools
%endif
Recommends: %gcc_package
%obsolete_rebuilds %name
# Force bzip2 instead of lzma compression to
@@ -270,6 +264,8 @@ fi
linux-%kernelrelease%variant linux-%kernelrelease-vanilla
cd linux-%kernelrelease-vanilla
%_sourcedir/apply-patches --vanilla %_sourcedir/series.conf %my_builddir %symbols
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
rm -f $(find . -name ".gitignore")
# Hardlink duplicate files automatically (from package fdupes).
%fdupes $PWD
@@ -278,6 +274,8 @@ cd ..
cd linux-%kernelrelease%variant
%_sourcedir/apply-patches %_sourcedir/series.conf %my_builddir %symbols
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
rm -f $(find . -name ".gitignore")
if [ -f %_sourcedir/localversion ] ; then
@@ -317,8 +315,9 @@ popd
find %{buildroot}/usr/src/linux* -type f -name '*.[ch]' -perm /0111 -exec chmod -v a-x {} +
# OBS checks don't like /usr/bin/env in script interpreter lines
grep -Elr '^#! */usr/bin/env ' %{buildroot}/usr/src/linux* | while read f; do
sed -re '1 { s_^#! */usr/bin/env +/_#!/_ ; s_^#! */usr/bin/env +([^/])_#!/usr/bin/\1_ }' -i "$f"
grep -Elr '^#! */(usr/)?bin/env ' %{buildroot}/usr/src/linux* | while read f; do
sed -re '1 { s_^#! */usr/bin/env +/_#!/_ ; s_^#! */usr/bin/env +([^/])_#!/usr/bin/\1_ }' \
-e '1 { s_^#! */bin/env +/_#!/_ ; s_^#! */bin/env +([^/])_#!/usr/bin/\1_ }' -i "$f"
done
# kernel-source and kernel-$flavor-devel are built independently, but the
# shipped sources (/usr/src/linux/) need to be older than generated files

View File

@@ -91,6 +91,11 @@ There is no reason to install this package.
%install
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
export STRIP_KEEP_SYMTAB='*/vmlinux*'
echo "%{?modules}" | tr ', ' '\n\n' > request-modules
%scriptdir/kernel-subpackage-build %kernel_package_name %rpm_kver-%rpm_krel %package_name-%version-%release

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-syms
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,33 +16,24 @@
#
%define git_commit f86c546a35b58cd98b74cd0d2c3b7d3999cfd75b
%define git_commit 07a4bbdff117ae69458b8014a8c45af78262b2f2
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
Name: kernel-syms
Version: 6.4.0
%if %using_buildservice
%if 0%{?is_kotd}
Release: <RELEASE>.gf86c546
Release: <RELEASE>.g07a4bbd
%else
Release: 0
%endif
%else
%define kernel_source_release %(LC_ALL=C rpm -q kernel-devel%variant-%version --qf "%{RELEASE}" | grep -v 'not installed' || echo 0)
Release: %kernel_source_release
%endif
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0-only
Group: Development/Sources
URL: https://www.kernel.org/
BuildRequires: coreutils
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: aarch64 ppc64le s390x x86_64
%else
ExclusiveArch: do_not_build
%endif
Prefix: /usr/src
AutoReqProv: off
Source: README.KSYMS

View File

@@ -23,26 +23,17 @@
Name: kernel-syms@VARIANT@
Version: @RPMVERSION@
%if %using_buildservice
%if 0%{?is_kotd}
Release: <RELEASE>.g@COMMIT@
%else
Release: @RELEASE@
%endif
%else
%define kernel_source_release %(LC_ALL=C rpm -q kernel-devel%variant-%version --qf "%{RELEASE}" | grep -v 'not installed' || echo 0)
Release: %kernel_source_release
%endif
Summary: Kernel Symbol Versions (modversions)
License: GPL-2.0-only
Group: Development/Sources
URL: https://www.kernel.org/
BuildRequires: coreutils
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: @ARCHS@
%else
ExclusiveArch: do_not_build
%endif
Prefix: /usr/src
AutoReqProv: off
Source: README.KSYMS

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-zfcpdump
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
%define srcversion 6.4
%define patchversion 6.4.0
%define git_commit f86c546a35b58cd98b74cd0d2c3b7d3999cfd75b
%define git_commit 07a4bbdff117ae69458b8014a8c45af78262b2f2
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
@@ -30,15 +30,19 @@
%define split_optional 0
%define supported_modules_check 1
%define build_flavor zfcpdump
%define generate_compile_commands 1
%define use_suse_kabi_tools 0
%define gcc_package gcc13
%define gcc_compiler gcc-13
%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,mkspec-dtb,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-zfcpdump
Version: 6.4.0
%if 0%{?is_kotd}
Release: <RELEASE>.gf86c546
Release: <RELEASE>.g07a4bbd
%else
Release: 0
%endif
@@ -58,8 +62,8 @@ BuildRequires: flex
# does not expand %%(...)
%if "%build_flavor" == "syzkaller"
# Needed by scripts/gcc-plugin.sh
BuildRequires: gcc-c++
BuildRequires: gcc-devel
BuildRequires: %gcc_package-c++
BuildRequires: %gcc_package-devel
%endif
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
@@ -72,6 +76,7 @@ BuildRequires: pesign-obs-integration
# pahole for CONFIG_DEBUG_INFO_BTF
BuildRequires: dwarves >= 1.22
%endif
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# required for 50-check-kernel-build-id rpm check
@@ -79,17 +84,16 @@ BuildRequires: elfutils
%ifarch %arm
BuildRequires: u-boot-tools
%endif
%if %use_suse_kabi_tools
BuildRequires: suse-kabi-tools
%endif
# Do not install p-b and dracut for the install check, the %post script is
# able to handle this
#!BuildIgnore: perl-Bootloader dracut distribution-release suse-kernel-rpm-scriptlets
# Remove some packages that are installed automatically by the build system,
# but are not needed to build the kernel
#!BuildIgnore: autoconf automake gettext-runtime libtool cvs gettext-tools udev insserv
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
ExclusiveArch: s390x
%else
ExclusiveArch: do_not_build
%endif
%ifarch %ix86 x86_64
%define image vmlinuz
@@ -133,8 +137,8 @@ ExclusiveArch: do_not_build
%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
%define cpu_arch_flavor %cpu_arch/%build_flavor
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_symbols 1
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
%define klp_ipa_clones 1
%endif
# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
@@ -144,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 \
@@ -198,17 +202,12 @@ Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
Source67: log.sh
Source68: host-memcpy-hack.h
Source69: try-disable-staging-driver
Source70: kernel-obs-build.spec.in
Source71: kernel-obs-qa.spec.in
Source72: compress-vmlinux.sh
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
@@ -268,17 +267,12 @@ NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 67
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 77
NoSource: 78
NoSource: 79
NoSource: 80
@@ -750,6 +744,7 @@ from this package.
%source_timestamp
%files vdso
%dir %modules_dir
%modules_dir/vdso/
%endif
@@ -770,6 +765,9 @@ Supplements: packageand(%name:kernel-devel%variant)
Requires: kernel-source-vanilla = %version-%source_rel
Supplements: packageand(%name:kernel-source-vanilla)
%endif
%if "%{compress_modules}" == "zstd"
Requires: zstd
%endif
%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
Requires: dwarves >= 1.22
%endif
@@ -778,6 +776,7 @@ Requires: dwarves >= 1.22
Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -806,13 +805,15 @@ 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
%if "%kmp_target_cpu" != "%cpu_arch"
%obj_install_dir/%kmp_target_cpu
/usr/src/linux-obj/%kmp_target_cpu
%endif
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%build_flavor" == "rt" && 0%livepatch_rt))
%if "%livepatch" == "kgraft"
%define patch_package %{livepatch}-patch
%else
@@ -842,17 +843,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
@@ -1271,6 +1269,9 @@ cd linux-%srcversion
%endif
%_sourcedir/series.conf .. $SYMBOLS
sed -i -e 's/\$(CROSS_COMPILE)gcc/\$(CROSS_COMPILE)%gcc_compiler/g' Makefile
grep '\$(CROSS_COMPILE)%gcc_compiler' Makefile
cd %kernel_build_dir
# Override the timestamp 'uname -v' reports with the source timestamp and
@@ -1283,7 +1284,6 @@ export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
export KBUILD_BUILD_USER=geeko
export KBUILD_BUILD_HOST=buildhost
export HOST_EXTRACFLAGS="-include %_sourcedir/host-memcpy-hack.h"
EOF
source .kernel-binary.spec.buildenv
@@ -1436,10 +1436,12 @@ find . ! -type d ! -name 'Module.base' ! -name 'Module.*-kmp' ! -name 'Module.op
cd %kernel_build_dir
source .kernel-binary.spec.buildenv
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%if !%use_suse_kabi_tools
# create *.symref files in the tree
if test -e %my_builddir/kabi/%cpu_arch/symtypes-%build_flavor; then
%_sourcedir/modversions --unpack . < $_
fi
%endif
%if "%CONFIG_KMSG_IDS" == "y"
chmod +x ../scripts/kmsg-doc
@@ -1448,24 +1450,15 @@ fi
mkdir -p %_topdir/OTHER
log=%_topdir/OTHER/make-stderr.log
while true; do
make all $MAKE_ARGS 2> >(tee "$log")
if test "${PIPESTATUS[0]}" -eq 0; then
break
fi
# In the linux-next and vanilla branches, we try harder to build a
# package.
if test 0%vanilla_only -gt 0 &&
%_sourcedir/try-disable-staging-driver "$log"; then
echo "Retrying make"
else
exit 1
fi
done
make all $MAKE_ARGS 2> >(tee "$log")
result="${PIPESTATUS[0]}"
if ! test "$result" -eq 0; then
exit "$result"
fi
# Generate list of symbols that are used to create kernel livepatches
%if 0%{?klp_symbols}
%_sourcedir/klp-symbols . Symbols.list
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
make compile_commands.json $MAKE_ARGS
%endif
%install
@@ -1497,17 +1490,9 @@ add_vmlinux()
# mark the file 0644 again
chmod +x %buildroot/$vmlinux
if test $1 == "--compressed"; then
# avoid using the gzip -n option to make kdump happy (bnc#880848#c20)
ts="$(head -n1 %_sourcedir/source-timestamp)"
touch -d "$ts" %buildroot/$vmlinux
touch %buildroot/$vmlinux.%{compress_vmlinux}
%if 0%{?__debug_package:1}
# compress the vmlinux image after find-debuginfo.sh has processed it
%global __debug_install_post %__debug_install_post \
%_sourcedir/compress-vmlinux.sh %buildroot/boot/vmlinux-%kernelrelease-%build_flavor
%else
%_sourcedir/compress-vmlinux.sh %buildroot/$vmlinux
%endif
ghost_vmlinux=true
else
ghost_vmlinux=false
@@ -1654,30 +1639,34 @@ 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
%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 \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
--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
# 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
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 \
%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).
%_sourcedir/modversions --pack . > %buildroot/boot/symtypes-%kernelrelease-%build_flavor
if [ -s %buildroot/boot/symtypes-%kernelrelease-%build_flavor ]; then
gzip -n -9 %buildroot/boot/symtypes-%kernelrelease-%build_flavor
else
rm -f %buildroot/boot/symtypes-%kernelrelease-%build_flavor
%if %use_suse_kabi_tools
ksymtypes consolidate %{?_smp_mflags} \
--output=%my_builddir/symtypes-%build_flavor .
%else
%_sourcedir/modversions --pack . > %my_builddir/symtypes-%build_flavor
%endif
if [ -s %my_builddir/symtypes-%build_flavor ]; then
gzip -n -9 -c %my_builddir/symtypes-%build_flavor \
> %buildroot/boot/symtypes-%kernelrelease-%build_flavor.gz
fi
# Some architecture's $(uname -m) output is different from the ARCH
@@ -1728,11 +1717,25 @@ if [ %CONFIG_MODULES = y ]; then
res=0
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor; then
# check for kabi changes
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%if %use_suse_kabi_tools
ksymvers compare --rules=%my_builddir/kabi/severities \
--format=symbols:%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%else
%_sourcedir/kabi.pl --rules %my_builddir/kabi/severities \
%my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
Module.symvers || res=$?
%endif
fi
if [ $res -ne 0 ]; then
%if %use_suse_kabi_tools
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/symtypes-%build_flavor || true
%endif
# %ignore_kabi_badness is defined in the Kernel:* projects in the
# OBS to be able to build the KOTD in spite of kabi errors
if [ 0%{?ignore_kabi_badness} -eq 0 -a \
@@ -1783,7 +1786,8 @@ if [ %CONFIG_MODULES = y ]; then
%rpm_install_dir/%cpu_arch_flavor \
$(echo %srcversion | sed -r 's/^([0-9]+)\.([0-9]+).*/\1 \2/')
else
echo include ../../../%{basename:%src_install_dir}/Makefile > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'export KBUILD_OUTPUT = %obj_install_dir/%cpu_arch_flavor' > %rpm_install_dir/%cpu_arch_flavor/Makefile
echo 'include ../../../%{basename:%src_install_dir}/Makefile' >> %rpm_install_dir/%cpu_arch_flavor/Makefile
fi
fi
@@ -1864,7 +1868,7 @@ shopt -s nullglob dotglob
fi
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/ipa-clones[.]list$'| \
add_dirs_to_filelist >> %my_builddir/kernel-devel.files
{ echo %ghost /boot/%image
@@ -1962,7 +1966,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
add_dirs_to_filelist %my_builddir/optional-modules > %my_builddir/kernel-optional.files
%endif
%if 0%{?sle_version} >= 150000
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150000
# By default, loading unsupported modules is disabled on SLE through
# /etc/modprobe.d/10-unsupported-modules.conf from the suse-module-tools
# package.
@@ -1973,7 +1977,7 @@ add_dirs_to_filelist >> %my_builddir/kernel-devel.files
# multiversion(kernel).
modprobe_d_dir=/etc/modprobe.d
%if 0%{?sle_version} > 150300
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
%if %{usrmerged}

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

167
log.sh
View File

@@ -1,167 +0,0 @@
#! /bin/bash
# log.sh - Automate insertion of patches into a kernel rpm tree managed
# with series.conf
#
# Usage example:
#
# osc branch openSUSE:11.3/kernel-source
# osc co home:philipsb:branches:openSUSE:11.3:Update:Test/kernel-source
# mv ~/linux-2.6/driver-fix-for-something.patch .
# echo -e "\tpatches.drivers/driver-fix-for-something.patch" >> series.conf
# ./log.sh
# osc commit
#############################################################################
# Copyright (c) 2004-2006,2008-2010 Novell, Inc.
# All Rights Reserved.
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of version 2 of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, contact Novell, Inc.
#
# To contact Novell about this file by physical or electronic mail,
# you may find current contact information at www.novell.com
#############################################################################
# Construct a changes entry and commit log from a patch.
CHANGES=kernel-source.changes
trap 'rm -rf "$tmpdir"' EXIT
tmpdir=$(mktemp -d /tmp/${0##*/}.XXXXXX)
message=$tmpdir/message
log_entry() {
local entry=$1
echo "$entry" \
| fmt --width 65 \
| sed -e '1s/^/- /' -e '2,$s/^/ /' \
>> $message
}
patch_meta() {
local patch=$1
subject=$(formail -c -x Subject < "$patch" \
| sed -e 's, *\[[#/ A-Za-z0-9-]*\],,')
subject=${subject## }
subject=${subject%.}
set -- $(formail -c -x References -x Reference < "$patch")
references="$*"
}
patch_log_entry() {
local patch=$1 subject references old_subj old_ref old_patch="$tmpdir/old"
git show "HEAD:$patch" >"$old_patch" 2>/dev/null
patch_meta "$old_patch"
old_subj="$subject"
old_ref="$references"
patch_meta "$patch"
local msg
if test -z "$subject" -o "$subject" != "$old_subj"; then
msg="$subject${references:+ ($references)}"
elif test "$references" != "$old_ref"; then
if test -n "$references"; then
msg="Update references ($references)"
fi
else
msg="Refresh"
fi
log_entry "$patch: $msg${msg:+.}"
}
find_patches() {
osc diff series.conf \
| sed -n "s/^+\s*\(patches.*\)/\1/p"
}
for file in "$@" $(find_patches); do
dirname=$(dirname $file)
basename=$(basename $file)
archive=$dirname.tar.bz2
if [ ! -f $basename ]; then
echo "ERROR: $basename added to series.conf but doesn't exist in $PWD"
exit 1
fi
if [ ! -d $dirname ]; then
tar xvf $archive
fi
mv $basename $dirname
rm $archive
tar cfj $archive $dirname
files[${#files[@]}]=$file
done
if [ ${#files[@]} -eq 0 ]; then
echo "No modified files" >&2
exit 1
fi
for file in "${files[@]}"; do
if [ "${file:0:1}" = - ]; then
log_entry "${file:1}: Delete."
else
case "$file" in
config/*)
if [ -z "$configs_updated" ]; then
log_entry "Update config files."
configs_updated=1
fi
;;
patches.*)
patch_log_entry "$file"
;;
kabi/*/symvers-* | kabi/*/symtypes-* | kabi/*/symsets-* )
if [ -z "$symvers_updated" ]; then
log_entry "Update reference module symbol versions."
symvers_updated=1
fi
;;
series.conf)
# don't log changes in there
;;
*)
log_entry "$file: "
;;
esac
fi
done
if [ ! -s $message ]; then
echo "- " >> $message
fi
if osc vc $CHANGES $message; then
entry=$(sed -ne '1,2d' -e '/^--*$/!p' -e '/^--*$/q' $CHANGES)
entry=${entry##$'\n'}
entry=${entry%%$'\n'}
fi
for c in *.changes; do
[ $c = $CHANGES ] && continue
cp $CHANGES $c
done

16
mkspec
View File

@@ -4,7 +4,7 @@ use strict;
use warnings;
use File::Copy;
use Getopt::Long;
use Getopt::Long qw(:config no_ignore_case);
my $dir = ".";
my $rpmrelease;
@@ -40,12 +40,19 @@ my ($srcversion, $variant, $obs_build_variant) =
$obs_build_variant = ($obs_build_variant ? $variant : "" );
my $compress_modules = 'none';
my $compress_vmlinux = 'gz';
my $gcc_package = 'gcc';
my $gcc_compiler = 'gcc';
if (defined($vars{'COMPRESS_MODULES'})) {
$compress_modules = $vars{'COMPRESS_MODULES'};
}
if (defined($vars{'COMPRESS_VMLINUX'})) {
$compress_vmlinux = $vars{'COMPRESS_VMLINUX'};
}
if (defined($vars{'GCC_VERSION'})) {
my $gcc_version = $vars{'GCC_VERSION'};
$gcc_package = 'gcc' . $gcc_version;
$gcc_compiler = 'gcc-' . $gcc_version;
}
sub detect_false {
my $arg = $_[0];
return "" if not $arg;
@@ -64,6 +71,8 @@ my $split_optional = to_bool $vars{'SPLIT_OPTIONAL'};
my $supported_modules_check = to_bool $vars{'SUPPORTED_MODULES_CHECK'};
my $build_pdf = to_bool $vars{'BUILD_PDF'};
my $build_html = to_bool $vars{'BUILD_HTML'};
my $generate_compile_commands = to_bool $vars{'GENERATE_COMPILE_COMMANDS'};
my $use_suse_kabi_tools = to_bool $vars{'USE_SUSE_KABI_TOOLS'};
if (!defined ($rpmrelease)) {
$rpmrelease = $vars{'RELEASE'} || 0;
@@ -140,6 +149,10 @@ my %macros = (
YEAR => (localtime time)[5] + 1900,
COMPRESS_MODULES => $compress_modules,
COMPRESS_VMLINUX => $compress_vmlinux,
GENERATE_COMPILE_COMMANDS => $generate_compile_commands,
USE_SUSE_KABI_TOOLS => $use_suse_kabi_tools,
GCC_PACKAGE => $gcc_package,
GCC_COMPILER => $gcc_compiler,
);
# binary spec files
@@ -210,6 +223,7 @@ if ($variant eq "") {
my $syms_archs;
for my $flavor (sort keys(%syms_flavor_archs)) {
next if $flavor eq "vanilla";
next if $flavor eq "rt" && !$variant;
my @archs = arch2rpm(@{$syms_flavor_archs{$flavor}});
$syms_archs{$_} = 1 for @archs;
$requires .= "%ifarch @archs\n";

View File

@@ -3,7 +3,7 @@
use File::Basename;
use File::Path;
use File::Find;
use Getopt::Long;
use Getopt::Long qw(:config no_ignore_case);
use strict;
my %symbol_type_name = (

View File

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

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.

View File

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

11644
series.conf

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,3 @@
2024-06-14 14:48:22 +0000
GIT Revision: f86c546a35b58cd98b74cd0d2c3b7d3999cfd75b
GIT Branch: users/tiwai/ALP-current/bsc1226158
2025-08-12 01:30:59 +0000
GIT Revision: 07a4bbdff117ae69458b8014a8c45af78262b2f2
GIT Branch: SUSE-2024

View File

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

View File

@@ -19,6 +19,7 @@
+cluster-md-kmp drivers/md/md-cluster # fate#319339
+dlm-kmp fs/dlm/dlm # fate#319339
+gfs2-kmp fs/gfs2/gfs2 # fate#319339
+kselftests-kmp arch/powerpc/crypto/crc-vpmsum_test # test for the below crc modules
+kselftests-kmp lib/livepatch/test_klp_atomic_replace
+kselftests-kmp lib/livepatch/test_klp_callbacks_busy
+kselftests-kmp lib/livepatch/test_klp_callbacks_demo
@@ -80,7 +81,6 @@
arch/arm64/lib/xor-neon
arch/powerpc/crypto/aes-gcm-p10-crypto # jsc#PED-5089
arch/powerpc/crypto/chacha-p10-crypto # jsc#PED-5089
+kselftests-kmp arch/powerpc/crypto/crc-vpmsum_test # test for the below crc modules
arch/powerpc/crypto/crc32c-vpmsum # ppc-specific crc32c
arch/powerpc/crypto/crct10dif-vpmsum # FATE#327696
arch/powerpc/crypto/md5-ppc
@@ -173,7 +173,7 @@
arch/x86/oprofile/oprofile # OProfile system profiler
block/t10-pi
crypto/842
- crypto/adiantum
crypto/adiantum
crypto/aead # SP6-NEED-REVIEW
- crypto/aegis128
- crypto/aegis128l
@@ -261,7 +261,7 @@
crypto/michael_mic # Michael MIC
- crypto/morus1280
- crypto/morus640
- crypto/nhpoly1305
crypto/nhpoly1305 # required by adiantum, bsc#1231035
crypto/ofb # required by tcrypt, bsc#1153192
crypto/pcbc
crypto/pcrypt
@@ -295,7 +295,7 @@
crypto/vmac
crypto/wp512
crypto/xcbc
- crypto/xctr # SP6-NEED-REVIEW
crypto/xctr
crypto/xor
crypto/xts # SP6-NEED-REVIEW
crypto/xxhash_generic
@@ -437,7 +437,6 @@
drivers/bluetooth/bfusb # BlueFRITZ! USB driver
- drivers/bluetooth/bluecard_cs # SP6-NEED-REVIEW
drivers/bluetooth/bpa10x # Digianswer Bluetooth USB driver
- drivers/bluetooth/btnxpuart # SP6-NEED-REVIEW
- drivers/bluetooth/bt3c_cs # SP6-NEED-REVIEW
drivers/bluetooth/btbcm
drivers/bluetooth/btintel
@@ -446,6 +445,7 @@
drivers/bluetooth/btmtk.ko
- drivers/bluetooth/btmtksdio
- drivers/bluetooth/btmtkuart
- drivers/bluetooth/btnxpuart # SP6-NEED-REVIEW
drivers/bluetooth/btqca
- drivers/bluetooth/btqcomsmd
- drivers/bluetooth/btrsi
@@ -567,6 +567,7 @@
-!optional drivers/counter/intel-qep # armv7hl
-!optional drivers/counter/interrupt-cnt # armv7hl
-!optional drivers/counter/microchip-tcb-capture # armv7hl
-!optional drivers/counter/ti-ecap-capture # armv7hl only
-!optional drivers/counter/ti-eqep
drivers/cpufreq/acpi-cpufreq # x86 cpufreq driver used by all, if no specific one like intel_pstate
drivers/cpufreq/amd_freq_sensitivity # AMD frequency sensitivity feedback to the ondemand governor
@@ -603,6 +604,8 @@
- drivers/crypto/allwinner/sun8i-ce/sun8i-ce
- drivers/crypto/allwinner/sun8i-ss/sun8i-ss
- drivers/crypto/amlogic/amlogic-gxl-crypto
-!optional drivers/crypto/aspeed/aspeed-acry # armv7hl only
-!optional drivers/crypto/aspeed/aspeed_crypto # armv7hl only
- drivers/crypto/atmel-ecc
- drivers/crypto/atmel-i2c
- drivers/crypto/atmel-sha204a
@@ -628,6 +631,7 @@
- drivers/crypto/hisilicon/zip/hisi_zip # SP6-NEED-REVIEW
drivers/crypto/inside-secure/crypto_safexcel
+external drivers/crypto/intel/iaa/iaa_crypto #Intel
+external drivers/crypto/intel/qat/qat_420xx/qat_420xx #Intel
+external drivers/crypto/intel/qat/qat_4xxx/qat_4xxx #Intel
+external drivers/crypto/intel/qat/qat_c3xxx/qat_c3xxx #Intel
+external drivers/crypto/intel/qat/qat_c3xxxvf/qat_c3xxxvf #Intel
@@ -659,6 +663,8 @@
- drivers/crypto/s5p-sss
drivers/crypto/sa2ul # jsc#PED-1379
-!optional drivers/crypto/sahara
-!optional drivers/crypto/stm32/stm32-cryp # armv7hl only
-!optional drivers/crypto/stm32/stm32-hash # armv7hl only
- drivers/crypto/ux500/cryp/ux500_cryp # armv7hl
- drivers/crypto/ux500/hash/ux500_hash # armv7hl
drivers/crypto/virtio/virtio_crypto
@@ -758,8 +764,6 @@
- drivers/dma/zx_dma
- drivers/edac/al_mc_edac
drivers/edac/amd64_edac # EDAC driver for all AMD platforms
drivers/ras/amd/atl/amd_atl # Library used by amd's edac
drivers/ras/amd/fmpm
-!optional drivers/edac/aspeed_edac # armv7hl
drivers/edac/bluefield_edac
drivers/edac/cpc925_edac # IBM HT-bridge in some PPC hw
@@ -908,6 +912,7 @@
drivers/gpio/gpio-dwapb
- drivers/gpio/gpio-eic-sprd
- drivers/gpio/gpio-elkhartlake # SP6-NEED-REVIEW
-!optional drivers/gpio/gpio-en7523 # armv7hl only
- drivers/gpio/gpio-exar
- drivers/gpio/gpio-f7188x
- drivers/gpio/gpio-fxl6408 # SP6-NEED-REVIEW
@@ -1076,7 +1081,10 @@
-!optional drivers/gpu/drm/solomon/ssd130x-i2c # SP6-NEED-REVIEW
-!optional drivers/gpu/drm/solomon/ssd130x-spi # SP6-NEED-REVIEW
-!optional drivers/gpu/drm/sprd/sprd-drm # SP6-NEED-REVIEW
-!optional drivers/gpu/drm/sun4i/sun4i-backend # armv7hl only
-!optional drivers/gpu/drm/sun4i/sun4i-drm # SP6-NEED-REVIEW
-!optional drivers/gpu/drm/sun4i/sun4i-drm-hdmi # armv7hl only
-!optional drivers/gpu/drm/sun4i/sun4i-frontend # armv7hl only
-!optional drivers/gpu/drm/sun4i/sun4i-tcon # SP6-NEED-REVIEW
-!optional drivers/gpu/drm/sun4i/sun4i_tv # SP6-NEED-REVIEW
-!optional drivers/gpu/drm/sun4i/sun6i_drc # SP6-NEED-REVIEW
@@ -1287,6 +1295,7 @@
-!optional drivers/hwmon/smm665
drivers/hwmon/smsc47b397
drivers/hwmon/w83627ehf
drivers/hwmon/xgene-hwmon # bsc#1223265 jsc#PED-8570 jsc#PED-8649
- drivers/hwmon/*
drivers/hwspinlock/omap_hwspinlock # jsc#PED-1379
drivers/hwspinlock/qcom_hwspinlock
@@ -1358,6 +1367,7 @@
- drivers/i2c/busses/i2c-exynos5 # armv7hl
- drivers/i2c/busses/i2c-fsi
drivers/i2c/busses/i2c-gpio # Raspberry Pi 7" touchscreen
-!optional drivers/i2c/busses/i2c-gxp # armv7hl only
- drivers/i2c/busses/i2c-hisi
- drivers/i2c/busses/i2c-hix5hd2
drivers/i2c/busses/i2c-i801 # Intel 82801 SMBus driver
@@ -1433,6 +1443,7 @@
drivers/i2c/muxes/i2c-mux-pinctrl
drivers/i2c/muxes/i2c-mux-reg
- drivers/i3c/i3c
-!optional drivers/i3c/master/ast2600-i3c-master # armv7hl only
- drivers/i3c/master/dw-i3c-master
- drivers/i3c/master/i3c-master-cdns
-!optional drivers/i3c/master/mipi-i3c-hci/mipi-i3c-hci
@@ -1488,10 +1499,13 @@
-!optional drivers/iio/accel/st_accel_spi # armv7hl
-!optional drivers/iio/accel/stk8312
-!optional drivers/iio/accel/stk8ba50
-!optional drivers/iio/adc/ad7091r-base
-!optional drivers/iio/adc/ad7091r-base # SP6-NEED-REVIEW
-!optional drivers/iio/adc/ad7091r5
-!optional drivers/iio/adc/ad7091r5 # SP6-NEED-REVIEW
-!optional drivers/iio/adc/ad7124
-!optional drivers/iio/adc/ad7291 # armv7hl
-!optional drivers/iio/adc/ad7292
-!optional drivers/iio/adc/ad7292 # SP6-NEED-REVIEW
-!optional drivers/iio/adc/ad7606
-!optional drivers/iio/adc/ad7606_par
@@ -1500,9 +1514,12 @@
-!optional drivers/iio/adc/ad7768-1
-!optional drivers/iio/adc/ad7949
-!optional drivers/iio/adc/ad799x # armv7hl
-!optional drivers/iio/adc/ad9467
-!optional drivers/iio/adc/ad9467 # SP6-NEED-REVIEW
-!optional drivers/iio/adc/ad_sigma_delta
-!optional drivers/iio/adc/adi-axi-adc
-!optional drivers/iio/adc/adi-axi-adc # SP6-NEED-REVIEW
-!optional drivers/iio/adc/aspeed_adc # armv7hl
-!optional drivers/iio/adc/aspeed_adc # SP6-NEED-REVIEW
-!optional drivers/iio/adc/axp20x_adc
-!optional drivers/iio/adc/axp288_adc
@@ -1560,12 +1577,14 @@
-!optional drivers/iio/adc/ti-adc12138
-!optional drivers/iio/adc/ti-adc128s052 # armv7hl
-!optional drivers/iio/adc/ti-adc161s626
-!optional drivers/iio/adc/ti-ads131e08 # SP6-NEED-REVIEW
-!optional drivers/iio/adc/ti-ads1015
-!optional drivers/iio/adc/ti-ads124s08
-!optional drivers/iio/adc/ti-ads131e08
-!optional drivers/iio/adc/ti-ads131e08 # SP6-NEED-REVIEW
-!optional drivers/iio/adc/ti-ads7950
-!optional drivers/iio/adc/ti-ads8344
-!optional drivers/iio/adc/ti-tlc4541
-!optional drivers/iio/adc/ti-tsc2046
-!optional drivers/iio/adc/ti-tsc2046 # SP6-NEED-REVIEW
-!optional drivers/iio/adc/ti_am335x_adc # armv7hl
-!optional drivers/iio/adc/twl4030-madc # armv7hl
@@ -1626,15 +1645,7 @@
-!optional drivers/iio/dac/ad5766
-!optional drivers/iio/dac/ad5766
-!optional drivers/iio/dac/ad5770r
-!optional drivers/iio/adc/ad7091r5
-!optional drivers/iio/adc/ad7091r-base
-!optional drivers/iio/adc/ad7292
-!optional drivers/iio/dac/ad8801
-!optional drivers/iio/adc/ad9467
-!optional drivers/iio/adc/adi-axi-adc
-!optional drivers/iio/adc/aspeed_adc # armv7hl
-!optional drivers/iio/adc/ti-ads131e08
-!optional drivers/iio/adc/ti-tsc2046
-!optional drivers/iio/dac/dpot-dac
-!optional drivers/iio/dac/ds4424
-!optional drivers/iio/dac/ltc1660
@@ -1960,7 +1971,6 @@
drivers/input/keyboard/twl4030_keypad # armv7hl
drivers/input/keyboard/xtkbd # XT keyboard driver
drivers/input/matrix-keymap
- drivers/input/misc/nxp-bbnsm-pwrkey # SP6-NEED-REVIEW
drivers/input/misc/88pm80x_onkey # armv7hl
drivers/input/misc/88pm860x_onkey # armv7hl
- drivers/input/misc/ad714x # Touch-sensor, mostly for phones
@@ -2005,6 +2015,7 @@
drivers/input/misc/max8925_onkey # armv7hl
-!optional drivers/input/misc/mma8450
- drivers/input/misc/msm-vibrator
- drivers/input/misc/nxp-bbnsm-pwrkey # SP6-NEED-REVIEW
drivers/input/misc/palmas-pwrbutton # armv7hl
- drivers/input/misc/pcf8574_keypad # For embedded devices
drivers/input/misc/pcspkr
@@ -2159,7 +2170,6 @@
- drivers/interconnect/imx/imx8mn-interconnect
- drivers/interconnect/imx/imx8mp-interconnect # SP6-NEED-REVIEW
- drivers/interconnect/imx/imx8mq-interconnect
- drivers/interconnect/samsung/exynos-interconnect
- drivers/interconnect/qcom/icc-bcm-voter
- drivers/interconnect/qcom/icc-osm-l3
- drivers/interconnect/qcom/icc-rpmh
@@ -2187,6 +2197,7 @@
- drivers/interconnect/qcom/qnoc-sm8350
- drivers/interconnect/qcom/qnoc-sm8450 # SP6-NEED-REVIEW
- drivers/interconnect/qcom/qnoc-sm8550 # SP6-NEED-REVIEW
- drivers/interconnect/samsung/exynos-interconnect
drivers/iommu/amd/iommu_v2 # AMD IOMMU v2 driver
-!optional drivers/iommu/apple-dart # SP6-NEED-REVIEW
drivers/iommu/iova # SP6-NEED-REVIEW
@@ -2200,8 +2211,8 @@
- drivers/irqchip/irq-keystone # armv7hl
- drivers/irqchip/irq-madera
-!optional drivers/irqchip/irq-pruss-intc # armv7hl
- drivers/irqchip/irq-ts4800 # armv7hl
- drivers/irqchip/irq-qcom-mpm # SP6-NEED-REVIEW
- drivers/irqchip/irq-ts4800 # armv7hl
-!optional drivers/leds/blink/leds-bcm63138
-!optional drivers/leds/flash/leds-as3645a # SP6-NEED-REVIEW
-!optional drivers/leds/flash/leds-lm3601x # SP6-NEED-REVIEW
@@ -2212,7 +2223,6 @@
-!optional drivers/leds/flash/leds-sgm3140 # SP6-NEED-REVIEW
drivers/leds/led-class-flash
- drivers/leds/led-class-multicolor
-!optional drivers/leds/leds-bd2606mvv # SP6-NEED-REVIEW
- drivers/leds/leds-88pm860x # armv7hl
- drivers/leds/leds-aat1290 # armv7hl
-!optional drivers/leds/leds-acer-a500 # armv7hl
@@ -2221,6 +2231,7 @@
- drivers/leds/leds-apu
- drivers/leds/leds-as3645a
- drivers/leds/leds-aw2013
-!optional drivers/leds/leds-bd2606mvv # SP6-NEED-REVIEW
- drivers/leds/leds-bd2802
- drivers/leds/leds-blinkm
drivers/leds/leds-clevo-mail
@@ -2301,8 +2312,8 @@
drivers/lightnvm/pblk
-!optional drivers/mailbox/apple-mailbox # SP6-NEED-REVIEW
- drivers/mailbox/arm_mhu # armv7hl
- drivers/mailbox/arm_mhuv2
- drivers/mailbox/arm_mhu_db # armv7hl
- drivers/mailbox/arm_mhuv2
- drivers/mailbox/armada-37xx-rwtm-mailbox
- drivers/mailbox/bcm-flexrm-mailbox
- drivers/mailbox/bcm-pdc-mailbox
@@ -2576,6 +2587,7 @@
-!optional drivers/media/v4l2-core/tuner
drivers/media/v4l2-core/v4l2-async
drivers/media/v4l2-core/v4l2-common
drivers/media/v4l2-core/v4l2-dv-timings
-!optional drivers/media/v4l2-core/v4l2-flash-led-class
drivers/media/v4l2-core/v4l2-fwnode
drivers/media/v4l2-core/videobuf-core
@@ -2727,6 +2739,7 @@
drivers/misc/eeprom/max6875 # MAX6874/MAX6875
drivers/misc/enclosure # fate#303913
- drivers/misc/fastrpc
-!optional drivers/misc/gehc-achc # armv7hl only
+external drivers/misc/genwqe/genwqe_card # IBM
- drivers/misc/hi6421v600-irq # SP6-NEED-REVIEW
- drivers/misc/hisi_hikey_usb
@@ -2917,8 +2930,8 @@
drivers/net/can/slcan/slcan
-!optional drivers/net/can/softing/softing
-!optional drivers/net/can/softing/softing_cs # SP6-NEED-REVIEW
-!optional drivers/net/can/spi/hi311x
- drivers/net/can/spi/hi311x
-!optional drivers/net/can/spi/hi311x
-!optional drivers/net/can/spi/mcp251xfd/mcp251xfd
-!optional drivers/net/can/sun4i_can # armv7hl
-!optional drivers/net/can/ti_hecc # armv7hl
@@ -3012,9 +3025,11 @@
drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/ch_ipsec
drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/ch_ktls
drivers/net/ethernet/chelsio/libcxgb/libcxgb
-!optional drivers/net/ethernet/cirrus/cs89x0 # armv7hl only
drivers/net/ethernet/cisco/enic/enic
- drivers/net/ethernet/cortina/gemini
drivers/net/ethernet/davicom/dm9000 # armv7hl
-!optional drivers/net/ethernet/davicom/dm9051 # armv7hl only
-!optional drivers/net/ethernet/dec/tulip/de2104x
-!optional drivers/net/ethernet/dec/tulip/de4x5
-!optional drivers/net/ethernet/dec/tulip/dmfe
@@ -3164,6 +3179,7 @@
drivers/net/ethernet/sun/niu
drivers/net/ethernet/sun/sungem # Sun GEM Gbit ethernet driver, used in PowerMacs
-!optional drivers/net/ethernet/sun/sunhme
-!optional drivers/net/ethernet/sunplus/sp7021_emac # armv7hl only
drivers/net/ethernet/synopsys/dwc-xlgmac
drivers/net/ethernet/tehuti/tehuti
drivers/net/ethernet/ti/am65-cpts # jsc#PED-1379
@@ -3297,8 +3313,8 @@
drivers/net/phy/mxl-gpy
drivers/net/phy/national
-!optional drivers/net/phy/ncn26000 # SP6-NEED-REVIEW
-!optional drivers/net/phy/nxp-cbtx # SP6-NEED-REVIEW
-!optional drivers/net/phy/nxp-c45-tja11xx
-!optional drivers/net/phy/nxp-cbtx # SP6-NEED-REVIEW
- drivers/net/phy/nxp-tja11xx
drivers/net/phy/phylink
drivers/net/phy/qsemi
@@ -3476,6 +3492,8 @@
- drivers/net/wireless/mediatek/mt76/mt7921/mt7921e
-!optional drivers/net/wireless/mediatek/mt76/mt7921/mt7921s
-!optional drivers/net/wireless/mediatek/mt76/mt7921/mt7921u
- drivers/net/wireless/mediatek/mt76/mt792x-lib
- drivers/net/wireless/mediatek/mt76/mt792x-usb
-!optional drivers/net/wireless/mediatek/mt76/mt7996/mt7996e # SP6-NEED-REVIEW
- drivers/net/wireless/mediatek/mt7601u/mt7601u
-!optional drivers/net/wireless/purelifi/plfxlc/plfxlc # SP6-NEED-REVIEW
@@ -3518,19 +3536,19 @@
- drivers/net/wireless/realtek/rtw88/rtw88_8723du # SP6-NEED-REVIEW
drivers/net/wireless/realtek/rtw88/rtw88_8821c
drivers/net/wireless/realtek/rtw88/rtw88_8821ce
- drivers/net/wireless/realtek/rtw88/rtw88_8821cu # SP6-NEED-REVIEW
- drivers/net/wireless/realtek/rtw88/rtw88_8821cs # SP6-NEED-REVIEW
- drivers/net/wireless/realtek/rtw88/rtw88_8822bs # SP6-NEED-REVIEW
- drivers/net/wireless/realtek/rtw88/rtw88_8822cs # SP6-NEED-REVIEW
- drivers/net/wireless/realtek/rtw88/rtw88_8821cu # SP6-NEED-REVIEW
drivers/net/wireless/realtek/rtw88/rtw88_8822b
drivers/net/wireless/realtek/rtw88/rtw88_8822be
- drivers/net/wireless/realtek/rtw88/rtw88_8822bs # SP6-NEED-REVIEW
- drivers/net/wireless/realtek/rtw88/rtw88_8822bu # SP6-NEED-REVIEW
drivers/net/wireless/realtek/rtw88/rtw88_8822c
drivers/net/wireless/realtek/rtw88/rtw88_8822ce
- drivers/net/wireless/realtek/rtw88/rtw88_8822cs # SP6-NEED-REVIEW
- drivers/net/wireless/realtek/rtw88/rtw88_8822cu # SP6-NEED-REVIEW
drivers/net/wireless/realtek/rtw88/rtw88_core
drivers/net/wireless/realtek/rtw88/rtw88_sdio # SP6-NEED-REVIEW
drivers/net/wireless/realtek/rtw88/rtw88_pci
drivers/net/wireless/realtek/rtw88/rtw88_sdio # SP6-NEED-REVIEW
- drivers/net/wireless/realtek/rtw88/rtw88_usb # SP6-NEED-REVIEW
- drivers/net/wireless/realtek/rtw89/rtw89_8852a # SP6-NEED-REVIEW
- drivers/net/wireless/realtek/rtw89/rtw89_8852ae # SP6-NEED-REVIEW
@@ -3591,14 +3609,13 @@
drivers/nvdimm/of_pmem
- drivers/nvdimm/virtio_pmem
drivers/nvme/common/* # fate#319965
-!optional drivers/nvme/nvme-apple # SP6-NEED-REVIEW
-!optional drivers/nvme/host/nvme-apple # SP6-NEED-REVIEW
drivers/nvme/host/* # fate#319965
drivers/nvme/target/* # fate#321732
- drivers/nvmem/layouts/onie-tlv # SP6-NEED-REVIEW
- drivers/nvmem/layouts/sl28vpd # SP6-NEED-REVIEW
-!optional drivers/nvmem/nvmem-apple-efuses # SP6-NEED-REVIEW
- drivers/nvmem/nvmem-bcm-ocotp
-!optional drivers/nvmem/nvmem_brcm_nvram # armv7hl
-!optional drivers/nvmem/nvmem-imx-iim
- drivers/nvmem/nvmem-imx-ocotp
- drivers/nvmem/nvmem-imx-ocotp-scu
@@ -3606,8 +3623,8 @@
drivers/nvmem/nvmem-rmem
- drivers/nvmem/nvmem-rockchip-otp
- drivers/nvmem/nvmem-sc27xx-efuse
- drivers/nvmem/nvmem_sprd_efuse
- drivers/nvmem/nvmem-vf610-ocotp # armv7hl
-!optional drivers/nvmem/nvmem_brcm_nvram # armv7hl
- drivers/nvmem/nvmem_meson_efuse
- drivers/nvmem/nvmem_meson_mx_efuse # armv7hl
- drivers/nvmem/nvmem_mtk-efuse
@@ -3615,18 +3632,21 @@
drivers/nvmem/nvmem_qfprom
- drivers/nvmem/nvmem_rockchip_efuse
- drivers/nvmem/nvmem_snvs_lpgpr
- drivers/nvmem/nvmem_sprd_efuse
-!optional drivers/nvmem/nvmem_sunplus_ocotp # armv7hl only
- drivers/nvmem/nvmem_sunxi_sid
- drivers/nvmem/nvmem_u-boot-env # SP6-NEED-REVIEW
drivers/parport/parport
drivers/parport/parport_ax88796
drivers/parport/parport_pc # PC-style parallel port driver
drivers/parport/parport_serial # Driver for common parallel+serial multi-I/O PCI cards
-!optional drivers/pci/controller/dwc/pci-dra7xx # armv7hl only
- drivers/pci/controller/dwc/pci-exynos
- drivers/pci/controller/dwc/pcie-qcom-ep # SP6-NEED-REVIEW
drivers/pci/controller/dwc/pcie-tegra194
-!optional drivers/pci/controller/pcie-apple
+external drivers/pci/controller/pci-hyperv
+external drivers/pci/controller/pci-hyperv-intf
-!optional drivers/pci/controller/pcie-apple
drivers/pci/controller/pcie-brcmstb
drivers/pci/controller/pcie-iproc
drivers/pci/controller/pcie-iproc-platform
@@ -3653,6 +3673,7 @@
drivers/perf/arm-cci # armv7hl, armv8
drivers/perf/arm-ccn
drivers/perf/arm-cmn
drivers/perf/arm_cspmu/* # bsc#1228289 jsc#PED-7859
drivers/perf/arm_dmc620_pmu
drivers/perf/arm_dsu_pmu
drivers/perf/arm_smmuv3_pmu
@@ -3676,6 +3697,7 @@
- drivers/phy/amlogic/phy-meson-g12a-usb3-pcie
- drivers/phy/amlogic/phy-meson-gxl-usb2
- drivers/phy/amlogic/phy-meson-gxl-usb3
-!optional drivers/phy/amlogic/phy-meson8-hdmi-tx # armv7hl only
- drivers/phy/amlogic/phy-meson8b-usb2
- drivers/phy/broadcom/phy-bcm-kona-usb2
- drivers/phy/broadcom/phy-bcm-ns-usb2
@@ -3738,12 +3760,12 @@
- drivers/phy/qualcomm/phy-qcom-ipq806x-sata
- drivers/phy/qualcomm/phy-qcom-ipq806x-usb
- drivers/phy/qualcomm/phy-qcom-pcie2
- drivers/phy/qualcomm/phy-qcom-qmp # SP6-NEED-REVIEW
- drivers/phy/qualcomm/phy-qcom-qmp-combo # SP6-NEED-REVIEW
- drivers/phy/qualcomm/phy-qcom-qmp-pcie # SP6-NEED-REVIEW
- drivers/phy/qualcomm/phy-qcom-qmp-pcie-msm8996 # SP6-NEED-REVIEW
- drivers/phy/qualcomm/phy-qcom-qmp-ufs # SP6-NEED-REVIEW
- drivers/phy/qualcomm/phy-qcom-qmp-usb # SP6-NEED-REVIEW
- drivers/phy/qualcomm/phy-qcom-qmp # SP6-NEED-REVIEW
- drivers/phy/qualcomm/phy-qcom-qusb2
- drivers/phy/qualcomm/phy-qcom-snps-eusb2 # SP6-NEED-REVIEW
- drivers/phy/qualcomm/phy-qcom-snps-femto-v2
@@ -3779,6 +3801,7 @@
- drivers/phy/samsung/phy-samsung-ufs
drivers/phy/st/phy-miphy28lp # armv7hl
drivers/phy/st/phy-stih407-usb # armv7hl
-!optional drivers/phy/sunplus/phy-sunplus-usb2 # armv7hl only
drivers/phy/tegra/phy-tegra-xusb
drivers/phy/tegra/phy-tegra194-p2u
drivers/phy/ti/phy-am654-serdes # jsc#PED-1379
@@ -3821,10 +3844,10 @@
- drivers/platform/mellanox/mlxreg-lc # SP6-NEED-REVIEW
- drivers/platform/mellanox/nvsw-sn2201 # SP6-NEED-REVIEW
-!optional drivers/platform/surface/aggregator/surface_aggregator
-!optional drivers/platform/surface/surface/surface_acpi_notify
-!optional drivers/platform/surface/surface3-wmi
-!optional drivers/platform/surface/surface3_button
-!optional drivers/platform/surface/surface3_power
-!optional drivers/platform/surface/surface/surface_acpi_notify
-!optional drivers/platform/surface/surface_aggregator_cdev
-!optional drivers/platform/surface/surface_aggregator_hub # SP6-NEED-REVIEW
-!optional drivers/platform/surface/surface_aggregator_registry
@@ -3899,22 +3922,22 @@
- drivers/platform/x86/intel/intel_int0002_vgpio
-!optional drivers/platform/x86/intel/intel_mrfld_pwrbtn
- drivers/platform/x86/intel/intel_oaktrail
- drivers/platform/x86/intel/intel_pmc_core_pltdrv
drivers/platform/x86/intel/intel_punit_ipc
drivers/platform/x86/intel/intel_sdsi
drivers/platform/x86/intel/speed_select_if/isst_if_common
drivers/platform/x86/intel/speed_select_if/isst_if_mbox_msr
drivers/platform/x86/intel/speed_select_if/isst_if_mbox_pci
drivers/platform/x86/intel/speed_select_if/isst_if_mmio
drivers/platform/x86/intel/speed_select_if/isst_tpmi_core # SP6-NEED-REVIEW
drivers/platform/x86/intel/speed_select_if/isst_tpmi # SP6-NEED-REVIEW
drivers/platform/x86/intel/intel_vsec
drivers/platform/x86/intel/intel_vsec_tpmi # SP6-NEED-REVIEW
- drivers/platform/x86/intel/ishtp_eclite # SP6-NEED-REVIEW
drivers/platform/x86/intel/pmc/intel_pmc_core
- drivers/platform/x86/intel/intel_pmc_core_pltdrv
drivers/platform/x86/intel/pmt/pmt_class
drivers/platform/x86/intel/pmt/pmt_crashlog
drivers/platform/x86/intel/pmt/pmt_telemetry
drivers/platform/x86/intel/speed_select_if/isst_if_common
drivers/platform/x86/intel/speed_select_if/isst_if_mbox_msr
drivers/platform/x86/intel/speed_select_if/isst_if_mbox_pci
drivers/platform/x86/intel/speed_select_if/isst_if_mmio
drivers/platform/x86/intel/speed_select_if/isst_tpmi # SP6-NEED-REVIEW
drivers/platform/x86/intel/speed_select_if/isst_tpmi_core # SP6-NEED-REVIEW
- drivers/platform/x86/intel/telemetry/intel_telemetry_core
- drivers/platform/x86/intel/telemetry/intel_telemetry_debugfs
- drivers/platform/x86/intel/telemetry/intel_telemetry_pltdrv
@@ -3962,6 +3985,7 @@
-!optional drivers/platform/x86/x86-android-tablets # SP6-NEED-REVIEW
- drivers/platform/x86/xiaomi-wmi
drivers/power/avs/rockchip-io-domain
drivers/power/reset/pwr-mlxbf # jsc#PED-8032
-!optional drivers/power/supply/axp20x_ac_power
-!optional drivers/power/supply/axp20x_battery
-!optional drivers/power/supply/axp20x_usb_power
@@ -3974,7 +3998,6 @@
-!optional drivers/power/supply/sbs-battery
-!optional drivers/power/supply/surface_battery
-!optional drivers/power/supply/surface_charger
drivers/power/reset/pwr-mlxbf # jsc#PED-8032
- drivers/power/*
drivers/powercap/intel_rapl_common
drivers/powercap/intel_rapl_msr
@@ -3998,6 +4021,8 @@
drivers/pwm/pwm-tegra
- drivers/pwm/*
- drivers/rapidio/*
drivers/ras/amd/atl/amd_atl # Library used by amd's edac
drivers/ras/amd/fmpm
- drivers/regulator/88pg86x
- drivers/regulator/88pm800-regulator # armv7hl
- drivers/regulator/88pm8607 # armv7hl
@@ -4079,6 +4104,8 @@
- drivers/regulator/mt6311-regulator
-!optional drivers/regulator/mt6315-regulator
- drivers/regulator/mt6323-regulator # armv7hl
-!optional drivers/regulator/mt6331-regulator # armv7hl only
-!optional drivers/regulator/mt6332-regulator # armv7hl only
-!optional drivers/regulator/mt6358-regulator # armv7hl
-!optional drivers/regulator/mt6359-regulator # armv7hl
- drivers/regulator/mt6360-regulator
@@ -4162,6 +4189,7 @@
- drivers/remoteproc/imx_dsp_rproc # SP6-NEED-REVIEW
- drivers/remoteproc/imx_rproc
- drivers/remoteproc/keystone_remoteproc # armv7hl
-!optional drivers/remoteproc/meson_mx_ao_arc # armv7hl only
- drivers/remoteproc/mtk_scp
- drivers/remoteproc/mtk_scp_ipi
- drivers/remoteproc/omap_remoteproc # armv7hl
@@ -4190,6 +4218,7 @@
- drivers/reset/reset-scmi
drivers/reset/reset-ti-sci # jsc#PED-1379
drivers/reset/reset-ti-syscon # jsc#PED-1379
-!optional drivers/reset/reset-tps380x # armv7hl only
- drivers/rpmsg/mtk_rpmsg
drivers/rpmsg/qcom_glink
drivers/rpmsg/qcom_glink_native
@@ -4236,6 +4265,7 @@
-!optional drivers/rtc/rtc-max8907
- drivers/rtc/rtc-meson # armv7hl
- drivers/rtc/rtc-meson-vrtc
-!optional drivers/rtc/rtc-msc313 # armv7hl only
- drivers/rtc/rtc-mt7622
drivers/rtc/rtc-mv
-!optional drivers/rtc/rtc-mxc
@@ -4267,6 +4297,7 @@
- drivers/rtc/rtc-sd3078
- drivers/rtc/rtc-sh # SP6-NEED-REVIEW
drivers/rtc/rtc-snvs # jsc#PED-4758
-!optional drivers/rtc/rtc-sunplus # armv7hl only
drivers/rtc/rtc-tegra
- drivers/rtc/rtc-ti-k3 # SP6-NEED-REVIEW
- drivers/rtc/rtc-wilco-ec
@@ -4289,7 +4320,7 @@
drivers/s390/char/tape_34xx
drivers/s390/char/tape_3590
drivers/s390/char/tape_class
- drivers/s390/char/uvdevice # SP6-NEED-REVIEW
drivers/s390/char/uvdevice # bsc#1232090 neeeded for secure execution attestations
drivers/s390/char/vmlogrdr
drivers/s390/char/vmur
drivers/s390/cio/ccwgroup
@@ -4408,12 +4439,13 @@
- drivers/slimbus/slim-qcom-ctrl
- drivers/slimbus/slim-qcom-ngd-ctrl
drivers/slimbus/slimbus
- drivers/soc/amlogic/meson-canvas
-!optional drivers/soc/apple/apple-rtkit # SP6-NEED-REVIEW
-!optional drivers/soc/apple/apple-sart # SP6-NEED-REVIEW
- drivers/soc/amlogic/meson-canvas
-!optional drivers/soc/aspeed/aspeed-lpc-ctrl # armv7hl
-!optional drivers/soc/aspeed/aspeed-lpc-snoop # armv7hl
-!optional drivers/soc/aspeed/aspeed-p2a-ctrl # armv7hl
-!optional drivers/soc/aspeed/aspeed-uart-routing # armv7hl only
- drivers/soc/fsl/dpaa2-console
drivers/soc/fsl/dpio/fsl-mc-dpio
-!optional drivers/soc/imx/imx93-pd # SP6-NEED-REVIEW
@@ -4444,9 +4476,10 @@
-!optional drivers/spi/spi-altera-core
-!optional drivers/spi/spi-altera-dfl
-!optional drivers/spi/spi-altera-platform # armv7hl
-!optional drivers/spi/spi-amlogic-spifc-a1 # SP6-NEED-REVIEW
drivers/spi/spi-amd
-!optional drivers/spi/spi-amlogic-spifc-a1 # SP6-NEED-REVIEW
- drivers/spi/spi-armada-3700
-!optional drivers/spi/spi-aspeed-smc # armv7hl only
- drivers/spi/spi-axi-spi-engine # armv7hl
- drivers/spi/spi-bcm-qspi
drivers/spi/spi-bcm2835
@@ -4456,8 +4489,8 @@
drivers/spi/spi-bitbang
- drivers/spi/spi-brcmstb-qspi
drivers/spi/spi-cadence # fate#320029
drivers/spi/spi-cadence-xspi # SP6-NEED-REVIEW
drivers/spi/spi-cadence-quadspi
drivers/spi/spi-cadence-xspi # SP6-NEED-REVIEW
- drivers/spi/spi-davinci # armv7hl
-!optional drivers/spi/spi-dln2
- drivers/spi/spi-dw
@@ -4470,6 +4503,7 @@
drivers/spi/spi-fsl-qspi
- drivers/spi/spi-geni-qcom
-!optional drivers/spi/spi-gpio
-!optional drivers/spi/spi-gxp # armv7hl only
- drivers/spi/spi-hisi-kunpeng
drivers/spi/spi-hisi-sfc-v3xx
drivers/spi/spi-imx
@@ -4516,6 +4550,7 @@
- drivers/spi/spi-st-ssc4 # armv7hl
- drivers/spi/spi-sun4i
- drivers/spi/spi-sun6i
-!optional drivers/spi/spi-sunplus-sp7021 # armv7hl only
drivers/spi/spi-synquacer
drivers/spi/spi-tegra114
-!optional drivers/spi/spi-tegra20-sflash
@@ -4730,6 +4765,7 @@
- drivers/thermal/sun8i_thermal
drivers/thermal/tegra/tegra-bpmp-thermal
drivers/thermal/tegra/tegra-soctherm
-!optional drivers/thermal/tegra/tegra30-tsensor # armv7hl only
-!optional drivers/thermal/thermal-generic-adc
- drivers/thermal/thermal_mmio
- drivers/thermal/ti-soc-thermal/ti-soc-thermal # armv7hl
@@ -4863,6 +4899,7 @@
-!optional drivers/usb/gadget/legacy/tcm_usb_gadget
drivers/usb/gadget/libcomposite
-!optional drivers/usb/gadget/udc/aspeed-vhub/aspeed-vhub # armv7hl
-!optional drivers/usb/gadget/udc/aspeed_udc # armv7hl only
-!optional drivers/usb/gadget/udc/bdc/bdc
-!optional drivers/usb/gadget/udc/bdc/bdc_pci
-!optional drivers/usb/gadget/udc/fotg210-udc # armv7hl
@@ -5094,15 +5131,15 @@
- drivers/uwb/whc-rc
- drivers/uwb/whci
- drivers/vdpa/alibaba/eni_vdpa # SP6-NEED-REVIEW
- drivers/vdpa/ifcvf/ifcvf
- drivers/vdpa/mlx5/mlx5_vdpa
drivers/vdpa/ifcvf/ifcvf
drivers/vdpa/mlx5/mlx5_vdpa
- drivers/vdpa/solidrun/snet_vdpa # SP6-NEED-REVIEW
- drivers/vdpa/vdpa
- drivers/vdpa/vdpa_sim/vdpa_sim
- drivers/vdpa/vdpa_sim/vdpa_sim_blk
- drivers/vdpa/vdpa_sim/vdpa_sim_net
- drivers/vdpa/vdpa_user/vduse # SP6-NEED-REVIEW
- drivers/vdpa/virtio_pci/vp_vdpa
drivers/vdpa/vdpa
drivers/vdpa/vdpa_sim/vdpa_sim
drivers/vdpa/vdpa_sim/vdpa_sim_blk
drivers/vdpa/vdpa_sim/vdpa_sim_net
drivers/vdpa/vdpa_user/vduse
drivers/vdpa/virtio_pci/vp_vdpa
- drivers/vfio/cdx/vfio-cdx
- drivers/vfio/fsl-mc/vfio-fsl-mc
drivers/vfio/mdev/mdev
@@ -5123,7 +5160,7 @@
drivers/vhost/vhost_iotlb
drivers/vhost/vhost_net
drivers/vhost/vhost_scsi
- drivers/vhost/vhost_vdpa
drivers/vhost/vhost_vdpa
drivers/vhost/vhost_vsock
drivers/vhost/vringh
- drivers/video/backlight/88pm860x_bl # armv7hl
@@ -5175,10 +5212,10 @@
+external +base drivers/video/fbdev/hyperv_fb
-!optional drivers/video/fbdev/imxfb # SP6-NEED-REVIEW
drivers/video/fbdev/macmodes # SP6-NEED-REVIEW
drivers/video/fbdev/offb # SP6-NEED-REVIEW
- drivers/video/fbdev/metronomefb # armv7hl
- drivers/video/fbdev/mx3fb # armv7hl
- drivers/video/fbdev/ocfb
drivers/video/fbdev/offb # SP6-NEED-REVIEW
-!optional drivers/video/fbdev/sh_mobile_lcdcfb # SP6-NEED-REVIEW
- drivers/video/fbdev/sm501fb # armv7hl
- drivers/video/fbdev/smscufx # armv7hl
@@ -5206,7 +5243,7 @@
+base drivers/virtio/virtio_pci
+base drivers/virtio/virtio_pci_modern_dev
+base drivers/virtio/virtio_ring
- drivers/virtio/virtio_vdpa
drivers/virtio/virtio_vdpa
- drivers/visorbus/visorbus
-!optional drivers/w1/masters/ds1wm
-!optional drivers/w1/masters/ds2482
@@ -5256,6 +5293,7 @@
- drivers/watchdog/da9062_wdt
-!optional drivers/watchdog/da9063_wdt # armv7hl
- drivers/watchdog/davinci_wdt # armv7hl
-!optional drivers/watchdog/db8500_wdt # armv7hl only
drivers/watchdog/diag288_wdt # IBM s390 Watchdog driver
drivers/watchdog/dw_wdt
- drivers/watchdog/ebc-c384_wdt
@@ -5264,6 +5302,7 @@
drivers/watchdog/f71808e_wdt # Fintek F71xxx watchdog driver
- drivers/watchdog/ftwdt010_wdt # armv7hl
- drivers/watchdog/gpio_wdt
-!optional drivers/watchdog/gxp-wdt # armv7hl only
drivers/watchdog/hpwdt
+base drivers/watchdog/i6300esb # Watchdog timer driver for Intel 6300ESB chipset
drivers/watchdog/iTCO_vendor_support
@@ -5323,6 +5362,7 @@
- drivers/watchdog/sprd_wdt
- drivers/watchdog/st_lpc_wdt # armv7hl
- drivers/watchdog/stpmic1_wdt
-!optional drivers/watchdog/sunplus_wdt # armv7hl only
- drivers/watchdog/sunxi_wdt
- drivers/watchdog/tegra_wdt
- drivers/watchdog/tqmx86_wdt
@@ -5361,9 +5401,6 @@
+base fs/btrfs/btrfs
fs/cachefiles/cachefiles # CacheFiles caching backend
fs/ceph/ceph
fs/smb/client/cifs # VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows
fs/smb/common/cifs_arc4 # used by cifs.ko, split done in upstream 23e91d8b
fs/smb/common/cifs_md4 # used by cifs.ko, split done in upstream 23e91d8b
-!optional fs/coda/coda
fs/configfs/configfs
fs/cramfs/cramfs
@@ -5457,7 +5494,7 @@
fs/nls/nls_utf8
-!optional fs/ntfs3/ntfs3 # SP6-NEED-REVIEW
-!optional fs/omfs/omfs
- fs/orangefs/orangefs
-!optional fs/orangefs/orangefs
+base fs/overlayfs/overlay
-!optional fs/pstore/pstore_blk
-!optional fs/pstore/pstore_zone
@@ -5468,6 +5505,9 @@
- fs/quota/quota_v1
fs/quota/quota_v2
-!optional fs/romfs/romfs
fs/smb/client/cifs # VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows
fs/smb/common/cifs_arc4 # used by cifs.ko, split done in upstream 23e91d8b
fs/smb/common/cifs_md4 # used by cifs.ko, split done in upstream 23e91d8b
fs/squashfs/squashfs
-!optional fs/sysv/sysv
-!optional fs/ubifs/ubifs
@@ -6052,26 +6092,26 @@
sound/core/oss/snd-mixer-oss
sound/core/oss/snd-pcm-oss
sound/core/seq/oss/snd-seq-oss
sound/core/seq/snd-seq-dummy
sound/core/seq/snd-seq
sound/core/seq/snd-seq-dummy
sound/core/seq/snd-seq-midi
sound/core/seq/snd-seq-midi-emul
sound/core/seq/snd-seq-midi-event
sound/core/seq/snd-seq-midi
sound/core/seq/snd-seq-ump-client
sound/core/seq/snd-seq-virmidi
sound/core/snd
sound/core/snd-compress
sound/core/snd-ctl-led
sound/core/snd-hrtimer
sound/core/snd-hwdep
sound/core/snd
sound/core/snd-pcm-dmaengine
sound/core/snd-pcm
sound/core/snd-pcm-dmaengine
sound/core/snd-rawmidi
sound/core/snd-seq-device
sound/core/snd-timer
sound/core/snd-ump
sound/drivers/mpu401/snd-mpu401-uart
-!optional sound/drivers/mpu401/snd-mpu401
sound/drivers/mpu401/snd-mpu401-uart
- sound/drivers/opl3/snd-opl3-lib
- sound/drivers/opl3/snd-opl3-synth
- sound/drivers/snd-aloop
@@ -6199,7 +6239,6 @@
-!optional sound/pci/ymfpci/snd-ymfpci
sound/soc/adi/snd-soc-adi-axi-i2s
sound/soc/adi/snd-soc-adi-axi-spdif
sound/soc/amd/acp_audio_dma
sound/soc/amd/acp/snd-acp-i2s
sound/soc/amd/acp/snd-acp-legacy-common
sound/soc/amd/acp/snd-acp-legacy-mach
@@ -6210,6 +6249,7 @@
sound/soc/amd/acp/snd-acp-rembrandt
sound/soc/amd/acp/snd-acp-renoir
sound/soc/amd/acp/snd-acp-sof-mach
sound/soc/amd/acp_audio_dma
sound/soc/amd/ps/snd-pci-ps
sound/soc/amd/ps/snd-ps-pdm-dma
sound/soc/amd/ps/snd-ps-sdw-dma
@@ -6267,9 +6307,9 @@
sound/soc/fsl/snd-soc-imx-rpmsg
sound/soc/fsl/snd-soc-imx-sgtl5000
sound/soc/fsl/snd-soc-imx-spdif
sound/soc/generic/snd-soc-audio-graph-card2-custom-sample
sound/soc/generic/snd-soc-audio-graph-card2
sound/soc/generic/snd-soc-audio-graph-card
sound/soc/generic/snd-soc-audio-graph-card2
sound/soc/generic/snd-soc-audio-graph-card2-custom-sample
sound/soc/generic/snd-soc-simple-card
sound/soc/generic/snd-soc-simple-card-utils
sound/soc/generic/snd-soc-test-component
@@ -6312,13 +6352,13 @@
sound/soc/intel/boards/snd-soc-skl_hda_dsp
sound/soc/intel/boards/snd-soc-skl_nau88l25_ssm4567
sound/soc/intel/boards/snd-soc-skl_rt286
sound/soc/intel/boards/snd-soc-sof-sdw
sound/soc/intel/boards/snd-soc-sof-ssp-amp
sound/soc/intel/boards/snd-soc-sof_cs42l42
sound/soc/intel/boards/snd-soc-sof_da7219_max98373
sound/soc/intel/boards/snd-soc-sof_es8336
sound/soc/intel/boards/snd-soc-sof_nau8825
sound/soc/intel/boards/snd-soc-sof_rt5682
sound/soc/intel/boards/snd-soc-sof-sdw
sound/soc/intel/boards/snd-soc-sof-ssp-amp
sound/soc/intel/boards/snd-soc-sst-bdw-rt5650-mach
sound/soc/intel/boards/snd-soc-sst-bdw-rt5677-mach
sound/soc/intel/boards/snd-soc-sst-bxt-da7219_max98357a
@@ -6371,8 +6411,8 @@
sound/soc/meson/snd-soc-meson-axg-spdifin
sound/soc/meson/snd-soc-meson-axg-spdifout
sound/soc/meson/snd-soc-meson-axg-tdm-formatter
sound/soc/meson/snd-soc-meson-axg-tdmin
sound/soc/meson/snd-soc-meson-axg-tdm-interface
sound/soc/meson/snd-soc-meson-axg-tdmin
sound/soc/meson/snd-soc-meson-axg-tdmout
sound/soc/meson/snd-soc-meson-axg-toddr
sound/soc/meson/snd-soc-meson-card-utils
@@ -6382,16 +6422,16 @@
sound/soc/meson/snd-soc-meson-gx-sound-card
sound/soc/meson/snd-soc-meson-t9015
sound/soc/qcom/qdsp6/q6adm
sound/soc/qcom/qdsp6/q6afe
sound/soc/qcom/qdsp6/q6afe-clocks
sound/soc/qcom/qdsp6/q6afe-dai
sound/soc/qcom/qdsp6/q6afe
sound/soc/qcom/qdsp6/q6apm-dai
sound/soc/qcom/qdsp6/q6apm-lpass-dais
sound/soc/qcom/qdsp6/q6asm-dai
sound/soc/qcom/qdsp6/q6asm
sound/soc/qcom/qdsp6/q6asm-dai
sound/soc/qcom/qdsp6/q6core
sound/soc/qcom/qdsp6/q6prm-clocks
sound/soc/qcom/qdsp6/q6prm
sound/soc/qcom/qdsp6/q6prm-clocks
sound/soc/qcom/qdsp6/q6routing
sound/soc/qcom/qdsp6/snd-q6apm
sound/soc/qcom/qdsp6/snd-q6dsp-common
@@ -6434,12 +6474,19 @@
sound/soc/samsung/snd-soc-smdk-wm8994
sound/soc/samsung/snd-soc-smdk-wm8994pcm
sound/soc/samsung/snd-soc-snow
- sound/soc/sh/rcar/snd-soc-rcar
- sound/soc/sh/snd-soc-fsi
- sound/soc/sh/snd-soc-rz-ssi
sound/soc/snd-soc-acpi
sound/soc/snd-soc-core
sound/soc/sof/amd/snd-sof-amd-acp
sound/soc/sof/amd/snd-sof-amd-rembrandt
sound/soc/sof/amd/snd-sof-amd-renoir
sound/soc/sof/amd/snd-sof-amd-vangogh
- sound/soc/sof/imx/imx-common
- sound/soc/sof/imx/snd-sof-imx8
- sound/soc/sof/imx/snd-sof-imx8m
- sound/soc/sof/imx/snd-sof-imx8ulp
sound/soc/sof/intel/snd-sof-acpi-intel-bdw
sound/soc/sof/intel/snd-sof-acpi-intel-byt
sound/soc/sof/intel/snd-sof-intel-atom
@@ -6454,8 +6501,12 @@
sound/soc/sof/intel/snd-sof-pci-intel-skl
sound/soc/sof/intel/snd-sof-pci-intel-tgl
sound/soc/sof/intel/snd-sof-pci-intel-tng
- sound/soc/sof/mediatek/mt8186/snd-sof-mt8186
- sound/soc/sof/mediatek/mt8195/snd-sof-mt8195
- sound/soc/sof/mediatek/mtk-adsp-common
sound/soc/sof/snd-sof
sound/soc/sof/snd-sof-acpi
- sound/soc/sof/snd-sof-of
sound/soc/sof/snd-sof-pci
sound/soc/sof/snd-sof-probes
sound/soc/sof/snd-sof-utils
@@ -6469,8 +6520,12 @@
sound/soc/sunxi/sun50i-codec-analog
sound/soc/sunxi/sun50i-dmic
sound/soc/sunxi/sun8i-adda-pr-regmap
sound/soc/sunxi/sun8i-codec-analog
sound/soc/sunxi/sun8i-codec
sound/soc/sunxi/sun8i-codec-analog
sound/soc/tegra/snd-soc-tegra-audio-graph-card
sound/soc/tegra/snd-soc-tegra-machine
sound/soc/tegra/snd-soc-tegra-pcm
sound/soc/tegra/snd-soc-tegra-wm8903
sound/soc/tegra/snd-soc-tegra186-asrc
sound/soc/tegra/snd-soc-tegra186-dspk
sound/soc/tegra/snd-soc-tegra20-ac97
@@ -6489,20 +6544,16 @@
sound/soc/tegra/snd-soc-tegra210-sfc
sound/soc/tegra/snd-soc-tegra30-ahub
sound/soc/tegra/snd-soc-tegra30-i2s
sound/soc/tegra/snd-soc-tegra-audio-graph-card
sound/soc/tegra/snd-soc-tegra-machine
sound/soc/tegra/snd-soc-tegra-pcm
sound/soc/tegra/snd-soc-tegra-wm8903
sound/soc/ti/snd-soc-omap3pandora
sound/soc/ti/snd-soc-davinci-mcasp
sound/soc/ti/snd-soc-j721e-evm
sound/soc/ti/snd-soc-omap-abe-twl6040
sound/soc/ti/snd-soc-omap-dmic
sound/soc/ti/snd-soc-omap-hdmi
sound/soc/ti/snd-soc-omap-mcbsp
sound/soc/ti/snd-soc-omap-mcpdm
sound/soc/ti/snd-soc-omap-twl4030
sound/soc/ti/snd-soc-omap3pandora
sound/soc/ti/snd-soc-rx51
sound/soc/ti/snd-soc-davinci-mcasp
sound/soc/ti/snd-soc-j721e-evm
sound/soc/ti/snd-soc-ti-edma
sound/soc/ti/snd-soc-ti-sdma
sound/soc/ti/snd-soc-ti-udma

View File

@@ -1,83 +0,0 @@
#!/bin/bash
#############################################################################
# Copyright (c) 2011 Novell, Inc.
# Copyright (c) 2012-2022 SUSE LLC
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of version 2 of the GNU General Public License as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, contact https://www.suse.com/source-code/
#
#############################################################################
# If make fails, check if it happened due to a staging driver and disable it.
# That way, staging does not spoil automatic package building and we also
# do not need to worry about forgetting to reenable manually disabled drivers.
if test -L source; then
source="source"
else
source="."
fi
if test -f ${source}/scripts/kconfig/Makefile && \
grep -q syncconfig ${source}/scripts/kconfig/Makefile; then
syncconfig="syncconfig"
else
syncconfig="silentoldconfig"
fi
makefile="$source/drivers/staging/Makefile"
skipped_options=staging-skipped-options
logfile=$1
if test -z "$logfile"; then
echo "Usage: $0 logfile" >&2
exit 1
fi
if ! test -f "$logfile"; then
echo "$logfile not found" >&2
exit 1
fi
# safety precaution
if test "0$(wc -l "$skipped_options" 2>/dev/null)" -gt 20; then
echo "Possible loop detected in $0, exiting after 20 attempts" >&2
exit 1
fi
# find out if the error happened in drivers/staging
dir=$(sed -rn 's@.*/drivers/staging/([^/]*)/.*: error: .*@\1@p; T; q' "$logfile")
if test -z "$dir"; then
exit 1
else
echo "Build failed due to drivers/staging/$dir"
fi
option=$(sed -n 's/obj-\$(\(.*\))[[:space:]]*+=[[:space:]]*'"$dir"'\//\1/p' "$makefile")
if test -z "$option"; then
echo "Cannot determine config option to skip drivers/staging/$dir" >&2
exit 1
fi
# we need to be carefull not to loop endlessly
if grep -qsFx "$option" "$skipped_options"; then
echo "$option has already been disabled, but drivers/staging/$dir is still failing" >&2
exit 1
fi
echo "Trying to disable $option"
"$source/scripts/config" --disable "$option"
if ! make $syncconfig $MAKE_ARGS || grep "^$option" .config; then
echo "Could not disable $option" >&2
exit 1
fi
echo "$option" >>"$skipped_options"
exit 0