1
0
forked from pool/kernel-source

16 Commits

Author SHA256 Message Date
74ff18fc0d GIT Revision: 94472718bd34ca4adb72d325d55f37bd87bfde65
GIT Branch: stable
2025-12-19 10:15:01 +0000
2025-12-19 11:15:53 +01:00
ce7c391b8e GIT Revision: 05e3e3d86e50004137d26dd7bddeae159fae4eae
GIT Branch: stable
2025-12-19 10:09:29 +0000
2025-12-19 11:13:46 +01:00
172a629344 GIT Revision: 05e3e3d86e50004137d26dd7bddeae159fae4eae
GIT Branch: stable
2025-12-19 10:09:29 +0000
2025-12-19 11:12:42 +01:00
50ddf54bf3 GIT Revision: ffe6340b267ac4e36a25057fcb92f9a0c0f7d2b4
GIT Branch: stable
2025-12-13 06:33:53 +0000
2025-12-13 07:38:48 +01:00
f8c44788e0 GIT Revision: 371bdaf6331fcbaa19c6f7c0aa6f3af5a36f7e2b
GIT Branch: stable
2025-12-06 07:14:55 +0000
2025-12-06 08:16:14 +01:00
496c6046fd GIT Revision: 6ce3f150389ee2831c4c0047296d6b64fc9054da
GIT Branch: stable
2025-12-02 08:54:32 +0000
2025-12-02 09:57:19 +01:00
46d95a93ba GIT Revision: d7c93ef8354904ef83c89b0a4072995b0186c13f
GIT Branch: stable
2025-12-01 06:36:49 +0000
2025-12-01 07:48:27 +01:00
3dcc6ae89f GIT Revision: d7c93ef8354904ef83c89b0a4072995b0186c13f
GIT Branch: stable
2025-12-01 06:36:49 +0000
2025-12-01 07:47:36 +01:00
8c24d58dd0 GIT Revision: a337d5c329f9879e25900ea7d0cab91f606a5847
GIT Branch: stable
2025-11-27 06:58:56 +0000
2025-11-27 08:02:48 +01:00
204319ccaf GIT Revision: 17f6a20d7e47cb61cff6e4d7b171fd88a757883d
GIT Branch: stable
2025-11-24 17:13:39 +0000
2025-11-24 18:14:40 +01:00
f7a97ce9ed GIT Revision: 5d803dee3374c5c7045972dd844aaf3d08c55fc1
GIT Branch: stable
2025-11-20 15:10:21 +0000
2025-11-20 16:17:01 +01:00
1466f13f2b GIT Revision: 0a31dc366f7b12fd7865963073808619e2de6b07
GIT Branch: stable
2025-11-19 07:27:20 +0000
2025-11-19 08:28:34 +01:00
7c9a862800 GIT Revision: 051eaf7dc4e40c744076f7f542b701ebad75cfa3
GIT Branch: stable
2025-11-14 06:49:01 +0000
2025-11-14 09:34:17 +01:00
8fb9211937 GIT Revision: 7992e49e4adcd3612d030cea2f869ddf8b7b67da
GIT Branch: rc
2025-11-11 07:20:46 +0000
2025-11-14 09:28:15 +01:00
2b5e615459 GIT Revision: c376041991582f38054bc5da00a7ac4d96af6692
GIT Branch: stable
2025-11-03 08:48:07 +0000
2025-11-03 09:56:37 +01:00
2ea41c06d6 Update .gitattributes 2025-11-03 09:56:27 +01:00
79 changed files with 3089755 additions and 1685736 deletions

2
.gitattributes vendored
View File

@@ -21,3 +21,5 @@
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*.tar.bz2 filter=lfs diff=lfs merge=lfs -text
*.tar.?z filter=lfs diff=lfs merge=lfs -text

View File

@@ -216,11 +216,13 @@ Relevant bits have the following meaning:
| 12 | ␣/O | 4096 | externally-built ("out-of-tree") module was loaded |
| 13 | ␣/E | 8192 | unsigned module was loaded |
| 16 | ␣/X | 65536 | module with third-party support was loaded |
| 31 | ␣/N | 2147483648 | unsupported module was loaded |
| 31 | ␣/n | 2147483648 | unsupported module was loaded |
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`.
Bits 16 and 31 are specific to the SUSE kernels. Starting with 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`.
Additionally, since SLE15-SP6, an unsupported module is indicated by the 'n'
character, whereas it was previously represented by 'N'.
Out-of-tree modules do not have the supported flag set by default; that
is, they are marked as unsupported. For building externally supported

View File

@@ -8,8 +8,12 @@
<package>kernel-source:kernel-default</package>
<package>kernel-kvmsmall</package>
<package>kernel-source:kernel-kvmsmall</package>
<package>kernel-rt</package>
<package>kernel-source:kernel-rt</package>
<package>kernel-lpae</package>
<package>kernel-source:kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-source:kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-source:kernel-vanilla</package>
<package>kernel-zfcpdump</package>
<package>kernel-source:kernel-zfcpdump</package>
</conditions>
@@ -73,8 +77,12 @@
<package>kernel-source:kernel-default</package>
<package>kernel-kvmsmall</package>
<package>kernel-source:kernel-kvmsmall</package>
<package>kernel-rt</package>
<package>kernel-source:kernel-rt</package>
<package>kernel-lpae</package>
<package>kernel-source:kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-source:kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-source:kernel-vanilla</package>
<package>kernel-zfcpdump</package>
<package>kernel-source:kernel-zfcpdump</package>
</conditions>
@@ -95,8 +103,12 @@
<package>kernel-source:kernel-default</package>
<package>kernel-kvmsmall</package>
<package>kernel-source:kernel-kvmsmall</package>
<package>kernel-rt</package>
<package>kernel-source:kernel-rt</package>
<package>kernel-lpae</package>
<package>kernel-source:kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-source:kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-source:kernel-vanilla</package>
<package>kernel-zfcpdump</package>
<package>kernel-source:kernel-zfcpdump</package>
</conditions>
@@ -122,8 +134,12 @@
<package>kernel-source:kernel-default</package>
<package>kernel-kvmsmall</package>
<package>kernel-source:kernel-kvmsmall</package>
<package>kernel-rt</package>
<package>kernel-source:kernel-rt</package>
<package>kernel-lpae</package>
<package>kernel-source:kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-source:kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-source:kernel-vanilla</package>
<package>kernel-zfcpdump</package>
<package>kernel-source:kernel-zfcpdump</package>
</conditions>
@@ -144,8 +160,12 @@
<package>kernel-source:kernel-default</package>
<package>kernel-kvmsmall</package>
<package>kernel-source:kernel-kvmsmall</package>
<package>kernel-rt</package>
<package>kernel-source:kernel-rt</package>
<package>kernel-lpae</package>
<package>kernel-source:kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-source:kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-source:kernel-vanilla</package>
<package>kernel-zfcpdump</package>
<package>kernel-source:kernel-zfcpdump</package>
</conditions>
@@ -166,8 +186,12 @@
<package>kernel-source:kernel-default</package>
<package>kernel-kvmsmall</package>
<package>kernel-source:kernel-kvmsmall</package>
<package>kernel-rt</package>
<package>kernel-source:kernel-rt</package>
<package>kernel-lpae</package>
<package>kernel-source:kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-source:kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-source:kernel-vanilla</package>
<package>kernel-zfcpdump</package>
<package>kernel-source:kernel-zfcpdump</package>
</conditions>
@@ -176,18 +200,6 @@
</hardware>
</overwrite>
<!-- POWER9 now required on ppc64le -->
<overwrite>
<conditions>
<arch>ppc64le</arch>
</conditions>
<hardware>
<cpu>
<flag>power9</flag>
</cpu>
</hardware>
</overwrite>
<!-- Build on recent ARMv8.1 to avoid slow builders -->
<overwrite>
<conditions>
@@ -211,8 +223,12 @@
<package>kernel-source:kernel-default</package>
<package>kernel-kvmsmall</package>
<package>kernel-source:kernel-kvmsmall</package>
<package>kernel-rt</package>
<package>kernel-source:kernel-rt</package>
<package>kernel-lpae</package>
<package>kernel-source:kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-source:kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-source:kernel-vanilla</package>
<package>kernel-zfcpdump</package>
<package>kernel-source:kernel-zfcpdump</package>
</conditions>
@@ -233,8 +249,12 @@
<package>kernel-source:kernel-default</package>
<package>kernel-kvmsmall</package>
<package>kernel-source:kernel-kvmsmall</package>
<package>kernel-rt</package>
<package>kernel-source:kernel-rt</package>
<package>kernel-lpae</package>
<package>kernel-source:kernel-lpae</package>
<package>kernel-pae</package>
<package>kernel-source:kernel-pae</package>
<package>kernel-vanilla</package>
<package>kernel-source:kernel-vanilla</package>
<package>kernel-zfcpdump</package>
<package>kernel-source:kernel-zfcpdump</package>
</conditions>

View File

@@ -1,12 +1,17 @@
<multibuild>
<package>dtb-aarch64</package>
<package>dtb-armv6l</package>
<package>dtb-armv7l</package>
<package>dtb-riscv64</package>
<package>kernel-64kb</package>
<package>kernel-default</package>
<package>kernel-docs</package>
<package>kernel-kvmsmall</package>
<package>kernel-lpae</package>
<package>kernel-obs-build</package>
<package>kernel-obs-qa</package>
<package>kernel-rt</package>
<package>kernel-pae</package>
<package>kernel-syms</package>
<package>kernel-vanilla</package>
<package>kernel-zfcpdump</package>
</multibuild>

View File

