forked from pool/kernel-source-longterm
Compare commits
113 Commits
Author | SHA256 | Date | |
---|---|---|---|
c5d3ac2c24 | |||
|
f6c0d71ae9 | ||
837f1196cd | |||
|
6bfa161eba | ||
|
e734da9d07 | ||
|
2e959edfdd | ||
f938a9f4b2 | |||
|
952f4fb161 | ||
|
fb0942c621 | ||
|
f3fe53bb84 | ||
|
e05d52866f | ||
|
0d7f228645 | ||
|
dfab38fa51 | ||
|
69fcfc5add | ||
b6716aa367 | |||
|
6a10de4db3 | ||
8582c8c099 | |||
|
dd8792b3df | ||
cd43fad672 | |||
|
a74c74e8f1 | ||
2bac50dda2 | |||
|
56ae243eb3 | ||
1e7b8fc0cf | |||
|
ab786b11bd | ||
afdf0bfda8 | |||
|
5ffb8a24ec | ||
|
69d7498b58 | ||
d5edd04d4c | |||
|
a0bf8ca902 | ||
2542ff2dbb | |||
|
60108915b6 | ||
|
ac54a82dc9 | ||
7b89efbd0f | |||
|
64e847bd9e | ||
|
38067cbb47 | ||
80be07dfe8 | |||
|
fd1fdf4ffb | ||
|
551db86958 | ||
d0baa5b984 | |||
|
aeb7508a16 | ||
e0ded4e310 | |||
|
7efc1f09b7 | ||
c07d642f06 | |||
|
d17b9417d3 | ||
7cdbf72e3d | |||
|
a4d18b9d99 | ||
60b057170d | |||
|
0ad53091ca | ||
033ae07dba | |||
|
e7df17eba0 | ||
499d688079 | |||
|
1cc8b0b06f | ||
e78a893692 | |||
|
7f374024a0 | ||
cf049d7e56 | |||
|
294d87067c | ||
|
114374ab83 | ||
2f5edff561 | |||
|
be8c703808 | ||
4d240113e1 | |||
|
d383a358b7 | ||
65e6378212 | |||
|
1da6a8d239 | ||
|
c7df09a0fe | ||
|
b18952a00c | ||
|
f55c01025e | ||
6d57c81438 | |||
|
4a72fae0c9 | ||
31db85ed06 | |||
|
0b6d3a3468 | ||
2f698d2c75 | |||
|
6451e8d99e | ||
|
c8d45fcd25 | ||
44a0a0c854 | |||
|
b6a44f5b26 | ||
30f5508f36 | |||
|
9a2c0d522f | ||
723dce70b9 | |||
|
abc4c510e5 | ||
a6c86ff25c | |||
|
c40bd676c8 | ||
718fdc4b89 | |||
|
f862564093 | ||
0ed42925dc | |||
|
a6a9a03004 | ||
eb0785c054 | |||
|
b3d18e3591 | ||
03c36631ea | |||
|
e57da533c2 | ||
2de9728010 | |||
|
d202329d27 | ||
146073b984 | |||
|
5d54bcb59f | ||
f5c320c7eb | |||
|
c7d9938ea5 | ||
2b4bdc1549 | |||
|
eb87aceda8 | ||
984be02868 | |||
|
d03e25680a | ||
c8efae79db | |||
|
dce9227161 | ||
f7bbdd63cf | |||
|
6b9a423979 | ||
01b4085137 | |||
|
f8de263029 | ||
51f54c11ed | |||
|
d086c7a592 | ||
|
e8c21f3c40 | ||
79ca623409 | |||
|
a73dc4a10d | ||
|
03f7aee182 | ||
96ddf3e8a2 | |||
|
90221b23bf |
28
README.SUSE
28
README.SUSE
@@ -187,8 +187,17 @@ will report one of the following:
|
||||
* third-party support: "supported: external",
|
||||
* unsupported modules: no supported tag.
|
||||
|
||||
At runtime, the setting of the "unsupported" kernel command line parameter and
|
||||
`/proc/sys/kernel/unsupported` determines whether unsupported modules can be
|
||||
At runtime, the support status of a module can be obtained by reading
|
||||
`/sys/module/$MODULE/supported`.
|
||||
|
||||
Note that this information is available only if the module was not built
|
||||
directly into the kernel. Builtin modules are implicitly supported.
|
||||
|
||||
The aggregated support status for the entire kernel can be inspected by reading
|
||||
`/sys/kernel/supported`. The value is also included in Oopses.
|
||||
|
||||
The setting of the "unsupported" kernel command line parameter and
|
||||
`/proc/sys/kernel/unsupported` controls whether unsupported modules can be
|
||||
loaded or not, and whether or not loading an unsupported module causes a warning
|
||||
in the system log:
|
||||
|
||||
@@ -196,9 +205,9 @@ in the system log:
|
||||
* 1 = warn when loading unsupported modules,
|
||||
* 2 = don't warn.
|
||||
|
||||
Irrespective of this setting, loading an externally supported or unsupported
|
||||
module both set a kernel taint flag. The taint flags are included in Oopses. The
|
||||
taint status of the kernel can be inspected in `/proc/sys/kernel/tainted`.
|
||||
Irrespective of this setting, loading an unsupported module sets a kernel taint
|
||||
flag. The taint status of the kernel can be inspected in
|
||||
`/proc/sys/kernel/tainted`. The taint flags are also included in Oopses.
|
||||
Relevant bits have the following meaning:
|
||||
|
||||
| Bit | Log | Number | Reason that got the kernel tainted |
|
||||
@@ -209,7 +218,9 @@ Relevant bits have the following meaning:
|
||||
| 16 | ␣/X | 65536 | module with third-party support was loaded |
|
||||
| 31 | ␣/N | 2147483648 | unsupported module was loaded |
|
||||
|
||||
Bits 16 and 31 are specific to the SUSE kernels.
|
||||
Bits 16 and 31 are specific to the SUSE kernels. Since SLE15-SP6, loading an
|
||||
externally supported module does not taint the kernel, but bit 16 (X) is still
|
||||
tracked per module and can be read in `/sys/module/$MODULE/taint`.
|
||||
|
||||
Out-of-tree modules do not have the supported flag set by default; that
|
||||
is, they are marked as unsupported. For building externally supported
|
||||
@@ -411,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:
|
||||
|
||||
|
@@ -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=()
|
||||
|
@@ -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
|
@@ -12,7 +12,7 @@
|
||||
- -syms x86_64/debug
|
||||
- x86_64/syzkaller
|
||||
- x86_64/vanilla
|
||||
- -syms x86_64/kvmsmall
|
||||
- -syms x86_64/kvmsmall
|
||||
+x86_64 x86_64/longterm
|
||||
|
||||
# ARM architectures
|
||||
|
@@ -1,5 +1,5 @@
|
||||
# The version of the main tarball to use
|
||||
SRCVERSION=6.6
|
||||
SRCVERSION=6.12
|
||||
# variant of the kernel-source package, either empty or "-rt"
|
||||
VARIANT=-longterm
|
||||
# enable kernel module compression
|
||||
@@ -21,3 +21,5 @@ BUGZILLA_PRODUCT="openSUSE Tumbleweed"
|
||||
BUILD_HTML=Yes
|
||||
# build documentation in PDF format
|
||||
BUILD_PDF=No
|
||||
# Generate compile_commands.json
|
||||
GENERATE_COMPILE_COMMANDS=Yes
|
||||
|
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4f7f1aead1b6149539f59519cfa903906a5bb8e29279fe996160c4684d26ac2f
|
||||
size 103312
|
||||
oid sha256:1595b15f4a11118536d1e51c3c012fd5f567746611869ca0d5b587d2ea0952fe
|
||||
size 107015
|
||||
|
@@ -35,16 +35,15 @@ Summary: Device Tree files for $MACHINES
|
||||
License: GPL-2.0-only
|
||||
Group: System/Boot
|
||||
URL: https://www.kernel.org/
|
||||
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
|
||||
$ARCH_RESTRICTIONS
|
||||
%else
|
||||
ExclusiveArch: do_not_build
|
||||
%endif
|
||||
BuildRequires: cpp
|
||||
BuildRequires: dtc >= 1.4.3
|
||||
BuildRequires: xz
|
||||
Requires: kernel = %version
|
||||
$ARCH_RESTRICTIONS
|
||||
|
||||
%define dtbdir /boot/dtb-%kernelrelease
|
||||
|
||||
@SOURCES@
|
||||
Requires: kernel = %version
|
||||
|
||||
%description
|
||||
Device Tree files for $MACHINES.
|
||||
@@ -57,7 +56,6 @@ $SUBPKG_DESC
|
||||
cd linux-%srcversion
|
||||
%_sourcedir/apply-patches %_sourcedir/series.conf ..
|
||||
|
||||
|
||||
%build
|
||||
source=linux-%srcversion
|
||||
cp $source/COPYING .
|
||||
@@ -75,10 +73,7 @@ for dts in $ALL_SUPPORTED_DTB; do
|
||||
dtc $DTC_FLAGS -I dts -O dtb -i ./$(dirname $target) -o $PPDIR/$target.dtb $PPDIR/$target.dts
|
||||
done
|
||||
|
||||
%define dtbdir /boot/dtb-%kernelrelease
|
||||
|
||||
%install
|
||||
|
||||
cd pp
|
||||
for dts in $ALL_SUPPORTED_DTB; do
|
||||
target=${dts%*.dts}
|
||||
@@ -102,6 +97,4 @@ $SUBPKG_CASE
|
||||
done
|
||||
cd -
|
||||
|
||||
$SUBPKG_POST
|
||||
$SUBPKG_FILES
|
||||
%changelog
|
||||
|
@@ -1,7 +1,7 @@
|
||||
#!/usr/bin/perl
|
||||
|
||||
use File::Spec;
|
||||
use Getopt::Long;
|
||||
use Getopt::Long qw(:config no_ignore_case);
|
||||
use strict;
|
||||
|
||||
&main();
|
||||
@@ -19,6 +19,12 @@ sub main
|
||||
&output($dev, $ndev, $dev_output, $ndev_output);
|
||||
}
|
||||
|
||||
sub rpm_quote_filename
|
||||
{
|
||||
# technically should also quote % -> %% " -> \" \ -> \\
|
||||
return map { "\"$_\"" } @_;
|
||||
}
|
||||
|
||||
sub scan
|
||||
{
|
||||
# Normalize file path, mainly to strip away the ending forward slash,
|
||||
@@ -53,8 +59,14 @@ sub scan
|
||||
$is_devel ? push(@dev, $abs_path) : push(@ndev, $abs_path);
|
||||
}
|
||||
|
||||
push(@dev, &calc_dirs($abs_loc, \@dev));
|
||||
push(@ndev, &calc_dirs($abs_loc, \@ndev));
|
||||
my @dev_dirs = calc_dirs($abs_loc, \@dev);
|
||||
my @ndev_dirs = calc_dirs($abs_loc, \@ndev);
|
||||
@dev = rpm_quote_filename(@dev);
|
||||
@ndev = rpm_quote_filename(@ndev);
|
||||
@dev_dirs = map { "\%dir $_" } rpm_quote_filename(@dev_dirs);
|
||||
@ndev_dirs = map { "\%dir $_" } rpm_quote_filename(@ndev_dirs);
|
||||
push(@dev, @dev_dirs);
|
||||
push(@ndev, @ndev_dirs);
|
||||
return (\@dev, \@ndev);
|
||||
}
|
||||
|
||||
@@ -75,7 +87,7 @@ sub calc_dirs
|
||||
# This loop also makes sure that $base itself is included.
|
||||
}
|
||||
|
||||
return map { "\%dir $_" } keys %dirs;
|
||||
return keys %dirs;
|
||||
}
|
||||
|
||||
sub output
|
||||
|
4
guards
4
guards
@@ -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 {
|
||||
|
@@ -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
|
2
kabi.pl
2
kabi.pl
@@ -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 }, ... )
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -28,15 +28,16 @@
|
||||
%(chmod +x %_sourcedir/{@SCRIPTS@})
|
||||
|
||||
Name: kernel-docs@VARIANT@
|
||||
Summary: Kernel Documentation
|
||||
License: GPL-2.0-only
|
||||
Group: Documentation/Man
|
||||
Version: @RPMVERSION@
|
||||
%if 0%{?is_kotd}
|
||||
Release: <RELEASE>.g@COMMIT@
|
||||
%else
|
||||
Release: @RELEASE@
|
||||
%endif
|
||||
Summary: Kernel Documentation
|
||||
License: GPL-2.0-only
|
||||
Group: Documentation/Man
|
||||
URL: https://www.kernel.org/
|
||||
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
|
||||
BuildRequires: bash-sh
|
||||
%endif
|
||||
@@ -83,21 +84,25 @@ BuildRequires: texlive-xetex
|
||||
BuildRequires: texlive-zapfding
|
||||
%endif
|
||||
%endif
|
||||
URL: https://www.kernel.org/
|
||||
BuildArch: noarch
|
||||
@SOURCES@
|
||||
Provides: %name = %version-%source_rel
|
||||
Provides: %name-srchash-%git_commit
|
||||
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
|
||||
BuildArch: noarch
|
||||
%else
|
||||
ExclusiveArch: do_not_build
|
||||
%endif
|
||||
@SOURCES@
|
||||
|
||||
%description
|
||||
A few basic documents from the current kernel sources.
|
||||
|
||||
%source_timestamp
|
||||
|
||||
%files
|
||||
%if 0%{?suse_version} && 0%{?suse_version} < 1500
|
||||
%doc COPYING
|
||||
%else
|
||||
%license COPYING
|
||||
%endif
|
||||
%doc CREDITS MAINTAINERS README
|
||||
%doc old_changelog.txt
|
||||
|
||||
%if %build_pdf
|
||||
%package pdf
|
||||
Summary: Kernel Documentation (PDF)
|
||||
@@ -107,6 +112,11 @@ Group: Documentation/Other
|
||||
These are PDF documents built from the current kernel sources.
|
||||
|
||||
%source_timestamp
|
||||
|
||||
%files pdf
|
||||
%dir %{_datadir}/doc/kernel
|
||||
%docdir %{_datadir}/doc/kernel/pdf
|
||||
%{_datadir}/doc/kernel/pdf
|
||||
%endif
|
||||
|
||||
%if %build_html
|
||||
@@ -118,6 +128,11 @@ Group: Documentation/HTML
|
||||
These are HTML documents built from the current kernel sources.
|
||||
|
||||
%source_timestamp
|
||||
|
||||
%files html
|
||||
%dir %{_datadir}/doc/kernel
|
||||
%docdir %{_datadir}/doc/kernel/html
|
||||
%{_datadir}/doc/kernel/html
|
||||
%endif
|
||||
|
||||
%prep
|
||||
@@ -128,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
|
||||
@@ -161,27 +178,4 @@ for i in pdf/Documentation/output/latex/*.pdf; do
|
||||
done
|
||||
%endif
|
||||
|
||||
%files
|
||||
%if 0%{?suse_version} && 0%{?suse_version} < 1500
|
||||
%doc COPYING
|
||||
%else
|
||||
%license COPYING
|
||||
%endif
|
||||
%doc CREDITS MAINTAINERS README
|
||||
%doc old_changelog.txt
|
||||
|
||||
%if %build_pdf
|
||||
%files pdf
|
||||
%dir %{_datadir}/doc/kernel
|
||||
%docdir %{_datadir}/doc/kernel/pdf
|
||||
%{_datadir}/doc/kernel/pdf
|
||||
%endif
|
||||
|
||||
%if %build_html
|
||||
%files html
|
||||
%dir %{_datadir}/doc/kernel
|
||||
%docdir %{_datadir}/doc/kernel/html
|
||||
%{_datadir}/doc/kernel/html
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
|
47358
kernel-longterm.changes
47358
kernel-longterm.changes
File diff suppressed because it is too large
Load Diff
1887
kernel-longterm.spec
1887
kernel-longterm.spec
File diff suppressed because it is too large
Load Diff
@@ -73,27 +73,27 @@ END { exit(! good) }
|
||||
%{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD}
|
||||
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-pre --name "%{-n*}-kmp-%1" \
|
||||
--version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \
|
||||
--flavor "%1" --usrmerged "0%{?usrmerged}" "$@"
|
||||
--flavor "%1" --usrmerged "%{usrmerged}" "$@"
|
||||
%post -n %{-n*}-kmp-%1
|
||||
%{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD}
|
||||
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-post --name "%{-n*}-kmp-%1" \
|
||||
--version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \
|
||||
--flavor "%1" --usrmerged "0%{?usrmerged}" "$@"
|
||||
--flavor "%1" --usrmerged "%{usrmerged}" "$@"
|
||||
%preun -n %{-n*}-kmp-%1
|
||||
%{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD}
|
||||
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-preun --name "%{-n*}-kmp-%1" \
|
||||
--version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \
|
||||
--flavor "%1" --usrmerged "0%{?usrmerged}" "$@"
|
||||
--flavor "%1" --usrmerged "%{usrmerged}" "$@"
|
||||
%postun -n %{-n*}-kmp-%1
|
||||
%{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD}
|
||||
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-postun --name "%{-n*}-kmp-%1" \
|
||||
--version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \
|
||||
--flavor "%1" --usrmerged "0%{?usrmerged}" "$@"
|
||||
--flavor "%1" --usrmerged "%{usrmerged}" "$@"
|
||||
%posttrans -n %{-n*}-kmp-%1
|
||||
%{-b:KMP_NEEDS_MKINITRD=1; export KMP_NEEDS_MKINITRD}
|
||||
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/kmp-posttrans --name "%{-n*}-kmp-%1" \
|
||||
--version "%_this_kmp_version" --release "%{-r*}" --kernelrelease "%2" \
|
||||
--flavor "%1" --usrmerged "0%{?usrmerged}" "$@"
|
||||
--flavor "%1" --usrmerged "%{usrmerged}" "$@"
|
||||
%files -n %{-n*}-kmp-%1
|
||||
%{-f:%{expand:%(cd %_sourcedir; cat %{-f*})}}
|
||||
%{!-f:%defattr (-,root,root)}
|
||||
|
@@ -24,51 +24,46 @@
|
||||
|
||||
%include %_sourcedir/kernel-spec-macros
|
||||
|
||||
Name: kernel-obs-build
|
||||
BuildRequires: coreutils
|
||||
BuildRequires: device-mapper
|
||||
BuildRequires: util-linux
|
||||
|
||||
%if 0%{?suse_version}
|
||||
%if "@OBS_BUILD_VARIANT@"
|
||||
%define kernel_flavor @OBS_BUILD_VARIANT@
|
||||
%global kernel_flavor @OBS_BUILD_VARIANT@
|
||||
%else
|
||||
%ifarch %ix86
|
||||
%define kernel_flavor -pae
|
||||
%global kernel_flavor -pae
|
||||
%else
|
||||
%ifarch armv7l armv7hl
|
||||
%define kernel_flavor -lpae
|
||||
%global kernel_flavor -lpae
|
||||
%else
|
||||
%define kernel_flavor -default
|
||||
%global kernel_flavor -default
|
||||
%endif
|
||||
%endif
|
||||
%endif
|
||||
%global kernel_package kernel%kernel_flavor-srchash-@COMMIT_FULL@
|
||||
%endif
|
||||
BuildRequires: kernel%kernel_flavor-srchash-@COMMIT_FULL@
|
||||
|
||||
%if 0%{?rhel_version}
|
||||
BuildRequires: kernel
|
||||
%define kernel_flavor ""
|
||||
%global kernel_package kernel
|
||||
%endif
|
||||
|
||||
%if ! 0%{?is_kotd} || %{?is_kotd_qa}%{!?is_kotd_qa:0}
|
||||
ExclusiveArch: @ARCHS@
|
||||
%else
|
||||
ExclusiveArch: do_not_build
|
||||
%endif
|
||||
BuildRequires: dracut
|
||||
Summary: package kernel and initrd for OBS VM builds
|
||||
License: GPL-2.0-only
|
||||
Group: SLES
|
||||
Name: kernel-obs-build
|
||||
Version: @RPMVERSION@
|
||||
%if 0%{?is_kotd}
|
||||
Release: <RELEASE>.g@COMMIT@
|
||||
%else
|
||||
Release: @RELEASE@
|
||||
%endif
|
||||
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
|
||||
BuildRequires: %kernel_package
|
||||
BuildRequires: util-linux
|
||||
%if 0%{?suse_version} > 1550 || 0%{?sle_version} > 150200
|
||||
BuildRequires: zstd
|
||||
%endif
|
||||
ExclusiveArch: @ARCHS@
|
||||
|
||||
%description
|
||||
This package is repackaging already compiled kernels to make them usable
|
||||
@@ -76,6 +71,13 @@ inside of Open Build Service (OBS) VM builds. An initrd with some basic
|
||||
kernel modules is generated as well, but further kernel modules can be
|
||||
loaded during build when installing the kernel package.
|
||||
|
||||
%files
|
||||
/.build.cmdline.*
|
||||
/.build.console.*
|
||||
/.build.hostarch.*
|
||||
/.build.initrd.*
|
||||
/.build.kernel.*
|
||||
|
||||
%prep
|
||||
|
||||
%build
|
||||
@@ -118,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 reiserfs 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
|
||||
@@ -173,11 +180,4 @@ fi
|
||||
#see obs-build commit e47399d738e51
|
||||
uname -m > %{buildroot}/.build.hostarch.kvm
|
||||
|
||||
%files
|
||||
/.build.cmdline.*
|
||||
/.build.console.*
|
||||
/.build.hostarch.*
|
||||
/.build.initrd.*
|
||||
/.build.kernel.*
|
||||
|
||||
%changelog
|
||||
|
@@ -23,30 +23,31 @@
|
||||
%include %_sourcedir/kernel-spec-macros
|
||||
|
||||
Name: kernel-obs-qa
|
||||
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
|
||||
%endif
|
||||
Summary: Basic QA tests for the kernel
|
||||
License: GPL-2.0-only
|
||||
Group: SLES
|
||||
Version: @RPMVERSION@
|
||||
%if 0%{?is_kotd}
|
||||
Release: <RELEASE>.g@COMMIT@
|
||||
%else
|
||||
Release: @RELEASE@
|
||||
%endif
|
||||
Summary: Basic QA tests for the kernel
|
||||
License: GPL-2.0-only
|
||||
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
|
||||
%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)
|
||||
projects and runs basic tests.
|
||||
|
||||
%files
|
||||
/usr/share/%name
|
||||
|
||||
%prep
|
||||
|
||||
%build
|
||||
@@ -70,7 +71,4 @@ fi
|
||||
mkdir -p %{buildroot}/usr/share/%name
|
||||
touch %{buildroot}/usr/share/%name/logfile
|
||||
|
||||
%files
|
||||
/usr/share/%name
|
||||
|
||||
%changelog
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package kernel-source-longterm
|
||||
#
|
||||
# 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,24 +16,21 @@
|
||||
#
|
||||
|
||||
|
||||
%define srcversion 6.6
|
||||
%define patchversion 6.6.50
|
||||
%define git_commit e2ac9495079bda452d5e19af61c25c52dd6f89f7
|
||||
%define srcversion 6.12
|
||||
%define patchversion 6.12.39
|
||||
%define git_commit 37db29e7c661cab21e25cdb5710c3880c59cd6f8
|
||||
%define variant -longterm%{nil}
|
||||
%define gcc_package gcc
|
||||
%define gcc_compiler gcc
|
||||
|
||||
%include %_sourcedir/kernel-spec-macros
|
||||
|
||||
%define src_install_dir usr/src/linux-%kernelrelease%variant
|
||||
|
||||
# if undefined use legacy location of before SLE15
|
||||
%if %{undefined _rpmmacrodir}
|
||||
%define _rpmmacrodir /etc/rpm
|
||||
%endif
|
||||
%(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-longterm
|
||||
Version: 6.6.50
|
||||
Version: 6.12.39
|
||||
%if 0%{?is_kotd}
|
||||
Release: <RELEASE>.ge2ac949
|
||||
Release: <RELEASE>.g37db29e
|
||||
%else
|
||||
Release: 0
|
||||
%endif
|
||||
@@ -48,7 +45,16 @@ BuildRequires: bash-sh
|
||||
BuildRequires: coreutils
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: sed
|
||||
Requires(post): coreutils sed
|
||||
BuildArch: noarch
|
||||
Prefix: /usr/src
|
||||
|
||||
%define src_install_dir usr/src/linux-%kernelrelease%variant
|
||||
|
||||
# if undefined use legacy location of before SLE15
|
||||
%if %{undefined _rpmmacrodir}
|
||||
%define _rpmmacrodir /etc/rpm
|
||||
%endif
|
||||
|
||||
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz
|
||||
%if "https://www.kernel.org/pub/linux/kernel/v6.x/" != ""
|
||||
Source1: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.sign
|
||||
@@ -87,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
|
||||
@@ -122,12 +123,7 @@ Source113: patches.kabi.tar.bz2
|
||||
Source114: patches.drm.tar.bz2
|
||||
Source120: kabi.tar.bz2
|
||||
Source121: sysctl.tar.bz2
|
||||
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
|
||||
BuildArch: noarch
|
||||
%else
|
||||
ExclusiveArch: do_not_build
|
||||
%endif
|
||||
Prefix: /usr/src
|
||||
Requires(post): coreutils sed
|
||||
# Source is only complete with devel files.
|
||||
Requires: kernel-devel%variant = %version-%source_rel
|
||||
Provides: %name = %version-%source_rel
|
||||
@@ -148,10 +144,9 @@ Recommends: dwarves >= 1.22
|
||||
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
|
||||
Recommends: kernel-install-tools
|
||||
%endif
|
||||
Recommends: %gcc_package
|
||||
%obsolete_rebuilds %name
|
||||
|
||||
%(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})
|
||||
|
||||
# Force bzip2 instead of lzma compression to
|
||||
# 1) allow install on older dist versions, and
|
||||
# 2) decrease build times (bsc#962356 boo#1175882)
|
||||
@@ -166,8 +161,15 @@ Linux kernel sources with many fixes and improvements.
|
||||
|
||||
|
||||
%source_timestamp
|
||||
|
||||
%post
|
||||
%relink_function
|
||||
|
||||
relink linux-%kernelrelease%variant /usr/src/linux%variant
|
||||
|
||||
%files -f nondevel.files
|
||||
|
||||
%package -n kernel-devel%variant
|
||||
%obsolete_rebuilds kernel-devel%variant
|
||||
Summary: Development files needed for building kernel modules
|
||||
Group: Development/Sources
|
||||
AutoReqProv: off
|
||||
@@ -175,13 +177,24 @@ Provides: kernel-devel%variant = %version-%source_rel
|
||||
Provides: multiversion(kernel)
|
||||
Requires: kernel-macros
|
||||
Requires(post): coreutils
|
||||
%obsolete_rebuilds kernel-devel%variant
|
||||
|
||||
%description -n kernel-devel%variant
|
||||
Kernel-level headers and Makefiles required for development of
|
||||
external kernel modules.
|
||||
|
||||
|
||||
%source_timestamp
|
||||
|
||||
%post -n kernel-devel%variant
|
||||
%relink_function
|
||||
|
||||
relink linux-%kernelrelease%variant /usr/src/linux%variant
|
||||
|
||||
%files -n kernel-devel%variant -f devel.files
|
||||
%ghost /usr/src/linux%variant
|
||||
%doc /usr/share/doc/packages/*
|
||||
|
||||
# Note: The kernel-macros package intentionally does not provide
|
||||
# multiversion(kernel) nor is its name decorated with the variant (-rt)
|
||||
%package -n kernel-macros
|
||||
@@ -192,8 +205,17 @@ Provides: kernel-subpackage-macros
|
||||
%description -n kernel-macros
|
||||
This package provides the rpm macros and templates for Kernel Module Packages
|
||||
|
||||
|
||||
%source_timestamp
|
||||
|
||||
%if "%variant" == ""
|
||||
%files -n kernel-macros
|
||||
%{_rpmmacrodir}/macros.kernel-source
|
||||
/usr/lib/rpm/kernel-*-subpackage
|
||||
%dir /usr/lib/rpm/kernel
|
||||
/usr/lib/rpm/kernel/*
|
||||
%endif
|
||||
|
||||
%package vanilla
|
||||
%obsolete_rebuilds %name-vanilla
|
||||
Summary: Vanilla Linux kernel sources with minor build fixes
|
||||
@@ -213,6 +235,11 @@ Vanilla Linux kernel sources with minor build fixes.
|
||||
|
||||
%source_timestamp
|
||||
|
||||
%if %do_vanilla
|
||||
%files vanilla
|
||||
/usr/src/linux-%kernelrelease-vanilla
|
||||
%endif
|
||||
|
||||
%prep
|
||||
|
||||
echo "Symbol(s): %symbols"
|
||||
@@ -237,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
|
||||
@@ -245,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
|
||||
@@ -284,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
|
||||
@@ -293,37 +325,6 @@ done
|
||||
# the future and be thus lower than the timestamps of files built from the
|
||||
# source (bnc#669669).
|
||||
ts="$(head -n1 %_sourcedir/source-timestamp)"
|
||||
find %buildroot/usr/src/linux* ! -type l | xargs touch -d "$ts"
|
||||
|
||||
%post
|
||||
%relink_function
|
||||
|
||||
relink linux-%kernelrelease%variant /usr/src/linux%variant
|
||||
|
||||
%post -n kernel-devel%variant
|
||||
%relink_function
|
||||
|
||||
relink linux-%kernelrelease%variant /usr/src/linux%variant
|
||||
|
||||
%files -f nondevel.files
|
||||
|
||||
%files -n kernel-devel%variant -f devel.files
|
||||
%ghost /usr/src/linux%variant
|
||||
%doc /usr/share/doc/packages/*
|
||||
|
||||
%if "%variant" == ""
|
||||
%files -n kernel-macros
|
||||
%{_rpmmacrodir}/macros.kernel-source
|
||||
/usr/lib/rpm/kernel-*-subpackage
|
||||
%dir /usr/lib/rpm/kernel
|
||||
/usr/lib/rpm/kernel/*
|
||||
%endif
|
||||
|
||||
|
||||
%if %do_vanilla
|
||||
|
||||
%files vanilla
|
||||
/usr/src/linux-%kernelrelease-vanilla
|
||||
%endif
|
||||
find %buildroot/usr/src/linux* ! -type l -print0 | xargs -0 touch -d "$ts"
|
||||
|
||||
%changelog
|
||||
|
@@ -20,15 +20,12 @@
|
||||
%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
|
||||
|
||||
%define src_install_dir usr/src/linux-%kernelrelease%variant
|
||||
|
||||
# if undefined use legacy location of before SLE15
|
||||
%if %{undefined _rpmmacrodir}
|
||||
%define _rpmmacrodir /etc/rpm
|
||||
%endif
|
||||
%(chmod +x %_sourcedir/{@SCRIPTS@})
|
||||
|
||||
Name: kernel-source@VARIANT@
|
||||
Version: @RPMVERSION@
|
||||
@@ -48,7 +45,16 @@ BuildRequires: bash-sh
|
||||
BuildRequires: coreutils
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: sed
|
||||
Requires(post): coreutils sed
|
||||
BuildArch: noarch
|
||||
Prefix: /usr/src
|
||||
|
||||
%define src_install_dir usr/src/linux-%kernelrelease%variant
|
||||
|
||||
# if undefined use legacy location of before SLE15
|
||||
%if %{undefined _rpmmacrodir}
|
||||
%define _rpmmacrodir /etc/rpm
|
||||
%endif
|
||||
|
||||
Source0: @TARBALL_URL@linux-%srcversion.tar.xz
|
||||
%if "@TARBALL_URL@" != ""
|
||||
Source1: @TARBALL_URL@linux-%srcversion.tar.sign
|
||||
@@ -87,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
|
||||
@@ -122,12 +123,7 @@ Source113: patches.kabi.tar.bz2
|
||||
Source114: patches.drm.tar.bz2
|
||||
Source120: kabi.tar.bz2
|
||||
Source121: sysctl.tar.bz2
|
||||
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
|
||||
BuildArch: noarch
|
||||
%else
|
||||
ExclusiveArch: do_not_build
|
||||
%endif
|
||||
Prefix: /usr/src
|
||||
Requires(post): coreutils sed
|
||||
# Source is only complete with devel files.
|
||||
Requires: kernel-devel%variant = %version-%source_rel
|
||||
Provides: %name = %version-%source_rel
|
||||
@@ -148,10 +144,9 @@ Recommends: dwarves >= 1.22
|
||||
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
|
||||
Recommends: kernel-install-tools
|
||||
%endif
|
||||
Recommends: %gcc_package
|
||||
%obsolete_rebuilds %name
|
||||
|
||||
%(chmod +x %_sourcedir/{@SCRIPTS@})
|
||||
|
||||
# Force bzip2 instead of lzma compression to
|
||||
# 1) allow install on older dist versions, and
|
||||
# 2) decrease build times (bsc#962356 boo#1175882)
|
||||
@@ -166,8 +161,15 @@ Linux kernel sources with many fixes and improvements.
|
||||
|
||||
|
||||
%source_timestamp
|
||||
|
||||
%post
|
||||
%relink_function
|
||||
|
||||
relink linux-%kernelrelease%variant /usr/src/linux%variant
|
||||
|
||||
%files -f nondevel.files
|
||||
|
||||
%package -n kernel-devel%variant
|
||||
%obsolete_rebuilds kernel-devel%variant
|
||||
Summary: Development files needed for building kernel modules
|
||||
Group: Development/Sources
|
||||
AutoReqProv: off
|
||||
@@ -175,13 +177,24 @@ Provides: kernel-devel%variant = %version-%source_rel
|
||||
Provides: multiversion(kernel)
|
||||
Requires: kernel-macros
|
||||
Requires(post): coreutils
|
||||
%obsolete_rebuilds kernel-devel%variant
|
||||
|
||||
%description -n kernel-devel%variant
|
||||
Kernel-level headers and Makefiles required for development of
|
||||
external kernel modules.
|
||||
|
||||
|
||||
%source_timestamp
|
||||
|
||||
%post -n kernel-devel%variant
|
||||
%relink_function
|
||||
|
||||
relink linux-%kernelrelease%variant /usr/src/linux%variant
|
||||
|
||||
%files -n kernel-devel%variant -f devel.files
|
||||
%ghost /usr/src/linux%variant
|
||||
%doc /usr/share/doc/packages/*
|
||||
|
||||
# Note: The kernel-macros package intentionally does not provide
|
||||
# multiversion(kernel) nor is its name decorated with the variant (-rt)
|
||||
%package -n kernel-macros
|
||||
@@ -192,8 +205,17 @@ Provides: kernel-subpackage-macros
|
||||
%description -n kernel-macros
|
||||
This package provides the rpm macros and templates for Kernel Module Packages
|
||||
|
||||
|
||||
%source_timestamp
|
||||
|
||||
%if "%variant" == ""
|
||||
%files -n kernel-macros
|
||||
%{_rpmmacrodir}/macros.kernel-source
|
||||
/usr/lib/rpm/kernel-*-subpackage
|
||||
%dir /usr/lib/rpm/kernel
|
||||
/usr/lib/rpm/kernel/*
|
||||
%endif
|
||||
|
||||
%package vanilla
|
||||
%obsolete_rebuilds %name-vanilla
|
||||
Summary: Vanilla Linux kernel sources with minor build fixes
|
||||
@@ -213,6 +235,11 @@ Vanilla Linux kernel sources with minor build fixes.
|
||||
|
||||
%source_timestamp
|
||||
|
||||
%if %do_vanilla
|
||||
%files vanilla
|
||||
/usr/src/linux-%kernelrelease-vanilla
|
||||
%endif
|
||||
|
||||
%prep
|
||||
|
||||
echo "Symbol(s): %symbols"
|
||||
@@ -237,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
|
||||
@@ -245,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
|
||||
@@ -284,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
|
||||
@@ -293,37 +325,6 @@ done
|
||||
# the future and be thus lower than the timestamps of files built from the
|
||||
# source (bnc#669669).
|
||||
ts="$(head -n1 %_sourcedir/source-timestamp)"
|
||||
find %buildroot/usr/src/linux* ! -type l | xargs touch -d "$ts"
|
||||
|
||||
%post
|
||||
%relink_function
|
||||
|
||||
relink linux-%kernelrelease%variant /usr/src/linux%variant
|
||||
|
||||
%post -n kernel-devel%variant
|
||||
%relink_function
|
||||
|
||||
relink linux-%kernelrelease%variant /usr/src/linux%variant
|
||||
|
||||
%files -f nondevel.files
|
||||
|
||||
%files -n kernel-devel%variant -f devel.files
|
||||
%ghost /usr/src/linux%variant
|
||||
%doc /usr/share/doc/packages/*
|
||||
|
||||
%if "%variant" == ""
|
||||
%files -n kernel-macros
|
||||
%{_rpmmacrodir}/macros.kernel-source
|
||||
/usr/lib/rpm/kernel-*-subpackage
|
||||
%dir /usr/lib/rpm/kernel
|
||||
/usr/lib/rpm/kernel/*
|
||||
%endif
|
||||
|
||||
|
||||
%if %do_vanilla
|
||||
|
||||
%files vanilla
|
||||
/usr/src/linux-%kernelrelease-vanilla
|
||||
%endif
|
||||
find %buildroot/usr/src/linux* ! -type l -print0 | xargs -0 touch -d "$ts"
|
||||
|
||||
%changelog
|
||||
|
@@ -11,8 +11,10 @@
|
||||
%endif
|
||||
|
||||
# TW is usrmerged
|
||||
%if %{undefined usrmerged} && 0%{?suse_version} >= 1550
|
||||
%if 0%{?suse_version} >= 1550
|
||||
%define usrmerged 1
|
||||
%else
|
||||
%define usrmerged 0
|
||||
%endif
|
||||
|
||||
# source_rel is the package release string, without the rebuild counter
|
||||
@@ -68,7 +70,7 @@
|
||||
rm -f "$2" && ln -s "$1" "$2" \
|
||||
}
|
||||
|
||||
%if 0%{?usrmerged}
|
||||
%if %{usrmerged}
|
||||
%define kernel_module_directory /usr/lib/modules
|
||||
%else
|
||||
%define kernel_module_directory /lib/modules
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package kernel-syms-longterm
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -16,19 +16,16 @@
|
||||
#
|
||||
|
||||
|
||||
%define git_commit e2ac9495079bda452d5e19af61c25c52dd6f89f7
|
||||
%define git_commit 37db29e7c661cab21e25cdb5710c3880c59cd6f8
|
||||
%define variant -longterm%{nil}
|
||||
|
||||
%include %_sourcedir/kernel-spec-macros
|
||||
|
||||
Name: kernel-syms-longterm
|
||||
Summary: Kernel Symbol Versions (modversions)
|
||||
License: GPL-2.0-only
|
||||
Group: Development/Sources
|
||||
Version: 6.6.50
|
||||
Version: 6.12.39
|
||||
%if %using_buildservice
|
||||
%if 0%{?is_kotd}
|
||||
Release: <RELEASE>.ge2ac949
|
||||
Release: <RELEASE>.g37db29e
|
||||
%else
|
||||
Release: 0
|
||||
%endif
|
||||
@@ -36,24 +33,23 @@ Release: 0
|
||||
%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/
|
||||
AutoReqProv: off
|
||||
BuildRequires: coreutils
|
||||
ExclusiveArch: aarch64 x86_64
|
||||
Prefix: /usr/src
|
||||
AutoReqProv: off
|
||||
Source: README.KSYMS
|
||||
%ifarch aarch64 x86_64
|
||||
Requires: kernel-longterm-devel = %version-%source_rel
|
||||
%endif
|
||||
Requires: pesign-obs-integration
|
||||
Requires: kernel-devel%variant = %version-%source_rel
|
||||
Provides: %name = %version-%source_rel
|
||||
Provides: %name-srchash-%git_commit
|
||||
Provides: multiversion(kernel)
|
||||
Source: README.KSYMS
|
||||
Requires: kernel-devel%variant = %version-%source_rel
|
||||
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
|
||||
ExclusiveArch: aarch64 x86_64
|
||||
%else
|
||||
ExclusiveArch: do_not_build
|
||||
%endif
|
||||
Prefix: /usr/src
|
||||
|
||||
# Force bzip2 instead of lzma compression to
|
||||
# 1) allow install on older dist versions, and
|
||||
@@ -70,13 +66,14 @@ package dependencies.
|
||||
|
||||
|
||||
%source_timestamp
|
||||
%prep
|
||||
|
||||
%install
|
||||
install -m 644 -D %{SOURCE0} %buildroot/%_docdir/%name/README.SUSE
|
||||
|
||||
%files
|
||||
%dir %_docdir/%name
|
||||
%_docdir/%name/README.SUSE
|
||||
|
||||
%prep
|
||||
|
||||
%install
|
||||
install -m 644 -D %{SOURCE0} %buildroot/%_docdir/%name/README.SUSE
|
||||
|
||||
%changelog
|
||||
|
@@ -22,9 +22,6 @@
|
||||
%include %_sourcedir/kernel-spec-macros
|
||||
|
||||
Name: kernel-syms@VARIANT@
|
||||
Summary: Kernel Symbol Versions (modversions)
|
||||
License: GPL-2.0-only
|
||||
Group: Development/Sources
|
||||
Version: @RPMVERSION@
|
||||
%if %using_buildservice
|
||||
%if 0%{?is_kotd}
|
||||
@@ -36,22 +33,21 @@ Release: @RELEASE@
|
||||
%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/
|
||||
AutoReqProv: off
|
||||
BuildRequires: coreutils
|
||||
ExclusiveArch: @ARCHS@
|
||||
Prefix: /usr/src
|
||||
AutoReqProv: off
|
||||
Source: README.KSYMS
|
||||
@REQUIRES@
|
||||
Requires: pesign-obs-integration
|
||||
Requires: kernel-devel%variant = %version-%source_rel
|
||||
Provides: %name = %version-%source_rel
|
||||
Provides: %name-srchash-%git_commit
|
||||
Provides: multiversion(kernel)
|
||||
Source: README.KSYMS
|
||||
Requires: kernel-devel%variant = %version-%source_rel
|
||||
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
|
||||
ExclusiveArch: @ARCHS@
|
||||
%else
|
||||
ExclusiveArch: do_not_build
|
||||
%endif
|
||||
Prefix: /usr/src
|
||||
|
||||
# Force bzip2 instead of lzma compression to
|
||||
# 1) allow install on older dist versions, and
|
||||
@@ -68,13 +64,14 @@ package dependencies.
|
||||
|
||||
|
||||
%source_timestamp
|
||||
%prep
|
||||
|
||||
%install
|
||||
install -m 644 -D %{SOURCE0} %buildroot/%_docdir/%name/README.SUSE
|
||||
|
||||
%files
|
||||
%dir %_docdir/%name
|
||||
%_docdir/%name/README.SUSE
|
||||
|
||||
%prep
|
||||
|
||||
%install
|
||||
install -m 644 -D %{SOURCE0} %buildroot/%_docdir/%name/README.SUSE
|
||||
|
||||
%changelog
|
||||
|
72
klp-symbols
72
klp-symbols
@@ -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
|
19
linux-6.12.tar.sign
Normal file
19
linux-6.12.tar.sign
Normal file
@@ -0,0 +1,19 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Comment: This signature is for the .tar version of the archive
|
||||
Comment: git archive --format tar --prefix=linux-6.12/ v6.12
|
||||
Comment: git version 2.47.0
|
||||
|
||||
iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmc6xcwACgkQONu9yGCS
|
||||
aT65NhAAvh7QiDnvnOlH/ZI9TVDE70GYARPN0OQTE+7YmtwYYxtDmIWpl5V4gjcK
|
||||
jYZYWkNWZxyIi/dzZFoY8JMEwxdPfchkc2nqJxgHbZGTWudcLnTWxIRnzlEjs+7B
|
||||
B7XIlCTGYMi3hYweHNZcDzvAFp+WA2e130ZTHeJSpEy7jkdcRxnKP4kYkE52bmOr
|
||||
iK0MgfPhlDY90K9T/XQ1j0CdU9ekpwXXc+vfNPtPz4H5VpAkIvLzFmu/9oYtGBlf
|
||||
8w4wel6GlzYsZL8XJmBgK2GyhHXLKeEAsTFGoJSnZBwgqfr9ux9iVNCUgfMNyBh/
|
||||
sPp0ZzVWnqk5CsLTO/bzV64ckRLyBp9nfTekZAjnADqXPTEfDKEGKL/AUV8AFQPE
|
||||
AvZzFAV8aOFQAUkofvQyJiD61UVjziNlxh0bXLcJrTdJbNqsEQlx4Z6mWWLeufrU
|
||||
7UWboDuR0+MNGUIVCxFjYF30Zb18hIxxnZ++9+MhtbY0+aAUpJUkHm6HpNls2JtI
|
||||
0M0iUjTYtlohcadLCo+IdO0+8/HiN1rtDy+PypTNvVI5aoS9gPuJPXMGE+rSgUAk
|
||||
M0XrPcKrekJPgkL0rQJ+CfHSodsex6de9mzmPA/RHB4iwSqkAHSShs5KXzY6jy+T
|
||||
fv5YOM+4AArm5xL1uDDDINp/a3tg5Nsv49ghfeYj6IzJPJ84ciw=
|
||||
=pvFU
|
||||
-----END PGP SIGNATURE-----
|
BIN
linux-6.12.tar.xz
(Stored with Git LFS)
Normal file
BIN
linux-6.12.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
@@ -1,19 +0,0 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Comment: This signature is for the .tar version of the archive
|
||||
Comment: git archive --format tar --prefix=linux-6.6/ v6.6
|
||||
Comment: git version 2.42.0
|
||||
|
||||
iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmU/R9oACgkQONu9yGCS
|
||||
aT5mBBAAnQMFnUUwlXa/cHTZ0NxyQxVv7B8k/TrvbOqbd6/AQpO6WnOorpqVKite
|
||||
rrvqz96FCDIsWAr7k4fzGvJhFlAmwyGsFb2kusiLekRBufKFiMyXl91wVm1pYtpS
|
||||
FBC7HqCc9/LV/O5Mg/I2uWZ0PBYhRjiVCQonGQPx3lDgLEd2JnMLkADJhEONl9cD
|
||||
IMayZGNV9rBUzS7cUBILk8QoBiod5P/RjwHb9Dn/oUev2r3iX09RN+bzIQroVX0B
|
||||
I9bX1ipOSmPfdUy3Vr3JUS3n5VACjhwwYBwhzRIzJ038pWHn9fmBWspExAdOyOLl
|
||||
cpqAzZ6befPT78/VqLyobhAsmRgfnOce8IzS0CU0wUenHGJkj1FthkLO1zNs9aZs
|
||||
CyDZi9Z5iwocSaN6JHBk/fV3eG0vkH6k5jPEM8+DxJv+TcpXuM4JR47ymteB7qUt
|
||||
UNCJQdOhTsAtQHVMwIaGUPOFI9rYmfiw9eippLRQF2juyYNHOZSHBZk9ZMG4V1zU
|
||||
yhFhOrzERZ7LInXfiQAldxE4RFxWanNo7pBCy5SUBP8gcVjkLmicNXiuvPZe/q0e
|
||||
ARLLOF5kB4H3rPwWzBuyp0yxADSgnLFPXmy/rh6hSCU2n3myQeI9hLu+sLCK40vu
|
||||
/80rKPDiEdumGgtkHYfsus6HAbSv4MYaMYpMzpcWFxkTPz4xJbQ=
|
||||
=wBW2
|
||||
-----END PGP SIGNATURE-----
|
@@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d926a06c63dd8ac7df3f86ee1ffc2ce2a3b81a2d168484e76b5b389aba8e56d0
|
||||
size 140064536
|
167
log.sh
167
log.sh
@@ -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
|
@@ -6,6 +6,7 @@ else \
|
||||
print( "" ) \
|
||||
end
|
||||
}
|
||||
%usrmerged %{lua: susever = rpm.expand('%{?suse_version}'); if susever ~= '' and tonumber(susever) > 1550 then print('1') else print('0') end }
|
||||
%kernel_module_package_release 1
|
||||
%kernel_module_package_buildreqs modutils kernel-syms kmod-compat suse-kernel-rpm-scriptlets %kernel_build_shell_package
|
||||
|
||||
|
16
mkspec
16
mkspec
@@ -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";
|
||||
my @archs = arch2rpm(@{$syms_flavor_archs{$flavor}});
|
||||
$syms_archs{$_} = 1 for @archs;
|
||||
$requires .= "%ifarch @archs\n";
|
||||
|
@@ -90,6 +90,7 @@ my @riscv64_package_list = (
|
||||
['dtb-microchip', 'microchip/*.dts', "Microchip based riscv64 systems"],
|
||||
['dtb-renesas', 'renesas/*.dts', "Renesas based riscv64 systems"],
|
||||
['dtb-sifive', 'sifive/*.dts', "SiFive based riscv64 systems"],
|
||||
['dtb-sophgo', 'sophgo/*.dts', "Sophgo based riscv64 systems"],
|
||||
['dtb-starfive', 'starfive/*.dts', "StarFive based riscv64 systems"],
|
||||
['dtb-thead', 'thead/*.dts', "T-HEAD based riscv64 systems"],
|
||||
);
|
||||
@@ -108,8 +109,6 @@ sub generate_spec($$$)
|
||||
unless ($exclusive_arch eq 'none');
|
||||
|
||||
my $subpkg_desc = "";
|
||||
my $subpkg_post = "";
|
||||
my $subpkg_files = "";
|
||||
my $subpkg_case = "";
|
||||
my $all_supported_dtb = "";
|
||||
my $DTS_folder = "arch/arm/boot/dts";
|
||||
@@ -155,7 +154,7 @@ sub generate_spec($$$)
|
||||
"%description -n $PKG_NAME\n" .
|
||||
"Device Tree files for $MACHINES.\n\n";
|
||||
|
||||
$subpkg_post .=
|
||||
$subpkg_desc .=
|
||||
"%post -n $PKG_NAME\n" .
|
||||
"cd /boot\n" .
|
||||
"# If /boot/dtb is a symlink, remove it, so that we can replace it.\n" .
|
||||
@@ -175,7 +174,7 @@ sub generate_spec($$$)
|
||||
$dtb_subdir .= "%dir %{dtbdir}$path\n";
|
||||
}
|
||||
|
||||
$subpkg_files .=
|
||||
$subpkg_desc .=
|
||||
"%ifarch %arm aarch64 riscv64\n" .
|
||||
"%files -n $PKG_NAME -f $PKG_NAME.list\n" .
|
||||
"%else\n" .
|
||||
@@ -203,8 +202,6 @@ sub generate_spec($$$)
|
||||
$_ =~ s/\$DTS_folder/$DTS_folder/g;
|
||||
$_ =~ s/\$SUBPKG_DESC/$subpkg_desc/g;
|
||||
$_ =~ s/\$ALL_SUPPORTED_DTB/$all_supported_dtb/g;
|
||||
$_ =~ s/\$SUBPKG_POST\n?/$subpkg_post/g;
|
||||
$_ =~ s/\$SUBPKG_FILES\n?/$subpkg_files/g;
|
||||
$_ =~ s/\$SUBPKG_CASE\n?/$subpkg_case/g;
|
||||
print SPEC $_;
|
||||
}
|
||||
|
@@ -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 = (
|
||||
|
@@ -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
|
||||
|
||||
|
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:70c0c9917837689b9d4d2c44a892b94b2343984a2c38323ce5cd4d099bf8df42
|
||||
size 8015328
|
||||
oid sha256:92d9d4caf5336bb5dad87596288328fcbeab05963191c23799e78a295ac95a65
|
||||
size 7046849
|
||||
|
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:554e8e4e583ef73827c621d3ef5593a0cffb137cb98e75047fa3572a0671a57a
|
||||
size 4243
|
||||
oid sha256:edf0af8a4cc13e726c4357bf3e3d929de85b9e46a985714f2571078e81e8883d
|
||||
size 4156
|
||||
|
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:5d5ebdb172fe82ac1257746108c2d1739762458ac77d5efda1c1cc496f2eb260
|
||||
size 66755
|
||||
oid sha256:b8e4b7e998134076bd39e470a17b7ef4febbead32b82ed2864bc98287ff23d31
|
||||
size 37079
|
||||
|
@@ -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
|
||||
|
18907
series.conf
18907
series.conf
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,3 @@
|
||||
2024-09-08 09:48:30 +0000
|
||||
GIT Revision: e2ac9495079bda452d5e19af61c25c52dd6f89f7
|
||||
2025-07-19 01:44:56 +0000
|
||||
GIT Revision: 37db29e7c661cab21e25cdb5710c3880c59cd6f8
|
||||
GIT Branch: slowroll
|
||||
|
@@ -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
|
||||
|
@@ -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
|
Reference in New Issue
Block a user