forked from pool/kernel-source
Compare commits
16 Commits
slfo-main
...
Kernel/sta
| Author | SHA256 | Date | |
|---|---|---|---|
| 74ff18fc0d | |||
| ce7c391b8e | |||
| 172a629344 | |||
| 50ddf54bf3 | |||
| f8c44788e0 | |||
| 496c6046fd | |||
| 46d95a93ba | |||
| 3dcc6ae89f | |||
| 8c24d58dd0 | |||
| 204319ccaf | |||
| f7a97ce9ed | |||
| 1466f13f2b | |||
| 7c9a862800 | |||
| 8fb9211937 | |||
| 2b5e615459 | |||
| 2ea41c06d6 |
2
.gitattributes
vendored
2
.gitattributes
vendored
@@ -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
|
||||
|
||||
10
README.SUSE
10
README.SUSE
@@ -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
|
||||
|
||||
76
_constraints
76
_constraints
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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_]*'
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
BIN
config.addon.tar.bz2
LFS
BIN
config.addon.tar.bz2
LFS
Binary file not shown.
20
config.conf
20
config.conf
@@ -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
|
||||
|
||||
19
config.sh
19
config.sh
@@ -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
BIN
config.tar.bz2
LFS
Binary file not shown.
196
constraints.in
196
constraints.in
@@ -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>
|
||||
|
||||
340327
dtb-aarch64.changes
340327
dtb-aarch64.changes
File diff suppressed because it is too large
Load Diff
@@ -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
197200
dtb-armv6l.changes
Normal file
File diff suppressed because it is too large
Load Diff
229
dtb-armv6l.spec
Normal file
229
dtb-armv6l.spec
Normal 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
197200
dtb-armv7l.changes
Normal file
File diff suppressed because it is too large
Load Diff
1392
dtb-armv7l.spec
Normal file
1392
dtb-armv7l.spec
Normal file
File diff suppressed because it is too large
Load Diff
197200
dtb-riscv64.changes
Normal file
197200
dtb-riscv64.changes
Normal file
File diff suppressed because it is too large
Load Diff
417
dtb-riscv64.spec
Normal file
417
dtb-riscv64.spec
Normal 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
|
||||
100
dtb.spec.in.in
100
dtb.spec.in.in
@@ -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
|
||||
@@ -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
BIN
kabi.tar.bz2
LFS
Binary file not shown.
340327
kernel-64kb.changes
340327
kernel-64kb.changes
File diff suppressed because it is too large
Load Diff
133
kernel-64kb.spec
133
kernel-64kb.spec
@@ -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" \
|
||||
|
||||
340327
kernel-default.changes
340327
kernel-default.changes
File diff suppressed because it is too large
Load Diff
@@ -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" \
|
||||
|
||||
340327
kernel-docs.changes
340327
kernel-docs.changes
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
|
||||
340327
kernel-kvmsmall.changes
340327
kernel-kvmsmall.changes
File diff suppressed because it is too large
Load Diff
@@ -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
197200
kernel-lpae.changes
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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" \
|
||||
340327
kernel-obs-build.changes
340327
kernel-obs-build.changes
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
|
||||
340327
kernel-obs-qa.changes
340327
kernel-obs-qa.changes
File diff suppressed because it is too large
Load Diff
@@ -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)
|
||||
|
||||
@@ -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
197200
kernel-pae.changes
Normal file
File diff suppressed because it is too large
Load Diff
2035
kernel-pae.spec
Normal file
2035
kernel-pae.spec
Normal file
File diff suppressed because it is too large
Load Diff
158235
kernel-rt.changes
158235
kernel-rt.changes
File diff suppressed because it is too large
Load Diff
340327
kernel-source.changes
340327
kernel-source.changes
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
340327
kernel-syms.changes
340327
kernel-syms.changes
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
197200
kernel-vanilla.changes
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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" \
|
||||
340327
kernel-zfcpdump.changes
340327
kernel-zfcpdump.changes
File diff suppressed because it is too large
Load Diff
@@ -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" \
|
||||
|
||||
@@ -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-----
|
||||
BIN
linux-6.12.tar.xz
LFS
BIN
linux-6.12.tar.xz
LFS
Binary file not shown.
19
linux-6.18.tar.sign
Normal file
19
linux-6.18.tar.sign
Normal file
@@ -0,0 +1,19 @@
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
Comment: This signature is for the .tar version of the archive
|
||||
Comment: git archive --format tar --prefix=linux-6.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
BIN
linux-6.18.tar.xz
LFS
Normal file
Binary file not shown.
601
mkspec
601
mkspec
@@ -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{$_}++ } @_;
|
||||
}
|
||||
221
mkspec-dtb
221
mkspec-dtb
@@ -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);
|
||||
}
|
||||
25
old-flavors
25
old-flavors
@@ -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
|
||||
|
||||
|
||||
@@ -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.
|
||||
BIN
patches.addon.tar.bz2
LFS
BIN
patches.addon.tar.bz2
LFS
Binary file not shown.
BIN
patches.apparmor.tar.bz2
LFS
BIN
patches.apparmor.tar.bz2
LFS
Binary file not shown.
BIN
patches.arch.tar.bz2
LFS
BIN
patches.arch.tar.bz2
LFS
Binary file not shown.
BIN
patches.drivers.tar.bz2
LFS
BIN
patches.drivers.tar.bz2
LFS
Binary file not shown.
BIN
patches.drm.tar.bz2
LFS
BIN
patches.drm.tar.bz2
LFS
Binary file not shown.
BIN
patches.fixes.tar.bz2
LFS
BIN
patches.fixes.tar.bz2
LFS
Binary file not shown.
BIN
patches.kabi.tar.bz2
LFS
BIN
patches.kabi.tar.bz2
LFS
Binary file not shown.
BIN
patches.kernel.org.tar.bz2
LFS
BIN
patches.kernel.org.tar.bz2
LFS
Binary file not shown.
BIN
patches.rpmify.tar.bz2
LFS
BIN
patches.rpmify.tar.bz2
LFS
Binary file not shown.
BIN
patches.rt.tar.bz2
LFS
BIN
patches.rt.tar.bz2
LFS
Binary file not shown.
BIN
patches.suse.tar.bz2
LFS
BIN
patches.suse.tar.bz2
LFS
Binary file not shown.
11161
series.conf
11161
series.conf
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
11389
supported.conf
11389
supported.conf
File diff suppressed because it is too large
Load Diff
BIN
sysctl.tar.bz2
LFS
BIN
sysctl.tar.bz2
LFS
Binary file not shown.
@@ -1,83 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
#############################################################################
|
||||
# Copyright (c) 2011 Novell, Inc.
|
||||
# Copyright (c) 2012-2022 SUSE LLC
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or
|
||||
# modify it under the terms of version 2 of the GNU General Public License as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, contact https://www.suse.com/source-code/
|
||||
#
|
||||
#############################################################################
|
||||
|
||||
|
||||
# If make fails, check if it happened due to a staging driver and disable it.
|
||||
# That way, staging does not spoil automatic package building and we also
|
||||
# do not need to worry about forgetting to reenable manually disabled drivers.
|
||||
|
||||
if test -L source; then
|
||||
source="source"
|
||||
else
|
||||
source="."
|
||||
fi
|
||||
if test -f ${source}/scripts/kconfig/Makefile && \
|
||||
grep -q syncconfig ${source}/scripts/kconfig/Makefile; then
|
||||
syncconfig="syncconfig"
|
||||
else
|
||||
syncconfig="silentoldconfig"
|
||||
fi
|
||||
makefile="$source/drivers/staging/Makefile"
|
||||
skipped_options=staging-skipped-options
|
||||
logfile=$1
|
||||
|
||||
if test -z "$logfile"; then
|
||||
echo "Usage: $0 logfile" >&2
|
||||
exit 1
|
||||
fi
|
||||
if ! test -f "$logfile"; then
|
||||
echo "$logfile not found" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# safety precaution
|
||||
if test "0$(wc -l "$skipped_options" 2>/dev/null)" -gt 20; then
|
||||
echo "Possible loop detected in $0, exiting after 20 attempts" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# find out if the error happened in drivers/staging
|
||||
dir=$(sed -rn 's@.*/drivers/staging/([^/]*)/.*: error: .*@\1@p; T; q' "$logfile")
|
||||
if test -z "$dir"; then
|
||||
exit 1
|
||||
else
|
||||
echo "Build failed due to drivers/staging/$dir"
|
||||
fi
|
||||
|
||||
option=$(sed -n 's/obj-\$(\(.*\))[[:space:]]*+=[[:space:]]*'"$dir"'\//\1/p' "$makefile")
|
||||
if test -z "$option"; then
|
||||
echo "Cannot determine config option to skip drivers/staging/$dir" >&2
|
||||
exit 1
|
||||
fi
|
||||
# we need to be carefull not to loop endlessly
|
||||
if grep -qsFx "$option" "$skipped_options"; then
|
||||
echo "$option has already been disabled, but drivers/staging/$dir is still failing" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Trying to disable $option"
|
||||
"$source/scripts/config" --disable "$option"
|
||||
if ! make $syncconfig $MAKE_ARGS || grep "^$option" .config; then
|
||||
echo "Could not disable $option" >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "$option" >>"$skipped_options"
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user