@@ -40,6 +40,7 @@ declare -a IGNORED_CONFIGS_RE=(
'PAHOLE_VERSION'
'RISCV_ISA_[A-Z_]*'
'RUSTC_SUPPORTS_[A-Z0-9_]*'
'SCHED_PROXY_EXEC'
'TOOLCHAIN_HAS_[A-Z_]*'
'TOOLCHAIN_NEEDS_[A-Z_]*'
'TOOLS_SUPPORT_[A-Z_]*'

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

@@ -1,77 +0,0 @@
#! /bin/bash
export LANG=POSIX
path=(.)
while test $# -gt 0; do
case "$1" in
--patches)
path[${#path[@]}]=$2
shift 2
;;
*)
echo "Usage $0 [--patches <dir>]" >&2
exit 1
esac
done
if test "${path[*]}" = "."; then
path=(. ..)
fi
source $(dirname $0)/config.sh
parse_srcversion()
{
local IFS=.
set -- ${SRCVERSION%%-*}
VERSION=$1
PATCHLEVEL=${2:-0}
SUBLEVEL=${3:-0}
EXTRAVERSION=${SRCVERSION#${SRCVERSION%%-*}}
}
parse_srcversion
EXTRA_SYMBOLS=$(set -- $([ -e $(dirname $0)/extra-symbols ] && cat $(dirname $0)/extra-symbols) ; echo $*)
series=$(mktemp)
tmp_files="$series"
trap 'rm -rf $tmp_files' EXIT
warned=false
while read patch; do
dir=${patch%/*}
for p in "${path[@]}"; do
if test -e "$p/$patch"; then
echo "$p/$patch"
continue 2
fi
done
for p in "${path[@]}"; do
if test -e "$p/$dir.tar.bz2"; then
echo "unpacking $p/$dir.tar.bz2" >&2
if ! $warned; then
echo "pass --patches <directory with unpacked tarballs> to avoid this" >&2
warned=true
fi
tmp_files="$tmp_files $dir"
tar -xjf "$p/$dir.tar.bz2"
echo "$patch"
continue 2
fi
done
echo "Can't find $patch" >&2
exit 1
done >"$series" < <($(dirname $0)/guards $EXTRA_SYMBOLS <series.conf)
# Parse all the changes to KERNELRELEASE out of all patches and
# convert them to shell code that can be evaluated. Evaluate it.
eval "$( {
<"$series" xargs awk '
/^--- |^\+\+\+ / \
{ M = match($2, /^[^\/]+\/Makefile( \t|$)/) }
M && /^+(VERSION|PATCHLEVEL|SUBLEVEL|EXTRAVERSION)/ \
{ print }
' || echo exit 1 ; } \
| sed -e 's,^+,,' -e 's, *= *\(.*\),="\1",'
)"
echo "$VERSION.$PATCHLEVEL.$SUBLEVEL$EXTRAVERSION"

Binary file not shown.

View File

@@ -9,16 +9,32 @@
#
+x86_64 x86_64/default
- x86_64/syzkaller
+x86_64 x86_64/vanilla
+x86_64 -syms x86_64/kvmsmall
+x86_64 x86_64/rt
+i386 i386/pae
+i386 i386/default
+i386 i386/vanilla
+ppc64le ppc64le/default
+ppc64le ppc64le/vanilla
+ppc64le -syms ppc64le/kvmsmall
# ARM architectures
+armv6hl armv6hl/default
+armv6hl armv6hl/vanilla
+armv7hl armv7hl/default
+armv7hl armv7hl/vanilla
+armv7hl armv7hl/lpae
+arm64 arm64/default
+arm64 arm64/64kb
+arm64 arm64/vanilla
+arm64 -syms arm64/kvmsmall
+arm64 arm64/rt
+s390x s390x/default
+s390x s390x/vanilla
+s390x -syms s390x/zfcpdump
+riscv64 riscv64/default
+riscv64 riscv64/vanilla

View File

@@ -1,5 +1,5 @@
# The version of the main tarball to use
SRCVERSION=6.12
SRCVERSION=6.18
# variant of the kernel-source package, either empty or "-rt"
VARIANT=
# enable kernel module compression
@@ -11,24 +11,21 @@ BUILD_DTBS="Yes"
MULTIBUILD="Yes"
# Use new style livepatch package names
LIVEPATCH=livepatch
# Enable livepatching related packages on -rt variant
LIVEPATCH_RT=1
# buildservice projects to build the kernel against
OBS_PROJECT=SUSE:SLFO:Main:Build
IBS_PROJECT=SUSE:SLFO:Main:Build
OBS_PROJECT=openSUSE:Factory
OBS_PROJECT_ARM=openSUSE:Factory:ARM
OBS_PROJECT_LEGACYX86=openSUSE:Factory:LegacyX86
OBS_PROJECT_PPC=openSUSE:Factory:PowerPC
OBS_PROJECT_RISCV=openSUSE:Factory:RISCV
OBS_PROJECT_S390=openSUSE:Factory:zSystems
# Bugzilla info
BUGZILLA_SERVER="apibugzilla.suse.com"
BUGZILLA_PRODUCT="SUSE Linux Enterprise Server 16.0"
BUGZILLA_COMPONENT="Kernel"
SPLIT_OPTIONAL=Yes
SUPPORTED_MODULES_CHECK=Yes
BUGZILLA_PRODUCT="openSUSE Tumbleweed"
# 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
# Use the new kABI tool
USE_SUSE_KABI_TOOLS=Yes

BIN
config.tar.bz2 LFS

Binary file not shown.

View File

@@ -1,196 +0,0 @@
<constraints>
<!-- Default 35GB for binary packages -->
<overwrite>
<conditions>
@BINARY_PACKAGES_XML@
</conditions>
<hardware>
<disk>
<size unit="G">35</size>
</disk>
<memory>
<size unit="G">4</size>
</memory>
</hardware>
</overwrite>
<!-- 8GB RAM for kernel-syzkaller -->
<overwrite>
<conditions>
<package>kernel-syzkaller</package>
<package>kernel-source@VARIANT@:kernel-syzkaller</package>
</conditions>
<hardware>
<physicalmemory>
<size unit="G">8</size>
</physicalmemory>
</hardware>
</overwrite>
<!-- 8GB for kernel-source@VARIANT@ -->
<overwrite>
<conditions>
<package>kernel-source@VARIANT@</package>
</conditions>
<hardware>
<disk>
<size unit="G">8</size>
</disk>
</hardware>
<hostlabel exclude="true">SLOW_DISK</hostlabel>
</overwrite>
<!-- 4GB for kernel-docs@VARIANT@ -->
<overwrite>
<conditions>
<package>kernel-docs@VARIANT@</package>
<package>kernel-source@VARIANT@:kernel-docs@VARIANT@</package>
</conditions>
<hardware>
<physicalmemory>
<size unit="G">4</size>
</physicalmemory>
</hardware>
</overwrite>
<!-- 24GB for binary packages on armv6/7 -->
<overwrite>
<conditions>
<arch>armv7l</arch>
<arch>armv6l</arch>
@BINARY_PACKAGES_XML@
</conditions>
<hardware>
<disk>
<size unit="G">24</size>
</disk>
</hardware>
</overwrite>
<!-- 16GB of disk and 2GB of memory for binary package on s390x -->
<overwrite>
<conditions>
<arch>s390x</arch>
@BINARY_PACKAGES_XML@
</conditions>
<hardware>
<disk>
<size unit="G">16</size>
</disk>
<memory>
<size unit="G">2</size>
</memory>
</hardware>
</overwrite>
<!-- 8 CPUs for binary packages on x86 -->
<overwrite>
<conditions>
<arch>i586</arch>
<arch>x86_64</arch>
<arch>riscv64</arch>
@BINARY_PACKAGES_XML@
</conditions>
<hardware>
<jobs>8</jobs>
</hardware>
</overwrite>
<!-- 4 CPUs for binary packages on POWER -->
<overwrite>
<conditions>
<arch>ppc</arch>
<arch>ppc64</arch>
<arch>ppc64le</arch>
@BINARY_PACKAGES_XML@
</conditions>
<hardware>
<jobs>4</jobs>
</hardware>
</overwrite>
<!-- 2 CPUs for binary packages on ARM -->
<overwrite>
<conditions>
<arch>aarch64</arch>
<arch>armv6l</arch>
<arch>armv7l</arch>
@BINARY_PACKAGES_XML@
</conditions>
<hardware>
<jobs>2</jobs>
</hardware>
</overwrite>
<!-- POWER9 now required on ppc64le -->
<overwrite>
<conditions>
<arch>ppc64le</arch>
</conditions>
<hardware>
<cpu>
<flag>power9</flag>
</cpu>
</hardware>
</overwrite>
<!-- Build on recent ARMv8.1 to avoid slow builders -->
<overwrite>
<conditions>
<arch>aarch64</arch>
</conditions>
<hardware>
<cpu>
<flag>asimdrdm</flag>
</cpu>
</hardware>
</overwrite>
<!-- 45GB for binary packages on aarch64 and x86-->
<overwrite>
<conditions>
<arch>aarch64</arch>
<arch>x86_64</arch>
@BINARY_PACKAGES_XML@
</conditions>
<hardware>
<disk>
<size unit="G">45</size>
</disk>
</hardware>
</overwrite>
<!-- 52GB for binary packages on riscv64-->
<overwrite>
<conditions>
<arch>riscv64</arch>
@BINARY_PACKAGES_XML@
</conditions>
<hardware>
<disk>
<size unit="G">52</size>
</disk>
</hardware>
</overwrite>
<overwrite>
<conditions>
<arch>i586</arch>
<arch>x86_64</arch>
<package>kernel-obs-qa</package>
<package>kernel-source@VARIANT@:kernel-obs-qa</package>
</conditions>
<sandbox>kvm</sandbox>
</overwrite>
<overwrite>
<conditions>
<arch>i586</arch>
<arch>x86_64</arch>
<package>kernel-obs-qa-xen</package>
<package>kernel-source@VARIANT@:kernel-obs-qa-xen</package>
</conditions>
<sandbox>xen</sandbox>
</overwrite>
</constraints>

File diff suppressed because it is too large Load Diff

View File

@@ -16,18 +16,18 @@
#
%define srcversion 6.12
%define patchversion 6.12.0
%define srcversion 6.18
%define patchversion 6.18.2
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,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,arch-symbols,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: dtb-aarch64
Version: 6.12.0
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.gb00eabe
Release: <RELEASE>.g9447271
%else
Release: 0
%endif
@@ -62,27 +62,11 @@ Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source51: mkspec
Source52: kernel-source%variant.changes
Source53: kernel-source.spec.in
Source54: kernel-binary.spec.in
Source55: kernel-syms.spec.in
Source56: kernel-docs.spec.in
Source57: kernel-cert-subpackage
Source58: constraints.in
Source60: config.sh
Source61: compute-PATCHVERSION.sh
Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
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
Source78: modules.fips
@@ -130,27 +114,11 @@ NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
NoSource: 51
NoSource: 52
NoSource: 53
NoSource: 54
NoSource: 55
NoSource: 56
NoSource: 57
NoSource: 58
NoSource: 60
NoSource: 61
NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 78

197200
dtb-armv6l.changes Normal file

File diff suppressed because it is too large Load Diff

229
dtb-armv6l.spec Normal file
View File

@@ -0,0 +1,229 @@
#
# spec file for package dtb-armv6l
#
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define srcversion 6.18
%define patchversion 6.18.2
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,arch-symbols,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: dtb-armv6l
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.g9447271
%else
Release: 0
%endif
Summary: Device Tree files for $MACHINES
License: GPL-2.0-only
Group: System/Boot
URL: https://www.kernel.org/
BuildRequires: cpp
BuildRequires: dtc >= 1.4.3
BuildRequires: xz
ExclusiveArch: armv6l armv6hl
%define dtbdir /boot/dtb-%kernelrelease
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz
Source3: kernel-source.rpmlintrc
Source14: series.conf
Source16: guards
Source17: apply-patches
Source19: kernel-binary-conflicts
Source20: obsolete-kmps
Source21: config.conf
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source40: source-timestamp
Source46: split-modules
Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source52: kernel-source%variant.changes
Source57: kernel-cert-subpackage
Source60: config.sh
Source63: arch-symbols
Source65: kernel-spec-macros
Source75: release-projects
Source76: check-module-license
Source78: modules.fips
Source79: splitflist
Source80: mergedep
Source81: moddep
Source82: modflist
Source83: kernel-subpackage-build
Source84: kernel-subpackage-spec
Source85: kernel-default-base.spec.txt
Source86: old_changelog.txt
Source100: config.tar.bz2
Source101: config.addon.tar.bz2
Source102: patches.arch.tar.bz2
Source103: patches.drivers.tar.bz2
Source104: patches.fixes.tar.bz2
Source105: patches.rpmify.tar.bz2
Source106: patches.suse.tar.bz2
Source108: patches.addon.tar.bz2
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
Source113: patches.kabi.tar.bz2
Source114: patches.drm.tar.bz2
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 3
NoSource: 14
NoSource: 16
NoSource: 17
NoSource: 19
NoSource: 20
NoSource: 21
NoSource: 23
NoSource: 33
NoSource: 35
NoSource: 36
NoSource: 37
NoSource: 38
NoSource: 40
NoSource: 46
NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
NoSource: 52
NoSource: 57
NoSource: 60
NoSource: 63
NoSource: 65
NoSource: 75
NoSource: 76
NoSource: 78
NoSource: 79
NoSource: 80
NoSource: 81
NoSource: 82
NoSource: 83
NoSource: 84
NoSource: 85
NoSource: 86
NoSource: 100
NoSource: 101
NoSource: 102
NoSource: 103
NoSource: 104
NoSource: 105
NoSource: 106
NoSource: 108
NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 113
NoSource: 114
NoSource: 120
NoSource: 121
Requires: kernel = %version
%description
Device Tree files for $MACHINES.
%package -n dtb-bcm2835
Summary: Raspberry Pi 1 (A+, B, B+)
Group: System/Boot
Provides: multiversion(dtb)
Requires(post): coreutils
%description -n dtb-bcm2835
Device Tree files for Raspberry Pi 1 (A+, B, B+).
%post -n dtb-bcm2835
cd /boot
# If /boot/dtb is a symlink, remove it, so that we can replace it.
[ -d dtb ] && [ -L dtb ] && rm -f dtb
# Unless /boot/dtb exists as real directory, create a symlink.
[ -d dtb ] || ln -sf dtb-%kernelrelease dtb
%ifarch %arm aarch64 riscv64
%files -n dtb-bcm2835 -f dtb-bcm2835.list
%else
%files -n dtb-bcm2835
%endif
%defattr(-,root,root)
%ghost /boot/dtb
%dir %{dtbdir}
%dir %{dtbdir}/broadcom
%{dtbdir}/broadcom/bcm2835*.dtb
%prep
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 108 -a 109 -a 110 -a 111 -a 113 -a 114 -a 120 -a 121
cd linux-%srcversion
%_sourcedir/apply-patches %_sourcedir/series.conf ..
%build
source=linux-%srcversion
cp $source/COPYING .
SRCDIR=$PWD/$source
mkdir pp
PPDIR=$PWD/pp
export DTC_FLAGS="-R 4 -p 0x1000"
DTC_FLAGS="$DTC_FLAGS -@"
cd $source/arch/arm/boot/dts
for dts in broadcom/bcm2835*.dts ; do
target=${dts%*.dts}
mkdir -p $PPDIR/$(dirname $target)
cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. -I$SRCDIR/include/ -I$SRCDIR/scripts/dtc/include-prefixes/ -P $target.dts -o $PPDIR/$target.dts
dtc $DTC_FLAGS -I dts -O dtb -i ./$(dirname $target) -o $PPDIR/$target.dtb $PPDIR/$target.dts
done
%install
cd pp
for dts in broadcom/bcm2835*.dts ; do
target=${dts%*.dts}
install -m 755 -d %{buildroot}%{dtbdir}/$(dirname $target)
# install -m 644 COPYING %{buildroot}%{dtbdir}/$(dirname $target)
install -m 644 $target.dtb %{buildroot}%{dtbdir}/$(dirname $target)
%ifarch %arm aarch64 riscv64
# HACK: work around U-Boot ignoring vendor dir
baselink=%{dtbdir}/$(basename $target).dtb
ln -s $target.dtb %{buildroot}$baselink
%ifarch %arm
case $dts in
broadcom/bcm2835*.dts) pkgname=dtb-bcm2835;;
esac
echo $baselink >> ../$pkgname.list
%else
vendordir=$(basename $(dirname $target))
echo $baselink >> ../dtb-$vendordir.list
%endif
%endif
done
cd -
%changelog

197200
dtb-armv7l.changes Normal file

File diff suppressed because it is too large Load Diff

1392
dtb-armv7l.spec Normal file

File diff suppressed because it is too large Load Diff

197200
dtb-riscv64.changes Normal file

File diff suppressed because it is too large Load Diff

417
dtb-riscv64.spec Normal file
View File

@@ -0,0 +1,417 @@
#
# spec file for package dtb-riscv64
#
# 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
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define srcversion 6.18
%define patchversion 6.18.2
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,arch-symbols,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: dtb-riscv64
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.g9447271
%else
Release: 0
%endif
Summary: Device Tree files for $MACHINES
License: GPL-2.0-only
Group: System/Boot
URL: https://www.kernel.org/
BuildRequires: cpp
BuildRequires: dtc >= 1.4.3
BuildRequires: xz
ExclusiveArch: riscv64
%define dtbdir /boot/dtb-%kernelrelease
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz
Source3: kernel-source.rpmlintrc
Source14: series.conf
Source16: guards
Source17: apply-patches
Source19: kernel-binary-conflicts
Source20: obsolete-kmps
Source21: config.conf
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source40: source-timestamp
Source46: split-modules
Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source52: kernel-source%variant.changes
Source57: kernel-cert-subpackage
Source60: config.sh
Source63: arch-symbols
Source65: kernel-spec-macros
Source75: release-projects
Source76: check-module-license
Source78: modules.fips
Source79: splitflist
Source80: mergedep
Source81: moddep
Source82: modflist
Source83: kernel-subpackage-build
Source84: kernel-subpackage-spec
Source85: kernel-default-base.spec.txt
Source86: old_changelog.txt
Source100: config.tar.bz2
Source101: config.addon.tar.bz2
Source102: patches.arch.tar.bz2
Source103: patches.drivers.tar.bz2
Source104: patches.fixes.tar.bz2
Source105: patches.rpmify.tar.bz2
Source106: patches.suse.tar.bz2
Source108: patches.addon.tar.bz2
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
Source113: patches.kabi.tar.bz2
Source114: patches.drm.tar.bz2
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 3
NoSource: 14
NoSource: 16
NoSource: 17
NoSource: 19
NoSource: 20
NoSource: 21
NoSource: 23
NoSource: 33
NoSource: 35
NoSource: 36
NoSource: 37
NoSource: 38
NoSource: 40
NoSource: 46
NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
NoSource: 52
NoSource: 57
NoSource: 60
NoSource: 63
NoSource: 65
NoSource: 75
NoSource: 76
NoSource: 78
NoSource: 79
NoSource: 80
NoSource: 81
NoSource: 82
NoSource: 83
NoSource: 84
NoSource: 85
NoSource: 86
NoSource: 100
NoSource: 101
NoSource: 102
NoSource: 103
NoSource: 104
NoSource: 105
NoSource: 106
NoSource: 108
NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 113
NoSource: 114
NoSource: 120
NoSource: 121
Requires: kernel = %version
%description
Device Tree files for $MACHINES.
%package -n dtb-allwinner
Summary: Allwinner based riscv64 systems
Group: System/Boot
Provides: multiversion(dtb)
Requires(post): coreutils
%description -n dtb-allwinner
Device Tree files for Allwinner based riscv64 systems.
%post -n dtb-allwinner
cd /boot
# If /boot/dtb is a symlink, remove it, so that we can replace it.
[ -d dtb ] && [ -L dtb ] && rm -f dtb
# Unless /boot/dtb exists as real directory, create a symlink.
[ -d dtb ] || ln -sf dtb-%kernelrelease dtb
%ifarch %arm aarch64 riscv64
%files -n dtb-allwinner -f dtb-allwinner.list
%else
%files -n dtb-allwinner
%endif
%defattr(-,root,root)
%ghost /boot/dtb
%dir %{dtbdir}
%dir %{dtbdir}/allwinner
%{dtbdir}/allwinner/*.dtb
%package -n dtb-microchip
Summary: Microchip based riscv64 systems
Group: System/Boot
Provides: multiversion(dtb)
Requires(post): coreutils
%description -n dtb-microchip
Device Tree files for Microchip based riscv64 systems.
%post -n dtb-microchip
cd /boot
# If /boot/dtb is a symlink, remove it, so that we can replace it.
[ -d dtb ] && [ -L dtb ] && rm -f dtb
# Unless /boot/dtb exists as real directory, create a symlink.
[ -d dtb ] || ln -sf dtb-%kernelrelease dtb
%ifarch %arm aarch64 riscv64
%files -n dtb-microchip -f dtb-microchip.list
%else
%files -n dtb-microchip
%endif
%defattr(-,root,root)
%ghost /boot/dtb
%dir %{dtbdir}
%dir %{dtbdir}/microchip
%{dtbdir}/microchip/*.dtb
%package -n dtb-renesas
Summary: Renesas based riscv64 systems
Group: System/Boot
Provides: multiversion(dtb)
Requires(post): coreutils
%description -n dtb-renesas
Device Tree files for Renesas based riscv64 systems.
%post -n dtb-renesas
cd /boot
# If /boot/dtb is a symlink, remove it, so that we can replace it.
[ -d dtb ] && [ -L dtb ] && rm -f dtb
# Unless /boot/dtb exists as real directory, create a symlink.
[ -d dtb ] || ln -sf dtb-%kernelrelease dtb
%ifarch %arm aarch64 riscv64
%files -n dtb-renesas -f dtb-renesas.list
%else
%files -n dtb-renesas
%endif
%defattr(-,root,root)
%ghost /boot/dtb
%dir %{dtbdir}
%dir %{dtbdir}/renesas
%{dtbdir}/renesas/*.dtb
%package -n dtb-sifive
Summary: SiFive based riscv64 systems
Group: System/Boot
Provides: multiversion(dtb)
Requires(post): coreutils
%description -n dtb-sifive
Device Tree files for SiFive based riscv64 systems.
%post -n dtb-sifive
cd /boot
# If /boot/dtb is a symlink, remove it, so that we can replace it.
[ -d dtb ] && [ -L dtb ] && rm -f dtb
# Unless /boot/dtb exists as real directory, create a symlink.
[ -d dtb ] || ln -sf dtb-%kernelrelease dtb
%ifarch %arm aarch64 riscv64
%files -n dtb-sifive -f dtb-sifive.list
%else
%files -n dtb-sifive
%endif
%defattr(-,root,root)
%ghost /boot/dtb
%dir %{dtbdir}
%dir %{dtbdir}/sifive
%{dtbdir}/sifive/*.dtb
%package -n dtb-sophgo
Summary: Sophgo based riscv64 systems
Group: System/Boot
Provides: multiversion(dtb)
Requires(post): coreutils
%description -n dtb-sophgo
Device Tree files for Sophgo based riscv64 systems.
%post -n dtb-sophgo
cd /boot
# If /boot/dtb is a symlink, remove it, so that we can replace it.
[ -d dtb ] && [ -L dtb ] && rm -f dtb
# Unless /boot/dtb exists as real directory, create a symlink.
[ -d dtb ] || ln -sf dtb-%kernelrelease dtb
%ifarch %arm aarch64 riscv64
%files -n dtb-sophgo -f dtb-sophgo.list
%else
%files -n dtb-sophgo
%endif
%defattr(-,root,root)
%ghost /boot/dtb
%dir %{dtbdir}
%dir %{dtbdir}/sophgo
%{dtbdir}/sophgo/*.dtb
%package -n dtb-spacemit
Summary: SpacemiT based riscv64 systems
Group: System/Boot
Provides: multiversion(dtb)
Requires(post): coreutils
%description -n dtb-spacemit
Device Tree files for SpacemiT based riscv64 systems.
%post -n dtb-spacemit
cd /boot
# If /boot/dtb is a symlink, remove it, so that we can replace it.
[ -d dtb ] && [ -L dtb ] && rm -f dtb
# Unless /boot/dtb exists as real directory, create a symlink.
[ -d dtb ] || ln -sf dtb-%kernelrelease dtb
%ifarch %arm aarch64 riscv64
%files -n dtb-spacemit -f dtb-spacemit.list
%else
%files -n dtb-spacemit
%endif
%defattr(-,root,root)
%ghost /boot/dtb
%dir %{dtbdir}
%dir %{dtbdir}/spacemit
%{dtbdir}/spacemit/*.dtb
%package -n dtb-starfive
Summary: StarFive based riscv64 systems
Group: System/Boot
Provides: multiversion(dtb)
Requires(post): coreutils
%description -n dtb-starfive
Device Tree files for StarFive based riscv64 systems.
%post -n dtb-starfive
cd /boot
# If /boot/dtb is a symlink, remove it, so that we can replace it.
[ -d dtb ] && [ -L dtb ] && rm -f dtb
# Unless /boot/dtb exists as real directory, create a symlink.
[ -d dtb ] || ln -sf dtb-%kernelrelease dtb
%ifarch %arm aarch64 riscv64
%files -n dtb-starfive -f dtb-starfive.list
%else
%files -n dtb-starfive
%endif
%defattr(-,root,root)
%ghost /boot/dtb
%dir %{dtbdir}
%dir %{dtbdir}/starfive
%{dtbdir}/starfive/*.dtb
%package -n dtb-thead
Summary: T-HEAD based riscv64 systems
Group: System/Boot
Provides: multiversion(dtb)
Requires(post): coreutils
%description -n dtb-thead
Device Tree files for T-HEAD based riscv64 systems.
%post -n dtb-thead
cd /boot
# If /boot/dtb is a symlink, remove it, so that we can replace it.
[ -d dtb ] && [ -L dtb ] && rm -f dtb
# Unless /boot/dtb exists as real directory, create a symlink.
[ -d dtb ] || ln -sf dtb-%kernelrelease dtb
%ifarch %arm aarch64 riscv64
%files -n dtb-thead -f dtb-thead.list
%else
%files -n dtb-thead
%endif
%defattr(-,root,root)
%ghost /boot/dtb
%dir %{dtbdir}
%dir %{dtbdir}/thead
%{dtbdir}/thead/*.dtb
%prep
# Unpack all sources and patches
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 108 -a 109 -a 110 -a 111 -a 113 -a 114 -a 120 -a 121
cd linux-%srcversion
%_sourcedir/apply-patches %_sourcedir/series.conf ..
%build
source=linux-%srcversion
cp $source/COPYING .
SRCDIR=$PWD/$source
mkdir pp
PPDIR=$PWD/pp
export DTC_FLAGS="-R 4 -p 0x1000"
DTC_FLAGS="$DTC_FLAGS -@"
cd $source/arch/riscv/boot/dts
for dts in allwinner/*.dts microchip/*.dts renesas/*.dts sifive/*.dts sophgo/*.dts spacemit/*.dts starfive/*.dts thead/*.dts ; do
target=${dts%*.dts}
mkdir -p $PPDIR/$(dirname $target)
cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. -I$SRCDIR/include/ -I$SRCDIR/scripts/dtc/include-prefixes/ -P $target.dts -o $PPDIR/$target.dts
dtc $DTC_FLAGS -I dts -O dtb -i ./$(dirname $target) -o $PPDIR/$target.dtb $PPDIR/$target.dts
done
%install
cd pp
for dts in allwinner/*.dts microchip/*.dts renesas/*.dts sifive/*.dts sophgo/*.dts spacemit/*.dts starfive/*.dts thead/*.dts ; do
target=${dts%*.dts}
install -m 755 -d %{buildroot}%{dtbdir}/$(dirname $target)
# install -m 644 COPYING %{buildroot}%{dtbdir}/$(dirname $target)
install -m 644 $target.dtb %{buildroot}%{dtbdir}/$(dirname $target)
%ifarch %arm aarch64 riscv64
# HACK: work around U-Boot ignoring vendor dir
baselink=%{dtbdir}/$(basename $target).dtb
ln -s $target.dtb %{buildroot}$baselink
%ifarch %arm
case $dts in
esac
echo $baselink >> ../$pkgname.list
%else
vendordir=$(basename $(dirname $target))
echo $baselink >> ../dtb-$vendordir.list
%endif
%endif
done
cd -
%changelog

View File

@@ -1,100 +0,0 @@
#
# spec file for package $NAME
#
# Copyright (c) @YEAR@ SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define srcversion @SRCVERSION@
%define patchversion @PATCHVERSION@
%define variant @VARIANT@%{nil}
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{@SCRIPTS@})
Name: $NAME
Version: @RPMVERSION@
%if 0%{?is_kotd}
Release: <RELEASE>.g@COMMIT@
%else
Release: @RELEASE@
%endif
Summary: Device Tree files for $MACHINES
License: GPL-2.0-only
Group: System/Boot
URL: https://www.kernel.org/
BuildRequires: cpp
BuildRequires: dtc >= 1.4.3
BuildRequires: xz
$ARCH_RESTRICTIONS
%define dtbdir /boot/dtb-%kernelrelease
@SOURCES@
Requires: kernel = %version
%description
Device Tree files for $MACHINES.
$SUBPKG_DESC
%prep
# Unpack all sources and patches
%setup -q -c -T -a 0 @UNPACK_PATCHES@
cd linux-%srcversion
%_sourcedir/apply-patches %_sourcedir/series.conf ..
%build
source=linux-%srcversion
cp $source/COPYING .
SRCDIR=$PWD/$source
mkdir pp
PPDIR=$PWD/pp
export DTC_FLAGS="-R 4 -p 0x1000"
DTC_FLAGS="$DTC_FLAGS -@"
cd $source/$DTS_folder
for dts in $ALL_SUPPORTED_DTB; do
target=${dts%*.dts}
mkdir -p $PPDIR/$(dirname $target)
cpp -x assembler-with-cpp -undef -D__DTS__ -nostdinc -I. -I$SRCDIR/include/ -I$SRCDIR/scripts/dtc/include-prefixes/ -P $target.dts -o $PPDIR/$target.dts
dtc $DTC_FLAGS -I dts -O dtb -i ./$(dirname $target) -o $PPDIR/$target.dtb $PPDIR/$target.dts
done
%install
cd pp
for dts in $ALL_SUPPORTED_DTB; do
target=${dts%*.dts}
install -m 755 -d %{buildroot}%{dtbdir}/$(dirname $target)
# install -m 644 COPYING %{buildroot}%{dtbdir}/$(dirname $target)
install -m 644 $target.dtb %{buildroot}%{dtbdir}/$(dirname $target)
%ifarch %arm aarch64 riscv64
# HACK: work around U-Boot ignoring vendor dir
baselink=%{dtbdir}/$(basename $target).dtb
ln -s $target.dtb %{buildroot}$baselink
%ifarch %arm
case $dts in
$SUBPKG_CASE
esac
echo $baselink >> ../$pkgname.list
%else
vendordir=$(basename $(dirname $target))
echo $baselink >> ../dtb-$vendordir.list
%endif
%endif
done
cd -
%changelog

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

BIN
kabi.tar.bz2 LFS

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -17,32 +17,32 @@
# needssslcertforbuild
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
%define srcversion 6.18
%define patchversion 6.18.2
%define git_commit 94472718bd34ca4adb72d325d55f37bd87bfde65
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
%define livepatch livepatch%{nil}
%define livepatch_rt 1%{nil}
%define livepatch_rt %{nil}
%define sb_efi_only 0
%define split_base 0
%define split_optional 1
%define supported_modules_check 1
%define split_optional 0
%define supported_modules_check 0
%define build_flavor 64kb
%define generate_compile_commands 1
%define use_suse_kabi_tools 1
%define gcc_package gcc13
%define gcc_compiler gcc-13
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,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,arch-symbols,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-64kb
Version: 6.12.0
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.gb00eabe
Release: <RELEASE>.g9447271
%else
Release: 0
%endif
@@ -79,6 +79,11 @@ BuildRequires: dwarves >= 1.22
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# part of elfutils not shipped on SLE 12
%if 0%{?suse_version} >= 1500
# for gendwarfksyms
BuildRequires: libdw-devel
%endif
# required for 50-check-kernel-build-id rpm check
BuildRequires: elfutils
%ifarch %arm
@@ -188,27 +193,11 @@ Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source51: mkspec
Source52: kernel-source%variant.changes
Source53: kernel-source.spec.in
Source54: kernel-binary.spec.in
Source55: kernel-syms.spec.in
Source56: kernel-docs.spec.in
Source57: kernel-cert-subpackage
Source58: constraints.in
Source60: config.sh
Source61: compute-PATCHVERSION.sh
Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
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
Source78: modules.fips
@@ -256,27 +245,11 @@ NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
NoSource: 51
NoSource: 52
NoSource: 53
NoSource: 54
NoSource: 55
NoSource: 56
NoSource: 57
NoSource: 58
NoSource: 60
NoSource: 61
NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 78
@@ -359,11 +332,18 @@ Requires(post): modutils
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -498,11 +478,18 @@ Requires(post): modutils
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -763,6 +750,7 @@ Provides: %name-devel = %version-%source_rel
Provides: multiversion(kernel)
%if ! %build_vanilla && ! %vanilla_only
Requires: kernel-devel%variant = %version-%source_rel
Requires: pesign-obs-integration
Recommends: make
Recommends: gcc
Recommends: perl
@@ -1239,7 +1227,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
@@ -1275,6 +1262,22 @@ if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then
fi
%endif
CONFIG_SUSE_HAVE_STABLE_KABI=""
SHSK_VAL="$(../scripts/config --state SUSE_HAVE_STABLE_KABI)"
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "n" ; then
echo "CONFIG_SUSE_HAVE_STABLE_KABI=n is a mistake with KABI reference data." \
"Create IGNORE-KABI-BADNESS to disable KABI checking."
exit 1
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
-o 0%{?ignore_kabi_badness} -ne 0 \
-o -e %_sourcedir/IGNORE-KABI-BADNESS ; then
CONFIG_SUSE_HAVE_STABLE_KABI="--disable CONFIG_SUSE_HAVE_STABLE_KABI"
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "y" ; then
# only message, not an error
echo "Disable CONFIG_SUSE_HAVE_STABLE_KABI or supply KABI reference data in -%build_flavor."
fi
DEBUG_INFO_TYPE="$(grep "CONFIG_DEBUG_INFO_DWARF.*=y" .config)"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE%%=y}"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE##CONFIG_DEBUG_INFO_}"
@@ -1284,13 +1287,7 @@ echo "Kernel debuginfo type: ${DEBUG_INFO_TYPE}"
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
$CONFIG_SUSE_KERNEL_RELEASED \
%if 0%{?__debug_package:1}
--enable CONFIG_DEBUG_INFO
%else
--disable CONFIG_DEBUG_INFO \
--disable CONFIG_DEBUG_INFO_"${DEBUG_INFO_TYPE}" \
--enable CONFIG_DEBUG_INFO_NONE
%endif
$CONFIG_SUSE_HAVE_STABLE_KABI
if [ %CONFIG_MODULE_SIG = "y" ]; then
if [ -n "%certs" ] ; then
@@ -1406,20 +1403,11 @@ source .kernel-binary.spec.buildenv
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
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
@@ -1428,9 +1416,11 @@ done
%install
%if 0%{?__debug_package:1}
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
%endif
# strip removes too much from the vmlinux ELF binary
export STRIP_KEEP_SYMTAB='*/vmlinux*'
# %kernel_module_directory/%kernelrelease-%build_flavor/source points to the source
@@ -1455,17 +1445,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
@@ -1706,13 +1688,12 @@ if [ %CONFIG_MODULES = y ]; then
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/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 \
! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
"directory to build this kernel even though its badness is" \

File diff suppressed because it is too large Load Diff

View File

@@ -17,32 +17,32 @@
# needssslcertforbuild
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
%define srcversion 6.18
%define patchversion 6.18.2
%define git_commit 94472718bd34ca4adb72d325d55f37bd87bfde65
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
%define livepatch livepatch%{nil}
%define livepatch_rt 1%{nil}
%define livepatch_rt %{nil}
%define sb_efi_only 0
%define split_base 0
%define split_optional 1
%define supported_modules_check 1
%define split_optional 0
%define supported_modules_check 0
%define build_flavor default
%define generate_compile_commands 1
%define use_suse_kabi_tools 1
%define gcc_package gcc13
%define gcc_compiler gcc-13
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,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,arch-symbols,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-default
Version: 6.12.0
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.gb00eabe
Release: <RELEASE>.g9447271
%else
Release: 0
%endif
@@ -79,6 +79,11 @@ BuildRequires: dwarves >= 1.22
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# part of elfutils not shipped on SLE 12
%if 0%{?suse_version} >= 1500
# for gendwarfksyms
BuildRequires: libdw-devel
%endif
# required for 50-check-kernel-build-id rpm check
BuildRequires: elfutils
%ifarch %arm
@@ -93,7 +98,7 @@ BuildRequires: suse-kabi-tools
# 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
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc64le riscv64 s390x x86_64
%ifarch %ix86 x86_64
%define image vmlinuz
@@ -188,27 +193,11 @@ Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source51: mkspec
Source52: kernel-source%variant.changes
Source53: kernel-source.spec.in
Source54: kernel-binary.spec.in
Source55: kernel-syms.spec.in
Source56: kernel-docs.spec.in
Source57: kernel-cert-subpackage
Source58: constraints.in
Source60: config.sh
Source61: compute-PATCHVERSION.sh
Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
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
Source78: modules.fips
@@ -256,27 +245,11 @@ NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
NoSource: 51
NoSource: 52
NoSource: 53
NoSource: 54
NoSource: 55
NoSource: 56
NoSource: 57
NoSource: 58
NoSource: 60
NoSource: 61
NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 78
@@ -359,11 +332,18 @@ Requires(post): modutils
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -396,37 +376,45 @@ Provides: kernel-%build_flavor-base-srchash-%git_commit
Provides: kernel-srchash-%git_commit
# END COMMON DEPS
Provides: %name-srchash-%git_commit
%ifarch %ix86
Provides: kernel-trace = 3.13
Obsoletes: kernel-trace < 3.13
%endif
%ifarch s390x
Provides: kernel-trace = 3.13
Obsoletes: kernel-trace <= 3.13
Obsoletes: kernel-trace < 3.13
%endif
%ifarch x86_64
Provides: kernel-trace = 3.13
Obsoletes: kernel-trace <= 3.13
Obsoletes: kernel-trace < 3.13
Provides: kernel-bigsmp = 3.1
Obsoletes: kernel-bigsmp <= 3.1
Obsoletes: kernel-bigsmp < 3.1
Provides: kernel-desktop = 4.3
Obsoletes: kernel-desktop <= 4.3
Obsoletes: kernel-desktop < 4.3
Provides: kernel-xen = 4.4
Obsoletes: kernel-xen <= 4.4
Obsoletes: kernel-xen < 4.4
Provides: kernel-ec2 = 4.4
Obsoletes: kernel-ec2 <= 4.4
Obsoletes: kernel-ec2 < 4.4
%endif
%ifarch %ix86
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base < 3.13
%endif
%ifarch s390x
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base <= 3.13
Obsoletes: kernel-trace-base < 3.13
%endif
%ifarch x86_64
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base <= 3.13
Obsoletes: kernel-trace-base < 3.13
Provides: kernel-bigsmp-base = 3.1
Obsoletes: kernel-bigsmp-base <= 3.1
Obsoletes: kernel-bigsmp-base < 3.1
Provides: kernel-desktop-base = 4.3
Obsoletes: kernel-desktop-base <= 4.3
Obsoletes: kernel-desktop-base < 4.3
Provides: kernel-xen-base = 4.4
Obsoletes: kernel-xen-base <= 4.4
Obsoletes: kernel-xen-base < 4.4
Provides: kernel-ec2-base = 4.4
Obsoletes: kernel-ec2-base <= 4.4
Obsoletes: kernel-ec2-base < 4.4
%endif
%obsolete_rebuilds %name
@@ -527,11 +515,18 @@ Requires(post): modutils
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -563,21 +558,25 @@ Provides: kernel = %version-%source_rel
Provides: kernel-%build_flavor-base-srchash-%git_commit
Provides: kernel-srchash-%git_commit
%ifarch %ix86
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base < 3.13
%endif
%ifarch s390x
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base <= 3.13
Obsoletes: kernel-trace-base < 3.13
%endif
%ifarch x86_64
Provides: kernel-trace-base = 3.13
Obsoletes: kernel-trace-base <= 3.13
Obsoletes: kernel-trace-base < 3.13
Provides: kernel-bigsmp-base = 3.1
Obsoletes: kernel-bigsmp-base <= 3.1
Obsoletes: kernel-bigsmp-base < 3.1
Provides: kernel-desktop-base = 4.3
Obsoletes: kernel-desktop-base <= 4.3
Obsoletes: kernel-desktop-base < 4.3
Provides: kernel-xen-base = 4.4
Obsoletes: kernel-xen-base <= 4.4
Obsoletes: kernel-xen-base < 4.4
Provides: kernel-ec2-base = 4.4
Obsoletes: kernel-ec2-base <= 4.4
Obsoletes: kernel-ec2-base < 4.4
%endif
%obsolete_rebuilds %name-base
%ifarch %ix86
@@ -636,21 +635,25 @@ Requires(pre): coreutils awk
Requires(post): modutils
Requires(post): perl-Bootloader
Requires(post): dracut
%ifarch %ix86
Provides: kernel-trace-extra = 3.13
Obsoletes: kernel-trace-extra < 3.13
%endif
%ifarch s390x
Provides: kernel-trace-extra = 3.13
Obsoletes: kernel-trace-extra <= 3.13
Obsoletes: kernel-trace-extra < 3.13
%endif
%ifarch x86_64
Provides: kernel-trace-extra = 3.13
Obsoletes: kernel-trace-extra <= 3.13
Obsoletes: kernel-trace-extra < 3.13
Provides: kernel-bigsmp-extra = 3.1
Obsoletes: kernel-bigsmp-extra <= 3.1
Obsoletes: kernel-bigsmp-extra < 3.1
Provides: kernel-desktop-extra = 4.3
Obsoletes: kernel-desktop-extra <= 4.3
Obsoletes: kernel-desktop-extra < 4.3
Provides: kernel-xen-extra = 4.4
Obsoletes: kernel-xen-extra <= 4.4
Obsoletes: kernel-xen-extra < 4.4
Provides: kernel-ec2-extra = 4.4
Obsoletes: kernel-ec2-extra <= 4.4
Obsoletes: kernel-ec2-extra < 4.4
%endif
%obsolete_rebuilds %name-extra
Supplements: packageand(product(SLED):%{name}_%_target_cpu)
@@ -722,21 +725,25 @@ Requires(pre): coreutils awk
Requires(post): modutils
Requires(post): perl-Bootloader
Requires(post): dracut
%ifarch %ix86
Provides: kernel-trace-optional = 3.13
Obsoletes: kernel-trace-optional < 3.13
%endif
%ifarch s390x
Provides: kernel-trace-optional = 3.13
Obsoletes: kernel-trace-optional <= 3.13
Obsoletes: kernel-trace-optional < 3.13
%endif
%ifarch x86_64
Provides: kernel-trace-optional = 3.13
Obsoletes: kernel-trace-optional <= 3.13
Obsoletes: kernel-trace-optional < 3.13
Provides: kernel-bigsmp-optional = 3.1
Obsoletes: kernel-bigsmp-optional <= 3.1
Obsoletes: kernel-bigsmp-optional < 3.1
Provides: kernel-desktop-optional = 4.3
Obsoletes: kernel-desktop-optional <= 4.3
Obsoletes: kernel-desktop-optional < 4.3
Provides: kernel-xen-optional = 4.4
Obsoletes: kernel-xen-optional <= 4.4
Obsoletes: kernel-xen-optional < 4.4
Provides: kernel-ec2-optional = 4.4
Obsoletes: kernel-ec2-optional <= 4.4
Obsoletes: kernel-ec2-optional < 4.4
%endif
%obsolete_rebuilds %name-optional
Supplements: packageand(product(Leap):%{name}_%_target_cpu)
@@ -831,6 +838,7 @@ Provides: %name-devel = %version-%source_rel
Provides: multiversion(kernel)
%if ! %build_vanilla && ! %vanilla_only
Requires: kernel-devel%variant = %version-%source_rel
Requires: pesign-obs-integration
Recommends: make
Recommends: gcc
Recommends: perl
@@ -853,21 +861,25 @@ Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%ifarch %ix86
Provides: kernel-trace-devel = 3.13
Obsoletes: kernel-trace-devel < 3.13
%endif
%ifarch s390x
Provides: kernel-trace-devel = 3.13
Obsoletes: kernel-trace-devel <= 3.13
Obsoletes: kernel-trace-devel < 3.13
%endif
%ifarch x86_64
Provides: kernel-trace-devel = 3.13
Obsoletes: kernel-trace-devel <= 3.13
Obsoletes: kernel-trace-devel < 3.13
Provides: kernel-bigsmp-devel = 3.1
Obsoletes: kernel-bigsmp-devel <= 3.1
Obsoletes: kernel-bigsmp-devel < 3.1
Provides: kernel-desktop-devel = 4.3
Obsoletes: kernel-desktop-devel <= 4.3
Obsoletes: kernel-desktop-devel < 4.3
Provides: kernel-xen-devel = 4.4
Obsoletes: kernel-xen-devel <= 4.4
Obsoletes: kernel-xen-devel < 4.4
Provides: kernel-ec2-devel = 4.4
Obsoletes: kernel-ec2-devel <= 4.4
Obsoletes: kernel-ec2-devel < 4.4
%endif
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -1323,7 +1335,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
@@ -1359,6 +1370,22 @@ if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then
fi
%endif
CONFIG_SUSE_HAVE_STABLE_KABI=""
SHSK_VAL="$(../scripts/config --state SUSE_HAVE_STABLE_KABI)"
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "n" ; then
echo "CONFIG_SUSE_HAVE_STABLE_KABI=n is a mistake with KABI reference data." \
"Create IGNORE-KABI-BADNESS to disable KABI checking."
exit 1
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
-o 0%{?ignore_kabi_badness} -ne 0 \
-o -e %_sourcedir/IGNORE-KABI-BADNESS ; then
CONFIG_SUSE_HAVE_STABLE_KABI="--disable CONFIG_SUSE_HAVE_STABLE_KABI"
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "y" ; then
# only message, not an error
echo "Disable CONFIG_SUSE_HAVE_STABLE_KABI or supply KABI reference data in -%build_flavor."
fi
DEBUG_INFO_TYPE="$(grep "CONFIG_DEBUG_INFO_DWARF.*=y" .config)"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE%%=y}"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE##CONFIG_DEBUG_INFO_}"
@@ -1368,13 +1395,7 @@ echo "Kernel debuginfo type: ${DEBUG_INFO_TYPE}"
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
$CONFIG_SUSE_KERNEL_RELEASED \
%if 0%{?__debug_package:1}
--enable CONFIG_DEBUG_INFO
%else
--disable CONFIG_DEBUG_INFO \
--disable CONFIG_DEBUG_INFO_"${DEBUG_INFO_TYPE}" \
--enable CONFIG_DEBUG_INFO_NONE
%endif
$CONFIG_SUSE_HAVE_STABLE_KABI
if [ %CONFIG_MODULE_SIG = "y" ]; then
if [ -n "%certs" ] ; then
@@ -1490,20 +1511,11 @@ source .kernel-binary.spec.buildenv
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
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
@@ -1512,9 +1524,11 @@ done
%install
%if 0%{?__debug_package:1}
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
%endif
# strip removes too much from the vmlinux ELF binary
export STRIP_KEEP_SYMTAB='*/vmlinux*'
# %kernel_module_directory/%kernelrelease-%build_flavor/source points to the source
@@ -1539,17 +1553,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
@@ -1790,13 +1796,12 @@ if [ %CONFIG_MODULES = y ]; then
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/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 \
! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
"directory to build this kernel even though its badness is" \

File diff suppressed because it is too large Load Diff

View File

@@ -16,21 +16,21 @@
#
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
%define srcversion 6.18
%define patchversion 6.18.2
%define git_commit 94472718bd34ca4adb72d325d55f37bd87bfde65
%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,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,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,arch-symbols,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-docs
Version: 6.12.0
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.gb00eabe
Release: <RELEASE>.g9447271
%else
Release: 0
%endif
@@ -105,27 +105,11 @@ Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source51: mkspec
Source52: kernel-source%variant.changes
Source53: kernel-source.spec.in
Source54: kernel-binary.spec.in
Source55: kernel-syms.spec.in
Source56: kernel-docs.spec.in
Source57: kernel-cert-subpackage
Source58: constraints.in
Source60: config.sh
Source61: compute-PATCHVERSION.sh
Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
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
Source78: modules.fips
@@ -173,27 +157,11 @@ NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
NoSource: 51
NoSource: 52
NoSource: 53
NoSource: 54
NoSource: 55
NoSource: 56
NoSource: 57
NoSource: 58
NoSource: 60
NoSource: 61
NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 78

View File

@@ -1,181 +0,0 @@
#
# spec file for package kernel-docs@VARIANT@
#
# Copyright (c) @YEAR@ SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define srcversion @SRCVERSION@
%define patchversion @PATCHVERSION@
%define git_commit @COMMIT_FULL@
%define variant @VARIANT@%{nil}
%define build_html @BUILD_HTML@
%define build_pdf @BUILD_PDF@
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{@SCRIPTS@})
Name: kernel-docs@VARIANT@
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
# TW (4.13 or later) no longer needs xmlto
%if 0%{?sle_version}
BuildRequires: xmlto
%endif
%if %build_pdf || %build_html
# ReST handling
BuildRequires: ImageMagick
BuildRequires: graphviz
BuildRequires: graphviz-gd
BuildRequires: graphviz-gnome
%if ! 0%{?suse_version} || 0%{?suse_version} > 1500
BuildRequires: python3-base
BuildRequires: python3-PyYAML
BuildRequires: python3-Sphinx
BuildRequires: texlive-amscls
%else
%if 0%{?suse_version} && 0%{?suse_version} < 1500
BuildRequires: python-packaging
BuildRequires: python-six
BuildRequires: python-Sphinx
%else
BuildRequires: python3-base
BuildRequires: python3-Sphinx < 3
%endif
%endif
BuildRequires: texlive-anyfontsize
%if %build_pdf
%if 0%{?suse_version} && 0%{?suse_version} < 1500
BuildRequires: python-Sphinx-latex
%else
BuildRequires: python3-base
BuildRequires: python3-Sphinx-latex
%endif
BuildRequires: texlive-adjustbox
BuildRequires: texlive-dejavu
BuildRequires: texlive-dejavu-fonts
BuildRequires: texlive-glyphlist
BuildRequires: texlive-makeindex
BuildRequires: texlive-varwidth
BuildRequires: texlive-xetex
BuildRequires: texlive-zapfding
%endif
%endif
BuildArch: noarch
@SOURCES@
Provides: %name = %version-%source_rel
Provides: %name-srchash-%git_commit
%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)
Group: Documentation/Other
%description pdf
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
%package html
Summary: Kernel Documentation (HTML)
Group: Documentation/HTML
%description 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
%setup -q -c -T -a 0 @UNPACK_PATCHES@
cp -a linux-%srcversion/{COPYING,CREDITS,MAINTAINERS,README} .
cp %_sourcedir/old_changelog.txt .
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
mkdir -p html
make %{?make_arg} O=$PWD/html \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
PYTHON=python3 \
%endif
htmldocs
%endif
%if %build_pdf
mkdir -p pdf
make %{?make_arg} O=$PWD/pdf \
%if ! 0%{?suse_version} || 0%{?suse_version} >= 1500
PYTHON=python3 \
%endif
pdfdocs
%endif
%install
cd linux-%srcversion
%if %build_html
install -d %{buildroot}%{_datadir}/doc/kernel/html/rst
cp -a html/Documentation/output/* %{buildroot}%{_datadir}/doc/kernel/html/rst || true
%endif
%if %build_pdf
install -d %{buildroot}%{_datadir}/doc/kernel/pdf
for i in pdf/Documentation/output/latex/*.pdf; do
cp -a $i %{buildroot}%{_datadir}/doc/kernel/pdf
done
%endif
%changelog

File diff suppressed because it is too large Load Diff

View File

@@ -17,32 +17,32 @@
# needssslcertforbuild
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
%define srcversion 6.18
%define patchversion 6.18.2
%define git_commit 94472718bd34ca4adb72d325d55f37bd87bfde65
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
%define livepatch livepatch%{nil}
%define livepatch_rt 1%{nil}
%define livepatch_rt %{nil}
%define sb_efi_only 0
%define split_base 0
%define split_optional 1
%define supported_modules_check 1
%define split_optional 0
%define supported_modules_check 0
%define build_flavor kvmsmall
%define generate_compile_commands 1
%define use_suse_kabi_tools 1
%define gcc_package gcc13
%define gcc_compiler gcc-13
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,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,arch-symbols,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-kvmsmall
Version: 6.12.0
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.gb00eabe
Release: <RELEASE>.g9447271
%else
Release: 0
%endif
@@ -79,6 +79,11 @@ BuildRequires: dwarves >= 1.22
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# part of elfutils not shipped on SLE 12
%if 0%{?suse_version} >= 1500
# for gendwarfksyms
BuildRequires: libdw-devel
%endif
# required for 50-check-kernel-build-id rpm check
BuildRequires: elfutils
%ifarch %arm
@@ -188,27 +193,11 @@ Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source51: mkspec
Source52: kernel-source%variant.changes
Source53: kernel-source.spec.in
Source54: kernel-binary.spec.in
Source55: kernel-syms.spec.in
Source56: kernel-docs.spec.in
Source57: kernel-cert-subpackage
Source58: constraints.in
Source60: config.sh
Source61: compute-PATCHVERSION.sh
Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
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
Source78: modules.fips
@@ -256,27 +245,11 @@ NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
NoSource: 51
NoSource: 52
NoSource: 53
NoSource: 54
NoSource: 55
NoSource: 56
NoSource: 57
NoSource: 58
NoSource: 60
NoSource: 61
NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 78
@@ -359,11 +332,18 @@ Requires(post): modutils
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -502,11 +482,18 @@ Requires(post): modutils
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -779,6 +766,7 @@ Provides: %name-devel = %version-%source_rel
Provides: multiversion(kernel)
%if ! %build_vanilla && ! %vanilla_only
Requires: kernel-devel%variant = %version-%source_rel
Requires: pesign-obs-integration
Recommends: make
Recommends: gcc
Recommends: perl
@@ -1255,7 +1243,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
@@ -1291,6 +1278,22 @@ if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then
fi
%endif
CONFIG_SUSE_HAVE_STABLE_KABI=""
SHSK_VAL="$(../scripts/config --state SUSE_HAVE_STABLE_KABI)"
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "n" ; then
echo "CONFIG_SUSE_HAVE_STABLE_KABI=n is a mistake with KABI reference data." \
"Create IGNORE-KABI-BADNESS to disable KABI checking."
exit 1
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
-o 0%{?ignore_kabi_badness} -ne 0 \
-o -e %_sourcedir/IGNORE-KABI-BADNESS ; then
CONFIG_SUSE_HAVE_STABLE_KABI="--disable CONFIG_SUSE_HAVE_STABLE_KABI"
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "y" ; then
# only message, not an error
echo "Disable CONFIG_SUSE_HAVE_STABLE_KABI or supply KABI reference data in -%build_flavor."
fi
DEBUG_INFO_TYPE="$(grep "CONFIG_DEBUG_INFO_DWARF.*=y" .config)"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE%%=y}"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE##CONFIG_DEBUG_INFO_}"
@@ -1300,13 +1303,7 @@ echo "Kernel debuginfo type: ${DEBUG_INFO_TYPE}"
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
$CONFIG_SUSE_KERNEL_RELEASED \
%if 0%{?__debug_package:1}
--enable CONFIG_DEBUG_INFO
%else
--disable CONFIG_DEBUG_INFO \
--disable CONFIG_DEBUG_INFO_"${DEBUG_INFO_TYPE}" \
--enable CONFIG_DEBUG_INFO_NONE
%endif
$CONFIG_SUSE_HAVE_STABLE_KABI
if [ %CONFIG_MODULE_SIG = "y" ]; then
if [ -n "%certs" ] ; then
@@ -1422,20 +1419,11 @@ source .kernel-binary.spec.buildenv
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
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
@@ -1444,9 +1432,11 @@ done
%install
%if 0%{?__debug_package:1}
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
%endif
# strip removes too much from the vmlinux ELF binary
export STRIP_KEEP_SYMTAB='*/vmlinux*'
# %kernel_module_directory/%kernelrelease-%build_flavor/source points to the source
@@ -1471,17 +1461,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
@@ -1722,13 +1704,12 @@ if [ %CONFIG_MODULES = y ]; then
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/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 \
! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
"directory to build this kernel even though its badness is" \

197200
kernel-lpae.changes Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,5 @@
#
# spec file for package kernel-rt
# spec file for package kernel-lpae
#
# Copyright (c) 2025 SUSE LLC
#
@@ -17,36 +17,36 @@
# needssslcertforbuild
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
%define srcversion 6.18
%define patchversion 6.18.2
%define git_commit 94472718bd34ca4adb72d325d55f37bd87bfde65
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
%define livepatch livepatch%{nil}
%define livepatch_rt 1%{nil}
%define livepatch_rt %{nil}
%define sb_efi_only 0
%define split_base 0
%define split_optional 1
%define supported_modules_check 1
%define build_flavor rt
%define split_optional 0
%define supported_modules_check 0
%define build_flavor lpae
%define generate_compile_commands 1
%define use_suse_kabi_tools 1
%define gcc_package gcc13
%define gcc_compiler gcc-13
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,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,arch-symbols,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-rt
Version: 6.12.0
Name: kernel-lpae
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.gb00eabe
Release: <RELEASE>.g9447271
%else
Release: 0
%endif
Summary: Kernel with PREEMPT_RT (realtime) support
Summary: Kernel for LPAE enabled systems
License: GPL-2.0-only
Group: System/Kernel
URL: https://www.kernel.org/
@@ -79,6 +79,11 @@ BuildRequires: dwarves >= 1.22
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# part of elfutils not shipped on SLE 12
%if 0%{?suse_version} >= 1500
# for gendwarfksyms
BuildRequires: libdw-devel
%endif
# required for 50-check-kernel-build-id rpm check
BuildRequires: elfutils
%ifarch %arm
@@ -93,7 +98,7 @@ BuildRequires: suse-kabi-tools
# 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
ExclusiveArch: aarch64 x86_64
ExclusiveArch: armv7hl
%ifarch %ix86 x86_64
%define image vmlinuz
@@ -188,27 +193,11 @@ Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source51: mkspec
Source52: kernel-source%variant.changes
Source53: kernel-source.spec.in
Source54: kernel-binary.spec.in
Source55: kernel-syms.spec.in
Source56: kernel-docs.spec.in
Source57: kernel-cert-subpackage
Source58: constraints.in
Source60: config.sh
Source61: compute-PATCHVERSION.sh
Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
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
Source78: modules.fips
@@ -256,27 +245,11 @@ NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
NoSource: 51
NoSource: 52
NoSource: 53
NoSource: 54
NoSource: 55
NoSource: 56
NoSource: 57
NoSource: 58
NoSource: 60
NoSource: 61
NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 78
@@ -359,11 +332,18 @@ Requires(post): modutils
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -396,14 +376,6 @@ Provides: kernel-%build_flavor-base-srchash-%git_commit
Provides: kernel-srchash-%git_commit
# END COMMON DEPS
Provides: %name-srchash-%git_commit
%ifarch x86_64
Provides: kernel-compute = 3.13
Obsoletes: kernel-compute <= 3.13
%endif
%ifarch x86_64
Provides: kernel-compute-base = 3.13
Obsoletes: kernel-compute-base <= 3.13
%endif
%obsolete_rebuilds %name
%define kmp_target_cpu %_target_cpu
@@ -437,9 +409,8 @@ Provides: kernel-preempt_%_target_cpu = %version-%source_rel
}
%description
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.
The kernel for all 32-bit ARM platforms that support LPAE. This includes all
Cortex A15 based SoCs, like the Exynos5, OMAP5 or Calxeda ECX-2000.
%source_timestamp
@@ -483,7 +454,7 @@ deterministic worst case behaviour than the default kernel.
%if "%CONFIG_MODULES" == "y" && %split_base
%package base
Summary: Kernel with PREEMPT_RT (realtime) support - base modules
Summary: Kernel for LPAE enabled systems - base modules
Group: System/Kernel
Url: http://www.kernel.org/
Provides: kernel-base = %version-%source_rel
@@ -505,11 +476,18 @@ Requires(post): modutils
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -541,19 +519,14 @@ Provides: kernel = %version-%source_rel
Provides: kernel-%build_flavor-base-srchash-%git_commit
Provides: kernel-srchash-%git_commit
%ifarch x86_64
Provides: kernel-compute-base = 3.13
Obsoletes: kernel-compute-base <= 3.13
%endif
%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
%description base
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.
The kernel for all 32-bit ARM platforms that support LPAE. This includes all
Cortex A15 based SoCs, like the Exynos5, OMAP5 or Calxeda ECX-2000.
This package contains only the base modules, required in all installs.
@@ -593,7 +566,7 @@ This package contains only the base modules, required in all installs.
%endif
%package extra
Summary: Kernel with PREEMPT_RT (realtime) support - Unsupported kernel modules
Summary: Kernel for LPAE enabled systems - Unsupported kernel modules
Group: System/Kernel
URL: https://www.kernel.org/
Provides: %name-extra_%_target_cpu = %version-%source_rel
@@ -604,10 +577,6 @@ Requires(pre): coreutils awk
Requires(post): modutils
Requires(post): perl-Bootloader
Requires(post): dracut
%ifarch x86_64
Provides: kernel-compute-extra = 3.13
Obsoletes: kernel-compute-extra <= 3.13
%endif
%obsolete_rebuilds %name-extra
Supplements: packageand(product(SLED):%{name}_%_target_cpu)
Supplements: packageand(product(sle-we):%{name}_%_target_cpu)
@@ -623,9 +592,8 @@ Provides: kernel-preempt-extra_%_target_cpu = %version-%source_rel
%endif
%description extra
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.
The kernel for all 32-bit ARM platforms that support LPAE. This includes all
Cortex A15 based SoCs, like the Exynos5, OMAP5 or Calxeda ECX-2000.
This package contains additional modules not supported by SUSE.
@@ -669,7 +637,7 @@ This package contains additional modules not supported by SUSE.
%if %split_extra && %split_optional
%package optional
Summary: Kernel with PREEMPT_RT (realtime) support - Optional kernel modules
Summary: Kernel for LPAE enabled systems - Optional kernel modules
Group: System/Kernel
URL: https://www.kernel.org/
Provides: %name-optional_%_target_cpu = %version-%source_rel
@@ -680,10 +648,6 @@ Requires(pre): coreutils awk
Requires(post): modutils
Requires(post): perl-Bootloader
Requires(post): dracut
%ifarch x86_64
Provides: kernel-compute-optional = 3.13
Obsoletes: kernel-compute-optional <= 3.13
%endif
%obsolete_rebuilds %name-optional
Supplements: packageand(product(Leap):%{name}_%_target_cpu)
%ifarch %ix86
@@ -697,9 +661,8 @@ Provides: kernel-preempt-optional_%_target_cpu = %version-%source_rel
%endif
%description optional
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.
The kernel for all 32-bit ARM platforms that support LPAE. This includes all
Cortex A15 based SoCs, like the Exynos5, OMAP5 or Calxeda ECX-2000.
This package contains optional modules only for openSUSE Leap.
@@ -779,6 +742,7 @@ Provides: %name-devel = %version-%source_rel
Provides: multiversion(kernel)
%if ! %build_vanilla && ! %vanilla_only
Requires: kernel-devel%variant = %version-%source_rel
Requires: pesign-obs-integration
Recommends: make
Recommends: gcc
Recommends: perl
@@ -801,10 +765,6 @@ Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
%ifarch x86_64
Provides: kernel-compute-devel = 3.13
Obsoletes: kernel-compute-devel <= 3.13
%endif
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -1259,7 +1219,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
@@ -1295,6 +1254,22 @@ if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then
fi
%endif
CONFIG_SUSE_HAVE_STABLE_KABI=""
SHSK_VAL="$(../scripts/config --state SUSE_HAVE_STABLE_KABI)"
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "n" ; then
echo "CONFIG_SUSE_HAVE_STABLE_KABI=n is a mistake with KABI reference data." \
"Create IGNORE-KABI-BADNESS to disable KABI checking."
exit 1
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
-o 0%{?ignore_kabi_badness} -ne 0 \
-o -e %_sourcedir/IGNORE-KABI-BADNESS ; then
CONFIG_SUSE_HAVE_STABLE_KABI="--disable CONFIG_SUSE_HAVE_STABLE_KABI"
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "y" ; then
# only message, not an error
echo "Disable CONFIG_SUSE_HAVE_STABLE_KABI or supply KABI reference data in -%build_flavor."
fi
DEBUG_INFO_TYPE="$(grep "CONFIG_DEBUG_INFO_DWARF.*=y" .config)"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE%%=y}"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE##CONFIG_DEBUG_INFO_}"
@@ -1304,13 +1279,7 @@ echo "Kernel debuginfo type: ${DEBUG_INFO_TYPE}"
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
$CONFIG_SUSE_KERNEL_RELEASED \
%if 0%{?__debug_package:1}
--enable CONFIG_DEBUG_INFO
%else
--disable CONFIG_DEBUG_INFO \
--disable CONFIG_DEBUG_INFO_"${DEBUG_INFO_TYPE}" \
--enable CONFIG_DEBUG_INFO_NONE
%endif
$CONFIG_SUSE_HAVE_STABLE_KABI
if [ %CONFIG_MODULE_SIG = "y" ]; then
if [ -n "%certs" ] ; then
@@ -1426,20 +1395,11 @@ source .kernel-binary.spec.buildenv
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
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
@@ -1448,9 +1408,11 @@ done
%install
%if 0%{?__debug_package:1}
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
%endif
# strip removes too much from the vmlinux ELF binary
export STRIP_KEEP_SYMTAB='*/vmlinux*'
# %kernel_module_directory/%kernelrelease-%build_flavor/source points to the source
@@ -1475,17 +1437,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
@@ -1726,13 +1680,12 @@ if [ %CONFIG_MODULES = y ]; then
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/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 \
! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
"directory to build this kernel even though its badness is" \

File diff suppressed because it is too large Load Diff

View File

@@ -19,7 +19,7 @@
#!BuildIgnore: post-build-checks
%define patchversion 6.12.0
%define patchversion 6.18.2
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
@@ -38,23 +38,23 @@
%endif
%endif
%endif
%global kernel_package kernel%kernel_flavor-srchash-b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
%global kernel_package kernel%kernel_flavor-srchash-94472718bd34ca4adb72d325d55f37bd87bfde65
%endif
%if 0%{?rhel_version}
%global kernel_package kernel
%endif
Name: kernel-obs-build
Version: 6.12.0
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.gb00eabe
Release: <RELEASE>.g9447271
%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-b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
Provides: kernel-obs-build-srchash-94472718bd34ca4adb72d325d55f37bd87bfde65
BuildRequires: coreutils
BuildRequires: device-mapper
BuildRequires: dracut
@@ -63,7 +63,7 @@ BuildRequires: util-linux
%if 0%{?suse_version} > 1550 || 0%{?sle_version} > 150200
BuildRequires: zstd
%endif
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: aarch64 armv6hl armv7hl ppc64le riscv64 s390x x86_64
%description
This package is repackaging already compiled kernels to make them usable
@@ -125,7 +125,7 @@ export KERNEL_MODULES="
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"
iso9660 xt_addrtype"
# manually load all modules to make sure they're available
for i in $KERNEL_MODULES; do

View File

@@ -1,183 +0,0 @@
#
# spec file for package kernel-obs-build
#
# Copyright (c) @YEAR@ SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# needsrootforbuild
#!BuildIgnore: post-build-checks
%define patchversion @PATCHVERSION@
%define variant @VARIANT@%{nil}
%include %_sourcedir/kernel-spec-macros
%if 0%{?suse_version}
%if "@OBS_BUILD_VARIANT@"
%global kernel_flavor @OBS_BUILD_VARIANT@
%else
%ifarch %ix86
%global kernel_flavor -pae
%else
%ifarch armv7l armv7hl
%global kernel_flavor -lpae
%else
%global kernel_flavor -default
%endif
%endif
%endif
%global kernel_package kernel%kernel_flavor-srchash-@COMMIT_FULL@
%endif
%if 0%{?rhel_version}
%global kernel_package kernel
%endif
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
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
# set 'date of last password change' to a static value (bsc#1189305)
sed -i 's/^\(root:\*:\)[1-9][0-9]*\(::::::\)/\142\2/' /etc/shadow
mkdir -p /usr/lib/dracut/modules.d/80obs
cat > /usr/lib/dracut/modules.d/80obs/module-setup.sh <<EOF
#!/bin/bash
# called by dracut
check() {
return 0
}
# called by dracut
installkernel() {
hostonly='' instmods obs
}
# called by dracut
install() {
inst_hook pre-udev 10 "\$moddir"/setup_obs.sh
}
EOF
chmod a+rx /usr/lib/dracut/modules.d/80obs/module-setup.sh
cat > /usr/lib/dracut/modules.d/80obs/setup_obs.sh <<EOF
#!/bin/sh
info "Loading kernel modules for OBS"
info " Loop..."
modprobe -q loop max_loop=64
info " binfmt misc..."
modprobe -q binfmt_misc
EOF
chmod a+rx /usr/lib/dracut/modules.d/80obs/setup_obs.sh
# Configure systemd in kernel-obs-build's initrd not to limit TasksMax,
# we run with build as PID 1 (boo#965564)
echo "DefaultTasksMax=infinity" >> /etc/systemd/system.conf
echo "DefaultTasksAccounting=no" >> /etc/systemd/system.conf
echo 127.0.0.1 localhost > /etc/hosts # omit build-machine host name (boo#1084909)
# 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
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
(
echo "info ' $i'"
echo "modprobe -q $i"
) >> /usr/lib/dracut/modules.d/80obs/setup_obs.sh
done
ROOT=""
[ -e "/dev/vda" ] && ROOT="-d /dev/vda"
[ -e /dev/hda1 ] && ROOT="-d /dev/hda1" # for xen builds
%define kernel_name vmlinu?
%ifarch s390 s390x
%define kernel_name image
%endif
%ifarch %arm
%define kernel_name zImage
%endif
%ifarch aarch64 riscv64
%define kernel_name Image
%endif
# --host-only mode is needed for unlimited TasksMax workaround (boo#965564)
dracut --reproducible --host-only --no-hostonly-cmdline \
--no-early-microcode --nofscks --strip --hardlink \
--drivers="$KERNEL_MODULES" --force /tmp/initrd.kvm \
%if 0%{?suse_version} > 1550 || 0%{?sle_version} > 150200
--compress "zstd -19 -T0" \
%endif
$(echo /boot/%{kernel_name}-*%{kernel_flavor} | sed -n -e 's,[^-]*-\(.*'%{kernel_flavor}'\),\1,p')
#cleanup
rm -rf /usr/lib/dracut/modules.d/80obs
%install
install -d -m 0755 %{buildroot}
cp -v /boot/%{kernel_name}-*%{kernel_flavor} %{buildroot}/.build.kernel.kvm
cp -v /tmp/initrd.kvm %{buildroot}/.build.initrd.kvm
# inform worker kernel parameters to invoke
CMDLINE="elevator=noop nmi_watchdog=0 rw ia32_emulation=1"
echo "$CMDLINE" > %{buildroot}/.build.cmdline.kvm
# inform worker about availability of virtio-serial
touch %{buildroot}/.build.console.kvm
if grep -qx CONFIG_VIRTIO_CONSOLE=y /boot/config-*%{kernel_flavor} ; then
echo "virtio" > %{buildroot}/.build.console.kvm
fi
#inform worker about arch
#see obs-build commit e47399d738e51
uname -m > %{buildroot}/.build.hostarch.kvm
%changelog

File diff suppressed because it is too large Load Diff

View File

@@ -17,15 +17,15 @@
# needsrootforbuild
%define patchversion 6.12.0
%define patchversion 6.18.2
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
Name: kernel-obs-qa
Version: 6.12.0
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.gb00eabe
Release: <RELEASE>.g9447271
%else
Release: 0
%endif
@@ -35,9 +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-srchash-b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
%if ! 0%{?qemu_user_space_build}
BuildRequires: kernel-obs-build-srchash-94472718bd34ca4adb72d325d55f37bd87bfde65
%endif
BuildRequires: modutils
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: aarch64 armv6hl armv7hl ppc64le riscv64 s390x x86_64
%description
This package is using the kernel compiled within Open Build Service(OBS)

View File

@@ -1,72 +0,0 @@
#
# spec file for package kernel-obs-qa
#
# Copyright (c) @YEAR@ SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
# needsrootforbuild
%define patchversion @PATCHVERSION@
%define variant @VARIANT@%{nil}
%include %_sourcedir/kernel-spec-macros
Name: kernel-obs-qa
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
BuildRequires: kernel-obs-build-srchash-@COMMIT_FULL@
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
%check
# More tests are comming, currently the main test is the existens of
# this spec file. It does trigger a build within OBS VM which is using
# the kernel of the same project.
# test suites should be packaged in other packages, but build required
# and called here.
krel=$(uname -r)
if test ! -d "/lib/modules/$krel/kernel" && test ! -d "/usr/lib/modules/$krel/kernel"; then
echo "Kernel package for $krel not installed; exiting"
exit 0
fi
/sbin/modprobe loop
%install
mkdir -p %{buildroot}/usr/share/%name
touch %{buildroot}/usr/share/%name/logfile
%changelog

197200
kernel-pae.changes Normal file

File diff suppressed because it is too large Load Diff

2035
kernel-pae.spec Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -16,21 +16,21 @@
#
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
%define srcversion 6.18
%define patchversion 6.18.2
%define git_commit 94472718bd34ca4adb72d325d55f37bd87bfde65
%define variant %{nil}
%define gcc_package gcc13
%define gcc_compiler gcc-13
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,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,arch-symbols,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-source
Version: 6.12.0
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.gb00eabe
Release: <RELEASE>.g9447271
%else
Release: 0
%endif
@@ -44,6 +44,7 @@ BuildRequires: bash-sh
%endif
BuildRequires: coreutils
BuildRequires: fdupes
BuildRequires: python3-base
BuildRequires: sed
BuildArch: noarch
Prefix: /usr/src
@@ -79,27 +80,11 @@ Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source51: mkspec
Source52: kernel-source%variant.changes
Source53: kernel-source.spec.in
Source54: kernel-binary.spec.in
Source55: kernel-syms.spec.in
Source56: kernel-docs.spec.in
Source57: kernel-cert-subpackage
Source58: constraints.in
Source60: config.sh
Source61: compute-PATCHVERSION.sh
Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
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
Source78: modules.fips

View File

@@ -1,333 +0,0 @@
#
# spec file for package kernel-source@VARIANT@
#
# Copyright (c) @YEAR@ SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define srcversion @SRCVERSION@
%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
%(chmod +x %_sourcedir/{@SCRIPTS@})
Name: kernel-source@VARIANT@
Version: @RPMVERSION@
%if 0%{?is_kotd}
Release: <RELEASE>.g@COMMIT@
%else
Release: @RELEASE@
%endif
Summary: The Linux Kernel Sources
License: GPL-2.0-only
Group: Development/Sources
URL: https://www.kernel.org/
AutoReqProv: off
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
BuildRequires: bash-sh
%endif
BuildRequires: coreutils
BuildRequires: fdupes
BuildRequires: 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
Source2: linux.keyring
%endif
Source3: kernel-source.rpmlintrc
Source14: series.conf
Source16: guards
Source17: apply-patches
Source19: kernel-binary-conflicts
Source20: obsolete-kmps
Source21: config.conf
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source40: source-timestamp
Source46: split-modules
Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source51: mkspec
Source52: kernel-source%variant.changes
Source53: kernel-source.spec.in
Source54: kernel-binary.spec.in
Source55: kernel-syms.spec.in
Source56: kernel-docs.spec.in
Source57: kernel-cert-subpackage
Source58: constraints.in
Source60: config.sh
Source61: compute-PATCHVERSION.sh
Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
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
Source78: modules.fips
Source79: splitflist
Source80: mergedep
Source81: moddep
Source82: modflist
Source83: kernel-subpackage-build
Source84: kernel-subpackage-spec
Source85: kernel-default-base.spec.txt
Source86: old_changelog.txt
Source100: config.tar.bz2
Source101: config.addon.tar.bz2
Source102: patches.arch.tar.bz2
Source103: patches.drivers.tar.bz2
Source104: patches.fixes.tar.bz2
Source105: patches.rpmify.tar.bz2
Source106: patches.suse.tar.bz2
Source108: patches.addon.tar.bz2
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
Source113: patches.kabi.tar.bz2
Source114: patches.drm.tar.bz2
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
Requires(post): coreutils sed
# Source is only complete with devel files.
Requires: kernel-devel%variant = %version-%source_rel
Provides: %name = %version-%source_rel
Provides: %name-srchash-%git_commit
Provides: linux
Provides: multiversion(kernel)
# extra packages needed for building a kernel from scratch
Recommends: bc
Recommends: bison
Recommends: flex
Recommends: libelf-devel
Recommends: openssl-devel
# pahole needed for BTF
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
Recommends: dwarves >= 1.22
%endif
# dracut no longer carries installkernel
%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
# 1) allow install on older dist versions, and
# 2) decrease build times (bsc#962356 boo#1175882)
%define _binary_payload w9.bzdio
%define symbols %(set -- $([ -e %_sourcedir/extra-symbols ] && cat %_sourcedir/extra-symbols) ; echo $*)
%define do_vanilla "%variant" == ""
%description
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
Summary: Development files needed for building kernel modules
Group: Development/Sources
AutoReqProv: off
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
Summary: RPM macros for building Kernel Module Packages
Group: Development/Sources
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
Group: Development/Sources
AutoReqProv: off
Provides: %name-vanilla = %version-%source_rel
Provides: multiversion(kernel)
Requires: kernel-macros
# dracut no longer carries installkernel
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
Recommends: kernel-install-tools
%endif
%description vanilla
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"
# Unpack all sources and patches
%setup -q -c -T @UNPACK_PATCHES@
%build
%install
mkdir -p %{buildroot}/usr/src
pushd %{buildroot}/usr/src
# Unpack the vanilla kernel sources
tar -xf %{S:0}
find . -xtype l -delete -printf "deleted '%f'\n"
if test "%srcversion" != "%kernelrelease%variant"; then
mv linux-%srcversion linux-%kernelrelease%variant
fi
%if %do_vanilla
cp -al \
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
cd ..
%endif
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
cat %_sourcedir/localversion > localversion
fi
# Hardlink duplicate files automatically (from package fdupes).
%fdupes $PWD
cd ..
popd
# Install the documentation and example Kernel Module Package.
DOC=/usr/share/doc/packages/%name-%kernelrelease
mkdir -p %buildroot/$DOC
cp %_sourcedir/README.SUSE %buildroot/$DOC
ln -s $DOC/README.SUSE %buildroot/%src_install_dir/
%if "%variant" == ""
install -m 755 -d %{buildroot}%{_rpmmacrodir}
install -m 644 %_sourcedir/macros.kernel-source %{buildroot}%{_rpmmacrodir}
echo "%%kernel_module_directory %{kernel_module_directory}" >> %{buildroot}%{_rpmmacrodir}/macros.kernel-source
install -m 755 -d %{buildroot}/usr/lib/rpm
install -m 644 %_sourcedir/kernel-{module,cert}-subpackage \
%{buildroot}/usr/lib/rpm/
install -m 755 -d %{buildroot}/usr/lib/rpm/kernel
install -m 755 %_sourcedir/{splitflist,mergedep,moddep,modflist,kernel-subpackage-build} %{buildroot}/usr/lib/rpm/kernel
install -m 644 %_sourcedir/kernel-subpackage-spec %{buildroot}/usr/lib/rpm/kernel
install -m 644 %_sourcedir/kernel-spec-macros %{buildroot}/usr/lib/rpm/kernel
install -m 644 -T %_sourcedir/kernel-default-base.spec.txt %{buildroot}/usr/lib/rpm/kernel/kernel-default-base.spec
%endif
pushd "%buildroot"
perl "%_sourcedir/group-source-files.pl" \
-D "$OLDPWD/devel.files" -N "$OLDPWD/nondevel.files" \
-L "%src_install_dir"
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_ }' \
-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
# (/usr/src/linux-obj). We rely on the git commit timestamp to not point into
# 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 -print0 | xargs -0 touch -d "$ts"
%changelog

View File

@@ -60,7 +60,11 @@ while read name mode size mtime link; do
(( p != 0 )) || p=''
if (( t == 0100000 )); then
install -D -m "${p:-0644}" /dev/null "$RPM_BUILD_ROOT$name"
dd if=/dev/null bs=1 count=0 status=none seek="$size" of="$RPM_BUILD_ROOT$name"
if [ -f "$RPM_BUILD_ROOT$name".xz ] ; then xzcat "$RPM_BUILD_ROOT$name".xz > "$RPM_BUILD_ROOT$name"
elif [ -f "$RPM_BUILD_ROOT$name".gz ] ; then zcat "$RPM_BUILD_ROOT$name".gz > "$RPM_BUILD_ROOT$name"
elif [ -f "$RPM_BUILD_ROOT$name".zst ] ; then zstdcat "$RPM_BUILD_ROOT$name".zst > "$RPM_BUILD_ROOT$name"
else dd if=/dev/null bs=1 count=0 status=none seek="$size" of="$RPM_BUILD_ROOT$name"
fi
touch -h --date="@$mtime" "$RPM_BUILD_ROOT$name"
elif (( t == 0040000 )); then
install -d -m "${p:-0755}" "$RPM_BUILD_ROOT$name"

View File

@@ -91,6 +91,13 @@ 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*'
# Modules should be already signed, do not sign again (bsc#1251930)
export BRP_PESIGN_FILES=""
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

@@ -16,39 +16,39 @@
#
%define git_commit b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
%define git_commit 94472718bd34ca4adb72d325d55f37bd87bfde65
%define variant %{nil}
%include %_sourcedir/kernel-spec-macros
Name: kernel-syms
Version: 6.12.0
%if %using_buildservice
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.gb00eabe
Release: <RELEASE>.g9447271
%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
ExclusiveArch: aarch64 ppc64le s390x x86_64
ExclusiveArch: %ix86 aarch64 armv6hl armv7hl ppc64le riscv64 s390x x86_64
Prefix: /usr/src
AutoReqProv: off
Source: README.KSYMS
%ifarch aarch64
Requires: kernel-64kb-devel = %version-%source_rel
%endif
%ifarch aarch64 ppc64le s390x x86_64
%ifarch aarch64 armv6hl armv7hl %ix86 ppc64le riscv64 s390x x86_64
Requires: kernel-default-devel = %version-%source_rel
%endif
Requires: pesign-obs-integration
%ifarch armv7hl
Requires: kernel-lpae-devel = %version-%source_rel
%endif
%ifarch %ix86
Requires: kernel-pae-devel = %version-%source_rel
%endif
Requires: kernel-devel%variant = %version-%source_rel
Provides: %name = %version-%source_rel
Provides: %name-srchash-%git_commit

View File

@@ -1,77 +0,0 @@
#
# spec file for package kernel-syms@VARIANT@
#
# Copyright (c) @YEAR@ SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define git_commit @COMMIT_FULL@
%define variant @VARIANT@%{nil}
%include %_sourcedir/kernel-spec-macros
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
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)
# Force bzip2 instead of lzma compression to
# 1) allow install on older dist versions, and
# 2) decrease build times (bsc#962356 boo#1175882)
%define _binary_payload w9.bzdio
%description
Kernel symbols, such as functions and variables, have version
information attached to them. This package contains the symbol versions
for the standard kernels.
This package is needed for compiling kernel module packages with proper
package dependencies.
%source_timestamp
%files
%dir %_docdir/%name
%_docdir/%name/README.SUSE
%prep
%install
install -m 644 -D %{SOURCE0} %buildroot/%_docdir/%name/README.SUSE
%changelog

197200
kernel-vanilla.changes Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
#
# spec file for package kernel-@FLAVOR@
# spec file for package kernel-vanilla
#
# Copyright (c) @YEAR@ SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,36 +17,36 @@
# needssslcertforbuild
%define srcversion @SRCVERSION@
%define patchversion @PATCHVERSION@
%define git_commit @COMMIT_FULL@
%define variant @VARIANT@%{nil}
%define compress_modules @COMPRESS_MODULES@
%define compress_vmlinux @COMPRESS_VMLINUX@
%define livepatch @LIVEPATCH@%{nil}
%define livepatch_rt @LIVEPATCH_RT@%{nil}
%define sb_efi_only @SB_EFI_ONLY@
%define split_base @SPLIT_BASE@
%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@
%define srcversion 6.18
%define patchversion 6.18.2
%define git_commit 94472718bd34ca4adb72d325d55f37bd87bfde65
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
%define livepatch livepatch%{nil}
%define livepatch_rt %{nil}
%define sb_efi_only 0
%define split_base 0
%define split_optional 0
%define supported_modules_check 0
%define build_flavor vanilla
%define generate_compile_commands 1
%define use_suse_kabi_tools 1
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{@SCRIPTS@})
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,arch-symbols,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-@FLAVOR@
Version: @RPMVERSION@
Name: kernel-vanilla
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.g@COMMIT@
Release: <RELEASE>.g9447271
%else
Release: @RELEASE@
Release: 0
%endif
Summary: @SUMMARY@
Summary: The Standard Kernel - without any SUSE patches
License: GPL-2.0-only
Group: System/Kernel
URL: https://www.kernel.org/
@@ -79,6 +79,11 @@ BuildRequires: dwarves >= 1.22
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# part of elfutils not shipped on SLE 12
%if 0%{?suse_version} >= 1500
# for gendwarfksyms
BuildRequires: libdw-devel
%endif
# required for 50-check-kernel-build-id rpm check
BuildRequires: elfutils
%ifarch %arm
@@ -93,7 +98,7 @@ BuildRequires: suse-kabi-tools
# 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
ExclusiveArch: @ARCHS@
ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc64le riscv64 s390x x86_64
%ifarch %ix86 x86_64
%define image vmlinuz
@@ -168,7 +173,109 @@ ExclusiveArch: @ARCHS@
echo -n "$space$cert" ; space=" " \
done )
@SOURCES@
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz
Source3: kernel-source.rpmlintrc
Source14: series.conf
Source16: guards
Source17: apply-patches
Source19: kernel-binary-conflicts
Source20: obsolete-kmps
Source21: config.conf
Source23: supported.conf
Source33: check-for-config-changes
Source35: group-source-files.pl
Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
Source40: source-timestamp
Source46: split-modules
Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source52: kernel-source%variant.changes
Source57: kernel-cert-subpackage
Source60: config.sh
Source63: arch-symbols
Source65: kernel-spec-macros
Source75: release-projects
Source76: check-module-license
Source78: modules.fips
Source79: splitflist
Source80: mergedep
Source81: moddep
Source82: modflist
Source83: kernel-subpackage-build
Source84: kernel-subpackage-spec
Source85: kernel-default-base.spec.txt
Source86: old_changelog.txt
Source100: config.tar.bz2
Source101: config.addon.tar.bz2
Source102: patches.arch.tar.bz2
Source103: patches.drivers.tar.bz2
Source104: patches.fixes.tar.bz2
Source105: patches.rpmify.tar.bz2
Source106: patches.suse.tar.bz2
Source108: patches.addon.tar.bz2
Source109: patches.kernel.org.tar.bz2
Source110: patches.apparmor.tar.bz2
Source111: patches.rt.tar.bz2
Source113: patches.kabi.tar.bz2
Source114: patches.drm.tar.bz2
Source120: kabi.tar.bz2
Source121: sysctl.tar.bz2
# These files are found in the kernel-source package:
NoSource: 0
NoSource: 3
NoSource: 14
NoSource: 16
NoSource: 17
NoSource: 19
NoSource: 20
NoSource: 21
NoSource: 23
NoSource: 33
NoSource: 35
NoSource: 36
NoSource: 37
NoSource: 38
NoSource: 40
NoSource: 46
NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
NoSource: 52
NoSource: 57
NoSource: 60
NoSource: 63
NoSource: 65
NoSource: 75
NoSource: 76
NoSource: 78
NoSource: 79
NoSource: 80
NoSource: 81
NoSource: 82
NoSource: 83
NoSource: 84
NoSource: 85
NoSource: 86
NoSource: 100
NoSource: 101
NoSource: 102
NoSource: 103
NoSource: 104
NoSource: 105
NoSource: 106
NoSource: 108
NoSource: 109
NoSource: 110
NoSource: 111
NoSource: 113
NoSource: 114
NoSource: 120
NoSource: 121
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
@@ -225,11 +332,18 @@ Requires(post): modutils
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -262,8 +376,6 @@ Provides: kernel-%build_flavor-base-srchash-%git_commit
Provides: kernel-srchash-%git_commit
# END COMMON DEPS
Provides: %name-srchash-%git_commit
@PROVIDES_OBSOLETES@
@PROVIDES_OBSOLETES_BASE@
%obsolete_rebuilds %name
%define kmp_target_cpu %_target_cpu
@@ -297,7 +409,7 @@ Provides: kernel-preempt_%_target_cpu = %version-%source_rel
}
%description
@DESCRIPTION@
The standard kernel - without any SUSE patches
%source_timestamp
@@ -341,21 +453,78 @@ Provides: kernel-preempt_%_target_cpu = %version-%source_rel
%if "%CONFIG_MODULES" == "y" && %split_base
%package base
Summary: @SUMMARY@ - base modules
Summary: The Standard Kernel - without any SUSE patches - base modules
Group: System/Kernel
Url: http://www.kernel.org/
Provides: kernel-base = %version-%source_rel
Provides: multiversion(kernel)
Conflicts: %name = %version-%source_rel
@COMMON_DEPS@
@PROVIDES_OBSOLETES_BASE@
Requires(pre): suse-kernel-rpm-scriptlets
Requires(post): suse-kernel-rpm-scriptlets
Requires: suse-kernel-rpm-scriptlets
Requires(preun): suse-kernel-rpm-scriptlets
Requires(postun): suse-kernel-rpm-scriptlets
Requires(pre): coreutils awk
# For /usr/lib/module-init-tools/weak-modules2 and /usr/lib/modprobe.d/*.conf
Requires(post): suse-module-tools
Requires: suse-module-tools
# For depmod (modutils is a dependency provided by both module-init-tools and
# kmod-compat)
Requires(post): modutils
# Use OrderWithRequires to instruct the package manager to schedule the
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
%if %{usrmerged}
# make sure we have a post-usrmerge system
Conflicts: filesystem < 16
%endif
Obsoletes: microcode_ctl < 1.18
%{lua: fd, err = io.open(rpm.expand('%_sourcedir') .. '/kernel-binary-conflicts')
if not fd then io.stderr:write(err) end
unpack = table.unpack or unpack
for l in fd:lines() do
if #l > 0 and l:sub(1,1) ~= '#' then
words = {} ; for w in l:gmatch("([^%s]+)%s*") do table.insert(words, w) end
package, version = unpack(words)
print('Conflicts: ' .. package .. ' < '.. version .. '\n')
end
end
fd:close()
}
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
Provides: kernel = %version-%source_rel
Provides: kernel-%build_flavor-base-srchash-%git_commit
Provides: kernel-srchash-%git_commit
%obsolete_rebuilds %name-base
%ifarch %ix86
Conflicts: libc.so.6()(64bit)
%endif
%description base
@DESCRIPTION@
The standard kernel - without any SUSE patches
This package contains only the base modules, required in all installs.
@@ -395,7 +564,7 @@ This package contains only the base modules, required in all installs.
%endif
%package extra
Summary: @SUMMARY@ - Unsupported kernel modules
Summary: The Standard Kernel - without any SUSE patches - Unsupported kernel modules
Group: System/Kernel
URL: https://www.kernel.org/
Provides: %name-extra_%_target_cpu = %version-%source_rel
@@ -406,7 +575,6 @@ Requires(pre): coreutils awk
Requires(post): modutils
Requires(post): perl-Bootloader
Requires(post): dracut
@PROVIDES_OBSOLETES_EXTRA@
%obsolete_rebuilds %name-extra
Supplements: packageand(product(SLED):%{name}_%_target_cpu)
Supplements: packageand(product(sle-we):%{name}_%_target_cpu)
@@ -422,7 +590,7 @@ Provides: kernel-preempt-extra_%_target_cpu = %version-%source_rel
%endif
%description extra
@DESCRIPTION@
The standard kernel - without any SUSE patches
This package contains additional modules not supported by SUSE.
@@ -466,7 +634,7 @@ This package contains additional modules not supported by SUSE.
%if %split_extra && %split_optional
%package optional
Summary: @SUMMARY@ - Optional kernel modules
Summary: The Standard Kernel - without any SUSE patches - Optional kernel modules
Group: System/Kernel
URL: https://www.kernel.org/
Provides: %name-optional_%_target_cpu = %version-%source_rel
@@ -477,7 +645,6 @@ Requires(pre): coreutils awk
Requires(post): modutils
Requires(post): perl-Bootloader
Requires(post): dracut
@PROVIDES_OBSOLETES_OPTIONAL@
%obsolete_rebuilds %name-optional
Supplements: packageand(product(Leap):%{name}_%_target_cpu)
%ifarch %ix86
@@ -491,7 +658,7 @@ Provides: kernel-preempt-optional_%_target_cpu = %version-%source_rel
%endif
%description optional
@DESCRIPTION@
The standard kernel - without any SUSE patches
This package contains optional modules only for openSUSE Leap.
@@ -571,6 +738,7 @@ Provides: %name-devel = %version-%source_rel
Provides: multiversion(kernel)
%if ! %build_vanilla && ! %vanilla_only
Requires: kernel-devel%variant = %version-%source_rel
Requires: pesign-obs-integration
Recommends: make
Recommends: gcc
Recommends: perl
@@ -593,7 +761,6 @@ Provides: kernel-preempt-devel = %version-%release
%endif
%endif
Requires: %gcc_package
@PROVIDES_OBSOLETES_DEVEL@
%obsolete_rebuilds %name-devel
PreReq: coreutils
@@ -673,60 +840,289 @@ set of functions where a code from another function can eventually occur.
%endif
%if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y"
# BEGIN KMP
%package -n @KMP_NAME@-%build_flavor
Summary: @KMP_SUMMARY@
%package -n cluster-md-kmp-%build_flavor
Summary: Clustering support for MD devices
Group: System/Kernel
Requires: %name = %version-%source_rel
Provides: @KMP_NAME@ = %version-%source_rel
Provides: cluster-md-kmp = %version-%source_rel
Provides: multiversion(kernel)
# tell weak-modules2 to ignore this package
Provides: kmp_in_kernel
Requires(post): suse-module-tools >= 12.4
%if %build_default
%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
Provides: @KMP_NAME@-preempt = %version-%release
Provides: cluster-md-kmp-preempt = %version-%release
%endif
%endif
Enhances: %name
Supplements: packageand(%name:@KMP_NAME@-%build_flavor)
@KMP_DEPS@
Supplements: packageand(%name:cluster-md-kmp-%build_flavor)
Requires: dlm-kmp-%build_flavor = %version-%release
%description -n @KMP_NAME@-%build_flavor
@KMP_DESCRIPTION@
%description -n cluster-md-kmp-%build_flavor
Clustering support for MD devices. This enables locking and
synchronization across multiple systems on the cluster, so all
nodes in the cluster can access the MD devices simultaneously.
%pre -n @KMP_NAME@-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "@KMP_NAME@-%build_flavor" \
%pre -n cluster-md-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "cluster-md-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%post -n @KMP_NAME@-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "@KMP_NAME@-%build_flavor" \
%post -n cluster-md-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "cluster-md-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%preun -n @KMP_NAME@-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "@KMP_NAME@-%build_flavor" \
%preun -n cluster-md-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "cluster-md-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%postun -n @KMP_NAME@-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "@KMP_NAME@-%build_flavor" \
%postun -n cluster-md-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "cluster-md-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%posttrans -n @KMP_NAME@-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "@KMP_NAME@-%build_flavor" \
%posttrans -n cluster-md-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "cluster-md-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%files -n @KMP_NAME@-%build_flavor -f @KMP_NAME@.files
# END KMP
%files -n cluster-md-kmp-%build_flavor -f cluster-md-kmp.files
%package -n dlm-kmp-%build_flavor
Summary: DLM kernel modules
Group: System/Kernel
Requires: %name = %version-%source_rel
Provides: dlm-kmp = %version-%source_rel
Provides: multiversion(kernel)
# tell weak-modules2 to ignore this package
Provides: kmp_in_kernel
Requires(post): suse-module-tools >= 12.4
%if %build_default
%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
Provides: dlm-kmp-preempt = %version-%release
%endif
%endif
Enhances: %name
Supplements: packageand(%name:dlm-kmp-%build_flavor)
%description -n dlm-kmp-%build_flavor
DLM stands for Distributed Lock Manager, a means to synchronize access to
shared resources over the cluster.
%pre -n dlm-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "dlm-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%post -n dlm-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "dlm-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%preun -n dlm-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "dlm-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%postun -n dlm-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "dlm-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%posttrans -n dlm-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "dlm-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%files -n dlm-kmp-%build_flavor -f dlm-kmp.files
%package -n gfs2-kmp-%build_flavor
Summary: GFS2 kernel modules
Group: System/Kernel
Requires: %name = %version-%source_rel
Provides: gfs2-kmp = %version-%source_rel
Provides: multiversion(kernel)
# tell weak-modules2 to ignore this package
Provides: kmp_in_kernel
Requires(post): suse-module-tools >= 12.4
%if %build_default
%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
Provides: gfs2-kmp-preempt = %version-%release
%endif
%endif
Enhances: %name
Supplements: packageand(%name:gfs2-kmp-%build_flavor)
Requires: dlm-kmp-%build_flavor = %version-%release
%description -n gfs2-kmp-%build_flavor
GFS2 is Global Filesystem, a shared device filesystem.
%pre -n gfs2-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "gfs2-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%post -n gfs2-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "gfs2-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%preun -n gfs2-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "gfs2-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%postun -n gfs2-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "gfs2-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%posttrans -n gfs2-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "gfs2-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%files -n gfs2-kmp-%build_flavor -f gfs2-kmp.files
%package -n kselftests-kmp-%build_flavor
Summary: Kernel sefltests
Group: System/Kernel
Requires: %name = %version-%source_rel
Provides: kselftests-kmp = %version-%source_rel
Provides: multiversion(kernel)
# tell weak-modules2 to ignore this package
Provides: kmp_in_kernel
Requires(post): suse-module-tools >= 12.4
%if %build_default
%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
Provides: kselftests-kmp-preempt = %version-%release
%endif
%endif
Enhances: %name
Supplements: packageand(%name:kselftests-kmp-%build_flavor)
%description -n kselftests-kmp-%build_flavor
This package contains kernel modules which are part of the upstream kernel
selftest effort. kselftest is the name of the upstream kernel target to build
and run all selftests. You can also run each test individually from the
respective upstream tools/testing/selftests/ directory, this package is
intended to be used using individial upstream selftest scripts given only
select supported selftest drivers are enabled.
It should always be possible to always run the latest linux-next version of the
selftest scripts and tests against any older kernel selftest driver. Certain
tests facilities may be backported onto older kernels to enable further
testing.
Selftests also provide for a vehicle or proof of concept issues to be
reproduced, verified and corrected.
Selftest drivers are intended to be supported only in testing and QA
environments, they are not intended to be run on production systems.
%pre -n kselftests-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "kselftests-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%post -n kselftests-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "kselftests-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%preun -n kselftests-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "kselftests-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%postun -n kselftests-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "kselftests-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%posttrans -n kselftests-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "kselftests-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%files -n kselftests-kmp-%build_flavor -f kselftests-kmp.files
%package -n ocfs2-kmp-%build_flavor
Summary: OCFS2 kernel modules
Group: System/Kernel
Requires: %name = %version-%source_rel
Provides: ocfs2-kmp = %version-%source_rel
Provides: multiversion(kernel)
# tell weak-modules2 to ignore this package
Provides: kmp_in_kernel
Requires(post): suse-module-tools >= 12.4
%if %build_default
%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
Provides: ocfs2-kmp-preempt = %version-%release
%endif
%endif
Enhances: %name
Supplements: packageand(%name:ocfs2-kmp-%build_flavor)
Requires: dlm-kmp-%build_flavor = %version-%release
%description -n ocfs2-kmp-%build_flavor
OCFS2 is the Oracle Cluster Filesystem, a filesystem for shared devices
accessible simultaneously from multiple nodes of a cluster.
%pre -n ocfs2-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "ocfs2-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%post -n ocfs2-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "ocfs2-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%preun -n ocfs2-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "ocfs2-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%postun -n ocfs2-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "ocfs2-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%posttrans -n ocfs2-kmp-%build_flavor
%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "ocfs2-kmp-%build_flavor" \
--version "%version" --release "%release" --kernelrelease "%kernelrelease" \
--image "%image" --flavor "%build_flavor" --variant "%variant" \
--usrmerged "%{usrmerged}" --certs "%certs" "$@"
%files -n ocfs2-kmp-%build_flavor -f ocfs2-kmp.files
%endif # %CONFIG_SUSE_KERNEL_SUPPORTED
%endif # %CONFIG_MODULES
@@ -744,7 +1140,7 @@ if test -e %_sourcedir/extra-symbols; then
fi
# Unpack all sources and patches
%setup -q -c -T -a 0 @UNPACK_PATCHES@
%setup -q -c -T -a 0 -a 100 -a 101 -a 102 -a 103 -a 104 -a 105 -a 106 -a 108 -a 109 -a 110 -a 111 -a 113 -a 114 -a 120 -a 121
mkdir -p %kernel_build_dir
@@ -771,7 +1167,7 @@ awk '{
subpackages=(
base
%if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y"
@KMPS@
cluster-md-kmp dlm-kmp gfs2-kmp kselftests-kmp ocfs2-kmp
%endif
)
for package in "${subpackages[@]}"; do
@@ -819,7 +1215,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
@@ -855,6 +1250,22 @@ if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then
fi
%endif
CONFIG_SUSE_HAVE_STABLE_KABI=""
SHSK_VAL="$(../scripts/config --state SUSE_HAVE_STABLE_KABI)"
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "n" ; then
echo "CONFIG_SUSE_HAVE_STABLE_KABI=n is a mistake with KABI reference data." \
"Create IGNORE-KABI-BADNESS to disable KABI checking."
exit 1
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
-o 0%{?ignore_kabi_badness} -ne 0 \
-o -e %_sourcedir/IGNORE-KABI-BADNESS ; then
CONFIG_SUSE_HAVE_STABLE_KABI="--disable CONFIG_SUSE_HAVE_STABLE_KABI"
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "y" ; then
# only message, not an error
echo "Disable CONFIG_SUSE_HAVE_STABLE_KABI or supply KABI reference data in -%build_flavor."
fi
DEBUG_INFO_TYPE="$(grep "CONFIG_DEBUG_INFO_DWARF.*=y" .config)"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE%%=y}"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE##CONFIG_DEBUG_INFO_}"
@@ -864,13 +1275,7 @@ echo "Kernel debuginfo type: ${DEBUG_INFO_TYPE}"
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
$CONFIG_SUSE_KERNEL_RELEASED \
%if 0%{?__debug_package:1}
--enable CONFIG_DEBUG_INFO
%else
--disable CONFIG_DEBUG_INFO \
--disable CONFIG_DEBUG_INFO_"${DEBUG_INFO_TYPE}" \
--enable CONFIG_DEBUG_INFO_NONE
%endif
$CONFIG_SUSE_HAVE_STABLE_KABI
if [ %CONFIG_MODULE_SIG = "y" ]; then
if [ -n "%certs" ] ; then
@@ -986,20 +1391,11 @@ source .kernel-binary.spec.buildenv
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
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
@@ -1008,9 +1404,11 @@ done
%install
%if 0%{?__debug_package:1}
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
%endif
# strip removes too much from the vmlinux ELF binary
export STRIP_KEEP_SYMTAB='*/vmlinux*'
# %kernel_module_directory/%kernelrelease-%build_flavor/source points to the source
@@ -1035,17 +1433,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
@@ -1286,13 +1676,12 @@ if [ %CONFIG_MODULES = y ]; then
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/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 \
! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
"directory to build this kernel even though its badness is" \

File diff suppressed because it is too large Load Diff

View File

@@ -17,32 +17,32 @@
# needssslcertforbuild
%define srcversion 6.12
%define patchversion 6.12.0
%define git_commit b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
%define srcversion 6.18
%define patchversion 6.18.2
%define git_commit 94472718bd34ca4adb72d325d55f37bd87bfde65
%define variant %{nil}
%define compress_modules zstd
%define compress_vmlinux xz
%define livepatch livepatch%{nil}
%define livepatch_rt 1%{nil}
%define livepatch_rt %{nil}
%define sb_efi_only 0
%define split_base 0
%define split_optional 1
%define supported_modules_check 1
%define split_optional 0
%define supported_modules_check 0
%define build_flavor zfcpdump
%define generate_compile_commands 1
%define use_suse_kabi_tools 1
%define gcc_package gcc13
%define gcc_compiler gcc-13
%define gcc_package gcc
%define gcc_compiler gcc
%include %_sourcedir/kernel-spec-macros
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,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,arch-symbols,check-module-license,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
Name: kernel-zfcpdump
Version: 6.12.0
Version: 6.18.2
%if 0%{?is_kotd}
Release: <RELEASE>.gb00eabe
Release: <RELEASE>.g9447271
%else
Release: 0
%endif
@@ -79,6 +79,11 @@ BuildRequires: dwarves >= 1.22
BuildRequires: %gcc_package
# for objtool
BuildRequires: libelf-devel
# part of elfutils not shipped on SLE 12
%if 0%{?suse_version} >= 1500
# for gendwarfksyms
BuildRequires: libdw-devel
%endif
# required for 50-check-kernel-build-id rpm check
BuildRequires: elfutils
%ifarch %arm
@@ -188,27 +193,11 @@ Source47: modversions
Source48: macros.kernel-source
Source49: kernel-module-subpackage
Source50: kabi.pl
Source51: mkspec
Source52: kernel-source%variant.changes
Source53: kernel-source.spec.in
Source54: kernel-binary.spec.in
Source55: kernel-syms.spec.in
Source56: kernel-docs.spec.in
Source57: kernel-cert-subpackage
Source58: constraints.in
Source60: config.sh
Source61: compute-PATCHVERSION.sh
Source62: old-flavors
Source63: arch-symbols
Source64: package-descriptions
Source65: kernel-spec-macros
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
Source78: modules.fips
@@ -256,27 +245,11 @@ NoSource: 47
NoSource: 48
NoSource: 49
NoSource: 50
NoSource: 51
NoSource: 52
NoSource: 53
NoSource: 54
NoSource: 55
NoSource: 56
NoSource: 57
NoSource: 58
NoSource: 60
NoSource: 61
NoSource: 62
NoSource: 63
NoSource: 64
NoSource: 65
NoSource: 68
NoSource: 69
NoSource: 70
NoSource: 71
NoSource: 72
NoSource: 73
NoSource: 74
NoSource: 75
NoSource: 76
NoSource: 78
@@ -359,11 +332,18 @@ Requires(post): modutils
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -498,11 +478,18 @@ Requires(post): modutils
# installation of bootloader and dracut related tools as if they were
# required. This will ensure they're there for post scripts without hard
# requiring them. (boo#1228659, boo#1240785)
# But OrderWithRequires is not correctly implemented (bsc#1241513, bsc#1241353)
# Workaround: Add extra suggests for the ordered package
OrderWithRequires(post): udev
Suggests: udev
OrderWithRequires(post): systemd-boot
Suggests: systemd-boot
OrderWithRequires(post): perl-Bootloader
Suggests: perl-Bootloader
OrderWithRequires(post): update-bootloader
Suggests: update-bootloader
OrderWithRequires(post): dracut
Suggests: dracut
# Install the package providing /etc/SuSE-release early enough, so that
# the grub entry has correct title (bnc#757565)
Requires(post): distribution-release
@@ -763,6 +750,7 @@ Provides: %name-devel = %version-%source_rel
Provides: multiversion(kernel)
%if ! %build_vanilla && ! %vanilla_only
Requires: kernel-devel%variant = %version-%source_rel
Requires: pesign-obs-integration
Recommends: make
Recommends: gcc
Recommends: perl
@@ -1239,7 +1227,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
@@ -1275,6 +1262,22 @@ if echo %_project | grep -Eqx -f %_sourcedir/release-projects; then
fi
%endif
CONFIG_SUSE_HAVE_STABLE_KABI=""
SHSK_VAL="$(../scripts/config --state SUSE_HAVE_STABLE_KABI)"
if test -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "n" ; then
echo "CONFIG_SUSE_HAVE_STABLE_KABI=n is a mistake with KABI reference data." \
"Create IGNORE-KABI-BADNESS to disable KABI checking."
exit 1
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor \
-o 0%{?ignore_kabi_badness} -ne 0 \
-o -e %_sourcedir/IGNORE-KABI-BADNESS ; then
CONFIG_SUSE_HAVE_STABLE_KABI="--disable CONFIG_SUSE_HAVE_STABLE_KABI"
elif test ! -e %my_builddir/kabi/%cpu_arch/symvers-%build_flavor -a $SHSK_VAL = "y" ; then
# only message, not an error
echo "Disable CONFIG_SUSE_HAVE_STABLE_KABI or supply KABI reference data in -%build_flavor."
fi
DEBUG_INFO_TYPE="$(grep "CONFIG_DEBUG_INFO_DWARF.*=y" .config)"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE%%=y}"
DEBUG_INFO_TYPE="${DEBUG_INFO_TYPE##CONFIG_DEBUG_INFO_}"
@@ -1284,13 +1287,7 @@ echo "Kernel debuginfo type: ${DEBUG_INFO_TYPE}"
--set-str CONFIG_LOCALVERSION -%source_rel-%build_flavor \
--enable CONFIG_SUSE_KERNEL \
$CONFIG_SUSE_KERNEL_RELEASED \
%if 0%{?__debug_package:1}
--enable CONFIG_DEBUG_INFO
%else
--disable CONFIG_DEBUG_INFO \
--disable CONFIG_DEBUG_INFO_"${DEBUG_INFO_TYPE}" \
--enable CONFIG_DEBUG_INFO_NONE
%endif
$CONFIG_SUSE_HAVE_STABLE_KABI
if [ %CONFIG_MODULE_SIG = "y" ]; then
if [ -n "%certs" ] ; then
@@ -1406,20 +1403,11 @@ source .kernel-binary.spec.buildenv
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
%if 0%{?klp_ipa_clones} && %generate_compile_commands
# Generate compile_commands.json
@@ -1428,9 +1416,11 @@ done
%install
%if 0%{?__debug_package:1}
# get rid of /usr/lib/rpm/brp-strip-debug
# strip removes too much from the vmlinux ELF binary
export NO_BRP_STRIP_DEBUG=true
%endif
# strip removes too much from the vmlinux ELF binary
export STRIP_KEEP_SYMTAB='*/vmlinux*'
# %kernel_module_directory/%kernelrelease-%build_flavor/source points to the source
@@ -1455,17 +1445,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
@@ -1706,13 +1688,12 @@ if [ %CONFIG_MODULES = y ]; then
ksymtypes compare %{?_smp_mflags} \
--filter-symbol-list=%my_builddir/changed-exports \
%my_builddir/kabi/%cpu_arch/symtypes-%build_flavor \
%my_builddir/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 \
! -e %my_builddir/kabi/%cpu_arch/ignore-%build_flavor -a \
! -e %_sourcedir/IGNORE-KABI-BADNESS ]; then
echo "Create a file IGNORE-KABI-BADNESS in the kernel-source" \
"directory to build this kernel even though its badness is" \

View File

@@ -1,19 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Comment: This signature is for the .tar version of the archive
Comment: git archive --format tar --prefix=linux-6.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-----

Binary file not shown.

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

@@ -0,0 +1,19 @@
-----BEGIN PGP SIGNATURE-----
Comment: This signature is for the .tar version of the archive
Comment: git archive --format tar --prefix=linux-6.18/ v6.18
Comment: git version 2.52.0
iQIzBAABCgAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAmktKMYACgkQONu9yGCS
aT4Hgg/+M5KSFON3IFgCtolH4vP13nzEvFRBAAJ2hZdkluN65tWxPzLnBXvCecfj
wep1DXOBS+8GnNfoF1d5S1ZRpBj3gDdh3BRQvowmx1rRXf68PCW7DuVCgO/rs/jS
mtft0v/9z+NHY9tQkpgiFqRQaodCy7CIk2wlHE7tgiU5NAxrYEJgzKCdgJ4meeNp
Y98A1EXzaDV7GRrHjlV2FrredPEpEse/f7XbqKaDKyx5gutQSiL59mLAoZ10jlIr
A8oQJLZpA68fL4I18H1wwviuvqeGkvZO43RfzosUY3p6FJjU6DCWAWXqGo9x+hKq
OfU6EYPcMyBX5jVsMaWNgx/wF7fR+jCMnr2q65kxSA3FYaCgy68UgX3vd8sKMlAI
DudFDGujTIYoaq5hSdP3QiDKv+MJ5ToRZ/A6F16FXkbfi3bip9Na2QlHMQlVNFLK
uXwWqnw3SFWqq1TOoNOv1AjGJCwX/IU2rXbYQQ6XS3+Vj2zSU32HaoEvXQIr7IAv
iX+TjkSxj4Gb8PRtYnlekJ1d9OxuarSzagw9FBXITP3m53pAOtjzsg08ZzFaYlju
wEH7iWeAj2YKGNZuHdgXsExahHuZDBV9gDSwKxjrSDtGwDrHvi1qUU+ge33LF7j2
LZFAzg93Ua/YjlNSsCbeQR0199wPpoAkeStoZa5INabdBKNbZKI=
=2moX
-----END PGP SIGNATURE-----

BIN
linux-6.18.tar.xz LFS Normal file

Binary file not shown.

601
mkspec
View File

@@ -1,601 +0,0 @@
#!/usr/bin/perl
use strict;
use warnings;
use File::Copy;
use Getopt::Long qw(:config no_ignore_case);
my $dir = ".";
my $rpmrelease;
my $patches="";
GetOptions(
"patches=s" => \$patches,
"release=s" => \$rpmrelease
) or die "Usage: $0 [--release <release>] [--patches <dir>]\n";
# flavor -> [supported archs]
my %flavor_archs = parse_config_conf();
# subset to include in kernel-syms
my %syms_flavor_archs = parse_config_conf("syms");
my %all_archs = parse_config_conf("needs_updating");
my @all_archs;
for my $flavor (keys(%all_archs)) {
push(@all_archs, arch2rpm(@{$all_archs{$flavor}}));
}
@all_archs = sort(uniq(@all_archs));
my $all_archs = join(" ", @all_archs);
# template name -> template body
my %templates = read_spec_templates();
my @kmps = read_kmps();
# config.sh variables
my %vars = parse_config_sh();
my ($srcversion, $variant, $obs_build_variant) =
($vars{'SRCVERSION'}, $vars{'VARIANT'}, $vars{'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;
return $arg =~ /^(0+|no|none)$/i ? "" : $arg;
}
my $build_dtbs = detect_false $vars{'BUILD_DTBS'};
my $multibuild = detect_false $vars{'MULTIBUILD'};
my $livepatch = detect_false $vars{'LIVEPATCH'};
my $livepatch_rt = detect_false $vars{'LIVEPATCH_RT'};
sub to_bool {
return detect_false($_[0]) ? 1 : 0 ;
}
my $sb_efi_only = to_bool $vars{'SB_EFI_ONLY'};
my $split_base = to_bool $vars{'SPLIT_BASE'};
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;
}
# package name -> [summary, description, extra kmp deps]
my %binary_descriptions = parse_descriptions();
# arch -> flavor -> [obsoleted packages]
my %obsolete_packages = parse_old_flavors();
$patches="--patches $patches" if $patches;
my $patchversion = `$dir/compute-PATCHVERSION.sh $patches`;
chomp $patchversion;
my $rpmversion = $patchversion;
# stuff the -rcX tag into the rpm version if possible;
$rpmversion =~ s/\.0-rc/~rc/;
$rpmversion =~ s/-rc\d+//;
$rpmversion =~ s/-/./g;
$rpmrelease =~ s/-/./g;
my $sources = join("\n", $templates{source} =~ /^Source\d+:[^\n]*/msg);
# Do not include the signature and keyring as source in the binary packages
# The sources are not really included anyway, and for non-upstream tarballs these files do not exist
$sources = join("\n", grep { $_ !~ /[.](?:keyring|tar[.]sign)\s*$/ } $sources =~ /^[^\n]*/msg);
# Find all SourceN: foo.tar.(bz2|xz) lines and generate the NoSource:
# lines and the %setup line
my @tarballs = ($sources =~ /^Source(\d+):[^\n]*\.tar\.(?:bz2|xz)/msg);
my $nosource = $sources;
$nosource =~ s/^Source(\d+):.*?$/NoSource: $1/mg;
# Source0 (the linux tarball) is unpacked manually
@tarballs = grep { $_ > 0 } @tarballs;
my $unpack_patches = join(" ", map { "-a $_" } @tarballs);
# List of scripts to automatically chmod +x before build
my $scripts = join(",", grep { is_script($_) }
($sources =~ /\nSource\d+:\s*([^\s]*)/mg));
my $tarball_url;
if ($srcversion =~ /^(\d+)(?:\.\d+)*(-rc\d+)?$/) {
$tarball_url = "https://www.kernel.org/pub/linux/kernel/v$1.x/";
$tarball_url = "" if $2; # kernel.org has no tarballs for rc kernels
# rc tarballs only available from git as https://git.kernel.org/torvalds/t/linux-*.gz
} else {
# kernel.org has no tarballs for linux-next or vanilla snapshots
$tarball_url = "";
}
my $commit = get_commit();
my $commit_full = get_commit(1);
my %macros = (
VARIANT => $variant,
OBS_BUILD_VARIANT => $obs_build_variant . "%{nil}",
SRCVERSION => $srcversion,
PATCHVERSION => $patchversion,
RPMVERSION => $rpmversion,
TARBALL_URL => $tarball_url,
RELEASE => $rpmrelease,
COMMIT => $commit,
COMMIT_FULL => $commit_full,
SOURCES => $sources . "\n# These files are found in the kernel-source package:\n" . $nosource,
UNPACK_PATCHES => $unpack_patches,
SCRIPTS => $scripts,
LIVEPATCH => $livepatch,
LIVEPATCH_RT => $livepatch_rt,
SB_EFI_ONLY => $sb_efi_only,
SPLIT_BASE => $split_base,
SPLIT_OPTIONAL => $split_optional,
SUPPORTED_MODULES_CHECK => $supported_modules_check,
BUILD_PDF => $build_pdf,
BUILD_HTML => $build_html,
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
my $kmp_definitions = "";
my @kmp_definitions;
for my $kmp (@kmps) {
my ($summary, $description, $deps);
if (!exists($binary_descriptions{$kmp})) {
print STDERR "warning: no description for $kmp found\n";
($summary = $kmp) =~ s/-kmp$//;
$summary .= " kernel modules";
$description = "$summary.";
$deps = "";
} else {
$summary = $binary_descriptions{$kmp}->[0];
$description = $binary_descriptions{$kmp}->[1];
$deps = $binary_descriptions{$kmp}->[2];
}
push(@kmp_definitions, expand_template("kmp",
KMP_NAME => $kmp,
KMP_SUMMARY => $summary,
KMP_DESCRIPTION => $description,
KMP_DEPS => $deps));
}
$kmp_definitions = join("\n", @kmp_definitions);
for my $flavor (sort keys(%flavor_archs)) {
my ($summary, $description);
if (!exists($binary_descriptions{"kernel-$flavor"})) {
print STDERR "warning: no description for kernel-$flavor found\n";
$summary = "The Linux Kernel";
$description = "The Linux Kernel.";
} else {
$summary = $binary_descriptions{"kernel-$flavor"}->[0];
$description = $binary_descriptions{"kernel-$flavor"}->[1];
}
my %obsolete_macros;
for my $subpac ("", "-base", "-extra", "-devel", "-hmac", "-optional") {
(my $macro = "PROVIDES_OBSOLETES" . uc($subpac)) =~ s/-/_/;
$obsolete_macros{$macro} =
provides_obsoletes($flavor, $subpac, @{$flavor_archs{$flavor}});
}
do_spec('binary', "kernel-$flavor.spec", %macros,
FLAVOR => $flavor,
SUMMARY => $summary,
DESCRIPTION => $description,
ARCHS => join(" ", arch2rpm(@{$flavor_archs{$flavor}})),
COMMON_DEPS => $templates{common_deps},
KMPS => join(" ", @kmps),
KMP_DEFINITIONS => $kmp_definitions,
%obsolete_macros
);
}
# kernel-source.spec
do_spec('source', "kernel-source$variant.spec", %macros);
if ($variant eq "") {
# kernel-docs.spec
do_spec('docs', "kernel-docs$variant.spec", %macros);
}
# kernel-syms.spec
{
my $requires = "";
my %syms_archs;
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";
$requires .= "Requires: kernel-$flavor-devel = \%version-\%source_rel\n";
$requires .= "%endif\n";
}
chomp $requires;
$syms_archs = join(" ", sort(keys(%syms_archs)));
if (keys(%syms_archs)) {
do_spec('syms', "kernel-syms$variant.spec", %macros,
REQUIRES => $requires,
ARCHS => $syms_archs);
}
}
# kernel-obs-*.spec
if (!$variant || $obs_build_variant) {
my @default_archs;
my $flavor = $obs_build_variant;
if ($flavor) {
$flavor =~ s/^-//;
} else {
$flavor = 'default';
}
@default_archs = arch2rpm(@{$flavor_archs{$flavor}});
# No kernel-obs-* for 32bit ppc and x86
@default_archs = grep { $_ ne "ppc" && $_ ne '%ix86' } @default_archs;
my $default_archs = join(" ", @default_archs);
do_spec('obs-build', "kernel-obs-build.spec", %macros,
ARCHS => $default_archs);
do_spec('obs-qa', "kernel-obs-qa.spec", %macros,
ARCHS => $default_archs);
}
# dtb-*.spec
if ((!$variant || $obs_build_variant) && $build_dtbs) {
do_spec('dtb', "dtb.spec.in", %macros);
print "./mkspec-dtb $all_archs\n";
system("./mkspec-dtb $all_archs\n");
unlink("$dir/dtb.spec.in");
if ($?) {
exit(($? >> 8) || ($? & 127 + 128) || 1);
}
}
copy_changes();
# _constraints
{
my @packages = map { "<package>kernel-$_</package>\n<package>kernel-source$variant:kernel-$_</package>" } sort keys(%flavor_archs);
my $packages = join("\n", @packages);
do_spec('constraints', "_constraints",
BINARY_PACKAGES_XML => $packages,
VARIANT => $variant);
}
exit 0;
sub parse_config_conf {
my @symbols = @_;
my $symbols = join(' ', @symbols);
my %res;
for my $arch (split(/\s+/, `$dir/arch-symbols --list`)) {
my @flavors = `$dir/guards $arch $symbols < $dir/config.conf`;
next if @flavors == 0;
chomp @flavors;
@flavors = map { s/.*\///; $_ } @flavors;
for my $flavor (@flavors) {
$res{$flavor} ||= [];
push(@{$res{$flavor}}, $arch);
}
}
for my $flavor (keys(%res)) {
$res{$flavor} = [sort @{$res{$flavor}}];
}
return %res;
}
sub read_spec_templates {
my %res;
for my $template (qw(binary source syms docs obs-build obs-qa)) {
xopen(my $fh, '<', "$dir/kernel-$template.spec.in");
local $/ = undef;
$res{$template} = <$fh>;
close($fh);
next unless $template eq "binary";
if ($res{$template} =~ /^# BEGIN COMMON DEPS\n?(.*)^# END COMMON DEPS/ms) {
$res{common_deps} = $1;
} else {
print STDERR "warning: Expected # BEGIN COMMON DEPS in kernel-binary.spec.in\n";
$res{common_deps} = "";
}
if ($res{$template} =~ s/^# BEGIN KMP\n?(.*)^# END KMP/\@KMP_DEFINITIONS\@/ms) {
$res{kmp} = $1;
} else {
print STDERR "warning: Expected # BEGIN KMP in kernel-binary.spec.in\n";
$res{kmp} = "";
}
}
{
xopen(my $fh, '<', "$dir/constraints.in");
local $/ = undef;
$res{constraints} = <$fh>;
close($fh);
xopen($fh, '<', "$dir/dtb.spec.in.in");
$res{dtb} = <$fh>;
close($fh);
}
return %res;
}
# return a hash of config.sh variables
sub parse_config_sh {
my %res;
xopen(my $fh, '<', "$dir/config.sh");
while (<$fh>) {
chomp;
if (/^\s*([A-Z_]+)=(.*)/) {
my ($key, $val) = ($1, $2);
$val =~ s/^"(.*)"$/$1/;
$res{$key} = $val;
}
}
close($fh);
return %res;
}
sub parse_descriptions {
my %res;
my $current;
my $blank = "";
# 0 - expect summary, 1 - eating blank lines, 2 - reading description
my $state = 0;
xopen(my $fh, '<', "$dir/package-descriptions");
while (<$fh>) {
next if /^\s*#/;
if (/^==+\s+([^\s]+)\s+==+\s*$/) {
my $package = $1;
if ($current) {
chomp $current->[1];
}
$current = ["", "", ""];
$res{$package} = $current;
$state = 0;
next;
}
if (/^$/) {
if ($state == 0) {
$state++;
} elsif ($state == 2) {
$blank .= $_;
}
next;
}
# non-blank line and not === package ===
if ($state == 0) {
chomp;
if (s/^Requires: *//) {
# foo-kmp is a shorthand for another kmp
# from the same specfile
s/-kmp/-kmp-%build_flavor = %version-%release/g;
s/^/Requires: /;
if ($current->[2]) {
$current->[2] .= "\n";
}
$current->[2] .= $_;
} else {
# The Summary: keyword is optional
s/^Summary: *//;
if ($current->[0]) {
print STDERR "warning: multi-line summary\n";
}
$current->[0] = $_;
}
} elsif ($state == 1) {
$current->[1] = $_;
$blank = "";
$state++;
} else {
$current->[1] .= $blank;
$blank = "";
$current->[1] .= $_;
}
}
if ($current) {
chomp $current->[1];
}
close($fh);
return %res;
}
sub read_kmps {
my %res;
open(my $fh, '-|', "$dir/guards", "--list", "--with-guards",
"-c", "$dir/supported.conf") or die "Error running guards: $!\n";
while (<$fh>) {
my @guards = split(' ');
pop(@guards);
for my $g (@guards) {
if ($g =~ /^(?:\+|-!)(.*-kmp)$/) {
$res{$1} = 1;
}
}
}
close($fh) or die "Error running guards: $!\n";
return sort(keys(%res));
}
sub parse_old_flavors{
my %res;
xopen(my $fh, '<', "$dir/old-flavors");
while (<$fh>) {
chomp;
next if /^\s*(#|$)/;
if (!m:^\s*(\w+)/([\w-]+)\s+([\w-]+)\s+([\w.-]+)\s*$:) {
print STDERR "$dir/old-flavors:$.: expected arch/flavor <old flavor> <old version>\n";
next;
}
my ($arch, $flavor, $old_flavor, $old_version) = ($1, $2, $3, $4);
$res{$arch} ||= {};
$res{$arch}{$flavor} ||= [];
push(@{$res{$arch}{$flavor}},
["kernel-$old_flavor", $old_version]);
}
close($fh);
return %res;
}
sub is_script {
my $script = shift;
return undef if $script =~ /\.(tar\.(gz|bz2)|in|conf)$/;
return undef if $script =~ /^README/;
return 1 if $script =~ /\.pl$/;
open(my $fh, '<', $script) or return undef;
sysread($fh, my $shebang, 2);
close($fh);
return 1 if $shebang eq "#!";
return undef;
}
sub arch2rpm {
if (wantarray) {
return map { _arch2rpm($_) } @_;
}
return _arch2rpm($_[0]);
}
sub _arch2rpm {
my $arch = shift;
return "\%ix86" if $arch eq "i386";
return "aarch64" if $arch eq "arm64";
return $arch;
}
sub provides_obsoletes {
my $flavor = shift;
my $subpac = shift;
my @archs = @_;
my $res = "";
for my $arch (@archs) {
my @packs = @{$obsolete_packages{$arch}{$flavor} || []};
my $printed;
next if (!@packs);
my $rpmarch = arch2rpm($arch);
chomp $rpmarch;
for my $pack (@packs) {
my $name = $pack->[0] . $subpac;
my $version = $pack->[1];
if (!$printed) {
$res .= "\%ifarch $rpmarch\n";
$printed = 1;
}
$res .= "Provides: $name = $version\n";
$res .= "Obsoletes: $name <= $version\n";
}
$res .= "\%endif\n" if $printed;
}
chomp $res;
return $res;
}
sub get_commit {
my ($commit, $fh, $full);
$full = $_[0] // 0;
if (!open($fh, '<', "source-timestamp")) {
print STDERR "warning: source-timestamp: $!\n";
print STDERR "warning: Cannot determine commit id\n";
return "0000000";
}
while (<$fh>) {
if ($full ? /^GIT Revision: ([0-9a-f]{40})/ : /^GIT Revision: ([0-9a-f]{7})/) {
$commit = $1;
}
}
close($fh);
if (!$commit) {
print STDERR "warning: Commit id missing in source-timestamp file\n";
return "0000000";
}
return $commit;
}
sub expand_template {
my $template = shift;
my %macros = @_;
my $text = $templates{$template};
my $prev_text;
do {
$prev_text = $text;
for my $m (keys %macros) {
if ($macros{$m} eq "") {
# Do not generate empty lines
$text =~ s/^\@$m\@\n//mg;
}
$text =~ s/\@$m\@/$macros{$m}/g;
}
} while ($prev_text ne $text);
return $text;
}
sub do_spec {
my $template = shift;
my $specfile = shift;
my %macros = @_;
my $text = expand_template($template, %macros);
print "$specfile\n";
xopen(my $fh, '>', "$dir/$specfile");
print $fh $text;
close($fh);
}
sub copy_changes {
opendir(my $dh, $dir) or die "$dir: $!\n";
xopen(my $fh, '>', "$dir/_multibuild") if $multibuild;
print $fh "<multibuild>\n" if $fh;
foreach my $name (sort readdir $dh) {
next unless $name =~ /\.spec$/;
next if $name eq "kernel-source$variant.spec";
$name =~ s/\.spec$//;
copy("$dir/kernel-source$variant.changes", "$dir/$name.changes");
print $fh "\t<package>$name</package>\n" if $fh;
}
print $fh "</multibuild>\n" if $fh;
close($fh) if $fh;
closedir($dh);
}
sub xopen {
open($_[0], $_[1], $_[2]) or die "$_[2]: $!\n";
}
sub uniq {
my %seen;
return grep { !$seen{$_}++ } @_;
}

View File

@@ -1,221 +0,0 @@
#!/usr/bin/perl -w
use strict;
use Data::Dumper;
my $spec_in = "dtb.spec.in";
# DTB packages names, ordered by file names
my @armv7l_package_list = (
['dtb-am335x', 'ti/omap/am335x-*.dts', "TI AM335x based systems"],
['dtb-am3517', 'ti/omap/am3517*.dts', "TI AM3517 based systems"], # exception: am3517_mt_ventoux.dts
['dtb-am57xx', 'ti/omap/am57xx-*.dts', "TI AM57xx based systems"],
['dtb-armada-370', 'marvell/armada-370-*.dts', "Armada 370 based systems"],
['dtb-armada-375', 'marvell/armada-375-*.dts', "Armada 375 based systems"],
['dtb-armada-385', 'marvell/armada-385-*.dts', "Armada 385 based systems"],
['dtb-armada-388', 'marvell/armada-388-*.dts', "Armada 388 based systems"],
['dtb-armada-398', 'marvell/armada-398-*.dts', "Armada 398 based systems"],
['dtb-armada-xp', 'marvell/armada-xp-*.dts', "Armada XP based systems"],
['dtb-bcm2836', 'broadcom/bcm2836*.dts', "Raspberry Pi 2 Model B"],
['dtb-dove', 'marvell/dove-*.dts', "Marvell dove based systems"],
['dtb-exynos4', 'samsung/exynos4*.dts', "Samsung Exynos 4 based systems"],
['dtb-exynos5', 'samsung/exynos5*.dts', "Samsung Exynos 5 based systems"],
['dtb-imx5', 'nxp/imx/imx5*.dts', "Freescale i.MX51 and i.MX53 based systems"],
['dtb-imx6', 'nxp/imx/imx6*.dts', "Freescale i.MX6 based systems"],
['dtb-imx7', 'nxp/imx/imx7*.dts', "Freescale i.MX7 based systems"],
['dtb-keystone', 'ti/keystone/keystone-*.dts', "TI Keystone 2 based systems"],
['dtb-meson6', 'amlogic/meson6-*.dts', "Amlogic Meson 6 based systems"],
['dtb-meson8', 'amlogic/meson8-*.dts', "Amlogic Meson 8 based systems"],
['dtb-meson8b', 'amlogic/meson8b-*.dts', "Amlogic Meson 8b based systems"],
['dtb-mt76', 'mediatek/mt76*.dts', "MediaTek mt76 based systems"],
['dtb-omap3', 'ti/omap/omap3*.dts', "TI OMAP3 based systems"],
['dtb-omap4', 'ti/omap/omap4*.dts', "TI OMAP4 based systems"],
['dtb-omap5', 'ti/omap/omap5*.dts', "TI OMAP5 based systems"],
['dtb-qcom', 'qcom/qcom-*.dts', "Qualcomm Snapdragon based systems"],
['dtb-rk3', 'rockchip/rk3*.dts', "Rockchip RK3xxx based systems"],
['dtb-socfpga', 'intel/socfpga/socfpga_*.dts', "Altera SoC FPGA based systems"],
['dtb-ste', 'st/ste-*.dts', "ST Ericsson based systems"],
['dtb-sun4i', 'allwinner/sun4i-*.dts', "Allwinner sun4i based systems"],
['dtb-sun5i', 'allwinner/sun5i-*.dts', "Allwinner sun5i based systems"],
['dtb-sun6i', 'allwinner/sun6i-*.dts', "Allwinner sun6i based systems"],
['dtb-sun7i', 'allwinner/sun7i-*.dts', "Allwinner sun7i based systems"],
['dtb-sun8i', 'allwinner/sun8i-*.dts', "Allwinner sun8i based systems"],
['dtb-sun9i', 'allwinner/sun9i-*.dts', "Allwinner sun9i based systems"],
['dtb-tegra2', 'nvidia/tegra20-*.dts', "NVidia Tegra2 based systems"],
['dtb-tegra3', 'nvidia/tegra30-*.dts', "NVidia Tegra3 based systems"],
['dtb-tegra114', 'nvidia/tegra114-*.dts', "NVidia Tegra4 based systems"],
['dtb-tegra124', 'nvidia/tegra124-*.dts', "NVidia Tegra K1 based systems"],
['dtb-vexpress', 'arm/vexpress-*.dts', "ARM Versatile Express machines"],
['dtb-vf500', 'nxp/vf/vf500-*.dts', "Freescale Vybrid VF500 based systems"],
['dtb-vf6', 'nxp/vf/vf610-*.dts', "Freescale Vybrid VF610 based systems"],
['dtb-xenvm', 'xen/xenvm-*.dts', "Xen virtual machines"],
['dtb-zynq', 'xilinx/zynq-*.dts', "Xilinx Zynq based systems"],
);
# DTB packages names
my @armv6l_package_list = (
['dtb-bcm2835', 'broadcom/bcm2835*.dts', "Raspberry Pi 1 (A+, B, B+)"],
);
# DTB packages names
my @aarch64_package_list = (
['dtb-allwinner', 'allwinner/*.dts', "Allwinner based arm64 systems"],
['dtb-altera', 'altera/*.dts', "Altera based arm64 systems"],
['dtb-amazon', 'amazon/*.dts', "Amazon based arm64 systems"],
['dtb-amd', 'amd/*.dts', "AMD based arm64 systems"],
['dtb-amlogic', 'amlogic/*.dts', "Amlogic based arm64 systems"],
['dtb-apm', 'apm/*.dts', "AppliedMicro based arm64 systems"],
['dtb-apple', 'apple/*.dts', "Apple SOC based arm64 systems"],
['dtb-arm', 'arm/*.dts', "ARM Ltd. based arm64 systems"],
['dtb-broadcom', 'broadcom/*.dts', "Broadcom based arm64 systems"],
['dtb-cavium', 'cavium/*.dts', "Cavium based arm64 systems"],
['dtb-exynos', 'exynos/*.dts', "Samsung Exynos based arm64 systems"],
['dtb-freescale', 'freescale/*.dts', "NXP (Freescale) based arm64 systems"],
['dtb-hisilicon', 'hisilicon/*.dts', "HiSilicon based arm64 systems"],
['dtb-lg', 'lg/*.dts', "LG based arm64 systems"],
['dtb-marvell', 'marvell/*.dts', "Marvell based arm64 systems"],
['dtb-mediatek', 'mediatek/*.dts', "MediaTek based arm64 systems"],
['dtb-nvidia', 'nvidia/*.dts', "Nvidia based arm64 systems"],
['dtb-qcom', 'qcom/*.dts', "Qualcomm based arm64 systems"],
['dtb-renesas', 'renesas/*.dts', "Renesas based arm64 systems"],
['dtb-rockchip', 'rockchip/*.dts', "Rockchip based arm64 systems"],
['dtb-socionext', 'socionext/*.dts', "Socionext based arm64 systems"],
['dtb-sprd', 'sprd/*.dts', "Spreadtrum based arm64 systems"],
['dtb-xilinx', 'xilinx/*.dts', "Xilinx based arm64 systems"],
);
# DTB packages names
my @riscv64_package_list = (
['dtb-allwinner', 'allwinner/*.dts', "Allwinner based riscv64 systems"],
['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-starfive', 'starfive/*.dts', "StarFive based riscv64 systems"],
);
sub generate_spec($$$)
{
my ($main_package, $exclusive_arch, $package_list) = @_;
print "$main_package.spec\n";
# open .spec and .spec.in files
open (SPEC, ">$main_package.spec") or die "Unable to open $main_package.spec.\n";
open (TEMPLATE, "$spec_in") or die "Unable to open $spec_in.\n";
my $ARCH_RESTRICTIONS = "";
$ARCH_RESTRICTIONS = "ExclusiveArch: $exclusive_arch"
unless ($exclusive_arch eq 'none');
my $subpkg_desc = "";
my $subpkg_case = "";
my $all_supported_dtb = "";
my $DTS_folder = "arch/arm/boot/dts";
if ($exclusive_arch =~ /aarch64/) {
$DTS_folder = "arch/arm64/boot/dts";
} elsif ($exclusive_arch =~ /riscv64/) {
$DTS_folder = "arch/riscv/boot/dts";
}
foreach my $NAME (@$package_list) {
my $PKG_NAME = @{$NAME}[0];
my $SUPPORTED_DTB = @{$NAME}[1];
my $MACHINES = @{$NAME}[2];
$subpkg_desc .=
"%package -n $PKG_NAME\n" .
"Summary: $MACHINES\n" .
"Group: System/Boot\n";
if ($PKG_NAME eq 'dtb-keystone' and $main_package eq 'dtb-armv7l') {
$subpkg_desc .= "Provides: dtb-k2e = %version\n" .
"Provides: dtb-k2l = %version\n";
}
if ($PKG_NAME eq 'dtb-amazon' and $main_package eq 'dtb-aarch64') {
$subpkg_desc .= "Provides: dtb-al = %version\n";
}
if ($PKG_NAME eq 'dtb-apm' and $main_package eq 'dtb-aarch64') {
$subpkg_desc .= "Provides: dtb-apm-mustang = %version\n";
}
if ($PKG_NAME eq 'dtb-arm' and $main_package eq 'dtb-aarch64') {
$subpkg_desc .= "Provides: dtb-foundation-v8 = %version\n" .
"Provides: dtb-rtsm_ve-aemv8a = %version\n";
}
if ($PKG_NAME eq 'dtb-cavium' and $main_package eq 'dtb-aarch64') {
$subpkg_desc .= "Provides: dtb-thunder-88xx = %version\n";
}
if ($PKG_NAME eq 'dtb-hisilicon' and $main_package eq 'dtb-aarch64') {
$subpkg_desc .= "Provides: dtb-hisilicon64 = %version\n";
}
$subpkg_desc .=
"Provides: multiversion(dtb)\n" .
"Requires(post): coreutils\n" .
"\n" .
"%description -n $PKG_NAME\n" .
"Device Tree files for $MACHINES.\n\n";
$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" .
"[ -d dtb ] && [ -L dtb ] && rm -f dtb\n" .
"# Unless /boot/dtb exists as real directory, create a symlink.\n" .
"[ -d dtb ] || ln -sf dtb-%kernelrelease dtb\n\n";
my $bin_supported_dtb = $SUPPORTED_DTB;
$bin_supported_dtb =~ s/\.dts/\.dtb/g;
my $dtb_subdir = "";
my $path = "";
my @components = split(/\//, $bin_supported_dtb);
pop @components; # filename
foreach my $subdir (@components) {
$path .= "/$subdir";
$dtb_subdir .= "%dir %{dtbdir}$path\n";
}
$subpkg_desc .=
"%ifarch %arm aarch64 riscv64\n" .
"%files -n $PKG_NAME -f $PKG_NAME.list\n" .
"%else\n" .
"%files -n $PKG_NAME\n" .
"%endif\n" .
"%defattr(-,root,root)\n" .
"%ghost /boot/dtb\n" .
"%dir %{dtbdir}\n" .
$dtb_subdir .
"%{dtbdir}/$bin_supported_dtb\n" .
"\n";
if ($main_package eq 'dtb-armv6l' or $main_package eq 'dtb-armv7l') {
# Map dts file name back to subpkg name
$subpkg_case .= " $SUPPORTED_DTB) pkgname=$PKG_NAME;;\n"
}
$all_supported_dtb .= "$SUPPORTED_DTB ";
}
chomp($all_supported_dtb);
# spec file generation
while(<TEMPLATE>){
$_ =~ s/\$NAME/$main_package/g;
$_ =~ s/\$ARCH_RESTRICTIONS/$ARCH_RESTRICTIONS/g;
$_ =~ s/\$DTS_folder/$DTS_folder/g;
$_ =~ s/\$SUBPKG_DESC/$subpkg_desc/g;
$_ =~ s/\$ALL_SUPPORTED_DTB/$all_supported_dtb/g;
$_ =~ s/\$SUBPKG_CASE\n?/$subpkg_case/g;
print SPEC $_;
}
close(TEMPLATE);
close(SPEC);
}
if ( grep( /armv7/, @ARGV)) {
generate_spec('dtb-armv7l', "armv7l armv7hl", \@armv7l_package_list);
}
if ( grep( /armv6/, @ARGV)) {
generate_spec('dtb-armv6l', "armv6l armv6hl", \@armv6l_package_list);
}
if ( grep( /aarch64/, @ARGV)) {
generate_spec('dtb-aarch64', "aarch64", \@aarch64_package_list);
}
if ( grep( /riscv64/, @ARGV)) {
generate_spec('dtb-riscv64', "riscv64", \@riscv64_package_list);
}

View File

@@ -1,25 +0,0 @@
# List of obsolete kernel flavors
# <arch>/<new flavor> <old flavor> <upper bound of shipped versions>
# SLES 11 SP3 / openSUSE 13.1
i386/default trace 3.13
x86_64/default trace 3.13
x86_64/default bigsmp 3.1
s390x/default trace 3.13
# openSUSE 13.2 / Tumbleweed until 2015-10-01
i386/pae desktop 4.3
x86_64/default desktop 4.3
# SLE 12 SP1
i386/pae xen 4.4
i386/pae ec2 4.4
x86_64/default xen 4.4
x86_64/default ec2 4.4
x86_64/rt compute 3.13
x86_64/rt_debug compute_debug 3.13

View File

@@ -1,161 +0,0 @@
# Descriptions of the binary kernel packages. The format is
#
# === <package name> ===
# Summary: Package summary (single line)
# Requires: additional dependencies for KMPs (single line)
# ...
#
# Long description (multiple
# lines)
#
# Descriptions of the -base and -extra subpackages are derived from the
# main descriptions. The "Summary:" keyword can be omitted
=== kernel-debug ===
A Debug Version of the Kernel
This kernel has several debug facilities enabled that hurt performance.
Only use this kernel when investigating problems.
=== kernel-default ===
The Standard Kernel
The standard kernel for both uniprocessor and multiprocessor systems.
=== kernel-kvmsmall ===
The Small Developer Kernel for KVM
This kernel is intended for kernel developers to use in simple virtual
machines. It contains only the device drivers necessary to use a
KVM virtual machine *without* device passthrough enabled. Common
local and network file systems are enabled. All device mapper targets
are enabled. Only the network and graphics drivers for devices that qemu
emulates are enabled. Many subsystems enabled in the default kernel
are entirely disabled. This kernel is meant to be small and to build
very quickly. The configuration may change arbitrarily between builds.
=== kernel-azure ===
Kernel for MS Azure cloud
Kernel for use in the MS Azure cloud and other Hyper-V based virtualization
solutions.
=== kernel-pae ===
Kernel with PAE Support
This kernel supports up to 64GB of main memory. It requires Physical
Addressing Extensions (PAE), which were introduced with the Pentium Pro
processor.
PAE is not only more physical address space but also important for the
"no execute" feature which disables execution of code that is marked as
non-executable. Therefore, the PAE kernel should be used on any systems
that support it, regardless of the amount of main memory.
=== kernel-vanilla ===
The Standard Kernel - without any SUSE patches
The standard kernel - without any SUSE patches
=== kernel-64kb ===
Kernel with 64kb PAGE_SIZE
This kernel is identical to the default kernel, but is configured with
64kb page size granule. Its main purpose is to serve as compatibility
kernel for systems that were installed when the default kernel was still
configured with 64kb page size granule.
=== kernel-lpae ===
Kernel for LPAE enabled systems
The kernel for all 32-bit ARM platforms that support LPAE. This includes all
Cortex A15 based SoCs, like the Exynos5, OMAP5 or Calxeda ECX-2000.
=== kernel-preempt ===
Kernel with PREEMPT support
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
The syzkaller kernel should be used solely in a virtual machine by
syzkaller only. It supports kernel coverage and enables a lot of slow
debugging options.
=== kernel-zfcpdump ===
The IBM System Z zfcpdump Kernel
The Linux kernel for booting the zfcpdump process on IBM System Z.
This kernel should only be used by the s390-tools package. This kernel
should not be installed as a regular booting kernel.
=== cluster-md-kmp ===
Summary: Clustering support for MD devices
Requires: dlm-kmp
Clustering support for MD devices. This enables locking and
synchronization across multiple systems on the cluster, so all
nodes in the cluster can access the MD devices simultaneously.
=== dlm-kmp ===
DLM kernel modules
DLM stands for Distributed Lock Manager, a means to synchronize access to
shared resources over the cluster.
=== gfs2-kmp ===
Summary: GFS2 kernel modules
Requires: dlm-kmp
GFS2 is Global Filesystem, a shared device filesystem.
=== ocfs2-kmp ===
Summary: OCFS2 kernel modules
Requires: dlm-kmp
OCFS2 is the Oracle Cluster Filesystem, a filesystem for shared devices
accessible simultaneously from multiple nodes of a cluster.
=== kselftests-kmp ===
Kernel sefltests
This package contains kernel modules which are part of the upstream kernel
selftest effort. kselftest is the name of the upstream kernel target to build
and run all selftests. You can also run each test individually from the
respective upstream tools/testing/selftests/ directory, this package is
intended to be used using individial upstream selftest scripts given only
select supported selftest drivers are enabled.
It should always be possible to always run the latest linux-next version of the
selftest scripts and tests against any older kernel selftest driver. Certain
tests facilities may be backported onto older kernels to enable further
testing.
Selftests also provide for a vehicle or proof of concept issues to be
reproduced, verified and corrected.
Selftest drivers are intended to be supported only in testing and QA
environments, they are not intended to be run on production systems.
=== reiserfs-kmp ===
Reiserfs kernel module
The reiserfs file system is no longer supported in SLE15. This package
provides the reiserfs module for the installation system.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

11161
series.conf

File diff suppressed because it is too large Load Diff

View File

@@ -1,3 +1,3 @@
2025-07-21 10:20:07 +0000
GIT Revision: b00eabe67e9bafdd23c53dd65d263cbf6dc806fa
GIT Branch: SL-16.0
2025-12-19 10:15:01 +0000
GIT Revision: 94472718bd34ca4adb72d325d55f37bd87bfde65
GIT Branch: stable

File diff suppressed because it is too large Load Diff

BIN
sysctl.tar.bz2 LFS

Binary file not shown.

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