File project.diff of Package kernel-default
--- config.conf.orig
+++ config.conf
@@ -8,42 +8,20 @@
# kernel-binary and kernel-source rely on this
#
-+i386 i386/pae
-+i386 i386/default
-+i386 -syms i386/debug
-+i386 i386/vanilla
-
+x86_64 x86_64/default
+x86_64 -syms x86_64/debug
-- x86_64/syzkaller
-+x86_64 x86_64/vanilla
+x86_64 -syms x86_64/kvmsmall
-+ppc64 ppc64/default
-+ppc64 -syms ppc64/debug
-+ppc64 ppc64/vanilla
-+ppc64 -syms ppc64/kvmsmall
-
+ppc64le ppc64le/default
+ppc64le -syms ppc64le/debug
-+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 -syms arm64/debug
+arm64 arm64/64kb
-+arm64 arm64/vanilla
+arm64 -syms arm64/kvmsmall
++armv7hl armv7hl/default
++armv7hl armv7hl/lpae
+s390x s390x/default
-+s390x s390x/vanilla
+s390x -syms s390x/zfcpdump
-
-+riscv64 riscv64/default
-+riscv64 riscv64/vanilla
--- config.sh.orig
+++ config.sh
@@ -4,21 +4,23 @@ SRCVERSION=6.4
VARIANT=
# enable kernel module compression
COMPRESS_MODULES="zstd"
-COMPRESS_VMLINUX="xz"
-# Compile binary devicetrees on master and stable branches.
-BUILD_DTBS="Yes"
# Use new style livepatch package names
LIVEPATCH=livepatch
+# Compile binary devicetrees for Leap
+BUILD_DTBS="Yes"
# buildservice projects to build the kernel against
-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
+OBS_PROJECT=SUSE:SLE-15-SP6:Update
+OBS_PROJECT_ARM=openSUSE:Step:15-SP5
+IBS_PROJECT=SUSE:SLE-15-SP6:Update
# Bugzilla info
BUGZILLA_SERVER="apibugzilla.suse.com"
-BUGZILLA_PRODUCT="openSUSE Tumbleweed"
+BUGZILLA_PRODUCT="SUSE Linux Enterprise Server 15 SP6"
+# Check the sorted patches section of series.conf
+SORT_SERIES=yes
+# Modules not listed in supported.conf will abort the kernel build
+SUPPORTED_MODULES_CHECK=Yes
+# Split Leap-only modules to kernel-*-optional subpackage
+SPLIT_OPTIONAL=Yes
# build documentation in HTML format
BUILD_HTML=Yes
# build documentation in PDF format
--- kernel-default.spec.orig
+++ kernel-default.spec
@@ -1,7 +1,7 @@
#
# spec file for package kernel-default
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,105 +19,32 @@
%define srcversion 6.4
%define patchversion 6.4.12
+%define git_commit 36c1e09e48129e0fc3ca4fae5ae05b03e9a693d2
%define variant %{nil}
%define compress_modules zstd
-%define compress_vmlinux xz
+%define compress_vmlinux gz
%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 split_optional 1
+%define supported_modules_check 1
+%define build_flavor default
%include %_sourcedir/kernel-spec-macros
-%define build_flavor default
-%define build_default ("%build_flavor" == "default")
-%define build_vanilla ("%build_flavor" == "vanilla")
-%define vanilla_only %{lua: if (rpm.expand("%variant") == "-vanilla") then print(1) else print(0) end}
-
-%if ! %build_vanilla
-%define src_install_dir /usr/src/linux-%kernelrelease%variant
-%else
-%define src_install_dir /usr/src/linux-%kernelrelease-vanilla
-%endif
-%define obj_install_dir /usr/src/linux-%kernelrelease%variant-obj
-%define rpm_install_dir %buildroot%obj_install_dir
-%define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj
-
-%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
- %define klp_symbols 1
-%endif
-
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
-%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
-%define cpu_arch_flavor %cpu_arch/%build_flavor
-
-%global certs %( for f in %_sourcedir/*.crt; do \
- if ! test -e "$f"; then \
- continue \
- fi \
- h=$(openssl x509 -inform PEM -fingerprint -noout -in "$f") \
- if [ -z "$h" ] ; then \
- echo Cannot parse "$f" >&2 \
- confinue \
- fi \
- cert=$(echo "$h" | sed -rn 's/^SHA1 Fingerprint=//; T; s/://g; s/(.{8}).*/\\1/p') \
- echo Found signing certificate "$f" "($cert)" >&2 \
- cat "$f" >>%_sourcedir/.kernel_signing_key.pem \
- mkdir -p %_sourcedir/.kernel_signing_certs \
- openssl x509 -inform PEM -in "$f" -outform DER -out %_sourcedir/.kernel_signing_certs/"$cert".crt \
- echo -n "$cert" "" \
-done )
-
-%ifarch %ix86 x86_64
-%define image vmlinuz
-%endif
-%ifarch ppc ppc64 ppc64le
-%define image vmlinux
-%endif
-%ifarch s390 s390x
-%define image image
-%endif
-%ifarch %arm
-%define image zImage
-%endif
-%ifarch aarch64 riscv64
-%define image Image
-%endif
-
-# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
-# defining them all at once.)
-%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_MODULE_SIG_HASH CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB CONFIG_LIVEPATCH_IPA_CLONES CONFIG_DEBUG_INFO_BTF_MODULES CONFIG_PREEMPT_DYNAMIC
-%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
-%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
-
-%if "%CONFIG_MODULES" != "y"
- %define klp_symbols 0
-%endif
-
-%ifarch %ix86 x86_64
-%define install_vdso 1
-%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150500
-%define separate_vdso 1
-%endif
-%else
-%define install_vdso 0
-%endif
-
-%define modules_dir %kernel_module_directory/%kernelrelease-%build_flavor
-
Name: kernel-default
-Summary: The Standard Kernel
-License: GPL-2.0-only
-Group: System/Kernel
Version: 6.4.12
%if 0%{?is_kotd}
-Release: <RELEASE>.gf5aa89b
+Release: <RELEASE>.g36c1e09
%else
Release: 0
%endif
+Summary: The Standard Kernel
+License: GPL-2.0-only
+Group: System/Kernel
URL: https://www.kernel.org/
%if 0%{?suse_version} > 1500 || 0%{?sle_version} > 150300
BuildRequires: bash-sh
@@ -137,6 +64,7 @@ BuildRequires: gcc-devel
BuildRequires: hmaccalc
BuildRequires: libopenssl-devel
BuildRequires: modutils
+BuildRequires: python3-base
# Used to sign the kernel in the buildservice
BuildRequires: openssl
BuildRequires: pesign-obs-integration
@@ -153,135 +81,89 @@ BuildRequires: u-boot-tools
%endif
# Do not install p-b and dracut for the install check, the %post script is
# able to handle this
-#!BuildIgnore: perl-Bootloader dracut distribution-release
+#!BuildIgnore: perl-Bootloader dracut distribution-release suse-kernel-rpm-scriptlets
# Remove some packages that are installed automatically by the build system,
# but are not needed to build the kernel
#!BuildIgnore: autoconf automake gettext-runtime libtool cvs gettext-tools udev insserv
-# 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
-# Do not recompute the build-id of vmlinux in find-debuginfo.sh (bsc#964063)
-%undefine _unique_build_ids
-%define _no_recompute_build_ids 1
-# prevent usr/lib/debug/boot/vmlinux-4.12.14-11.10-default-4.12.14-11.10.ppc64le.debug
-%undefine _unique_debug_names
+%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
+ExclusiveArch: aarch64 armv7hl ppc64le s390x x86_64
+%else
+ExclusiveArch: do_not_build
+%endif
-%if "%{compress_modules}" == "zstd"
-BuildRequires: zstd
-# Make sure kmod supports zstd compressed modules
-Requires(post): kmod-zstd
+%ifarch %ix86 x86_64
+%define image vmlinuz
%endif
-Provides: %name = %version-%source_rel
-# bnc#901925
-Provides: %name-%version-%source_rel
-Provides: %{name}_%_target_cpu = %version-%source_rel
-Provides: kernel-base = %version-%source_rel
-Provides: multiversion(kernel)
-# In SLE11, kernel-$flavor complemented kernel-$flavor-base. With SLE12,
-# kernel-$flavor itself contains all the needed files and kernel-$flavor-base
-# is a subset that can replace kernel-$flavor in some scenarios. We need to
-# obsolete the -base subpackage from SLE11, so that the base files are not
-# owned by multiple packages now. The dependency is not correct wrt openSUSE
-# 11.2 - 11.4, but we primarily care about the supported upgrade path.
-Obsoletes: %name-base < 3.1
-%if ("%build_flavor" != "kvmsmall") && ("%build_flavor" != "azure")
-Recommends: kernel-firmware
+%ifarch ppc ppc64 ppc64le
+%define image vmlinux
%endif
-# The following is copied to the -base subpackage as well
-# BEGIN COMMON DEPS
-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
-Requires(post): suse-module-tools
-# For depmod (modutils is a dependency provided by both module-init-tools and
-# kmod-compat)
-Requires(post): modutils
-# This Requires is wrong, because the post/postun scripts have a
-# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
-# But, there is no way to tell rpm or yast to schedule the installation
-# of perl-Bootloader before kernel-binary.rpm if both are in the list of
-# packages to install/update. Likewise, this is true for dracut.
-# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
-Requires(post): perl-Bootloader >= 0.4.15
-Requires(post): 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 0%{?usrmerged}
-# make sure we have a post-usrmerge system
-Conflicts: filesystem < 16
+%ifarch s390 s390x
+%define image image
%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)
+%ifarch %arm
+%define image zImage
%endif
-Provides: kernel = %version-%source_rel
-Provides: kernel-%build_flavor-base-srchash-f5aa89b3e95322c79e43c459f5b6862dec51fc5f
-Provides: kernel-srchash-f5aa89b3e95322c79e43c459f5b6862dec51fc5f
-# END COMMON DEPS
-Provides: %name-srchash-f5aa89b3e95322c79e43c459f5b6862dec51fc5f
-%ifarch %ix86
-Provides: kernel-trace = 3.13
-Obsoletes: kernel-trace <= 3.13
+%ifarch aarch64 riscv64
+%define image Image
%endif
-%ifarch s390x
-Provides: kernel-trace = 3.13
-Obsoletes: kernel-trace <= 3.13
+
+%ifarch %ix86 x86_64
+%define install_vdso 1
+%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150500
+%define separate_vdso 1
%endif
-%ifarch x86_64
-Provides: kernel-trace = 3.13
-Obsoletes: kernel-trace <= 3.13
-Provides: kernel-bigsmp = 3.1
-Obsoletes: kernel-bigsmp <= 3.1
-Provides: kernel-desktop = 4.3
-Obsoletes: kernel-desktop <= 4.3
-Provides: kernel-xen = 4.4
-Obsoletes: kernel-xen <= 4.4
-Provides: kernel-ec2 = 4.4
-Obsoletes: kernel-ec2 <= 4.4
+%else
+%define install_vdso 0
%endif
-%ifarch %ix86
-Provides: kernel-trace-base = 3.13
-Obsoletes: kernel-trace-base <= 3.13
+
+%define build_default ("%build_flavor" == "default")
+%define build_vanilla ("%build_flavor" == "vanilla")
+%define vanilla_only %{lua: if (rpm.expand("%variant") == "-vanilla") then print(1) else print(0) end}
+
+%if ! %build_vanilla
+%define src_install_dir /usr/src/linux-%kernelrelease%variant
+%else
+%define src_install_dir /usr/src/linux-%kernelrelease-vanilla
%endif
-%ifarch s390x
-Provides: kernel-trace-base = 3.13
-Obsoletes: kernel-trace-base <= 3.13
+%define obj_install_dir /usr/src/linux-%kernelrelease%variant-obj
+%define rpm_install_dir %buildroot%obj_install_dir
+%define kernel_build_dir %my_builddir/linux-%srcversion/linux-obj
+%define modules_dir %kernel_module_directory/%kernelrelease-%build_flavor
+
+%global cpu_arch %(%_sourcedir/arch-symbols %_target_cpu)
+%define cpu_arch_flavor %cpu_arch/%build_flavor
+
+%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -v ^PTF | grep -vc openSUSE) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
+ %define klp_symbols 1
%endif
-%ifarch x86_64
-Provides: kernel-trace-base = 3.13
-Obsoletes: kernel-trace-base <= 3.13
-Provides: kernel-bigsmp-base = 3.1
-Obsoletes: kernel-bigsmp-base <= 3.1
-Provides: kernel-desktop-base = 4.3
-Obsoletes: kernel-desktop-base <= 4.3
-Provides: kernel-xen-base = 4.4
-Obsoletes: kernel-xen-base <= 4.4
-Provides: kernel-ec2-base = 4.4
-Obsoletes: kernel-ec2-base <= 4.4
+
+# Define some CONFIG variables as rpm macros as well. (rpm cannot handle
+# defining them all at once.)
+%define config_vars CONFIG_MODULES CONFIG_MODULE_SIG CONFIG_MODULE_SIG_HASH CONFIG_KMSG_IDS CONFIG_SUSE_KERNEL_SUPPORTED CONFIG_EFI_STUB CONFIG_LIVEPATCH_IPA_CLONES CONFIG_DEBUG_INFO_BTF_MODULES CONFIG_PREEMPT_DYNAMIC
+%{expand:%(eval "$(test -n "%cpu_arch_flavor" && tar -xjf %_sourcedir/config.tar.bz2 --to-stdout config/%cpu_arch_flavor)"; for config in %config_vars; do echo "%%global $config ${!config:-n}"; done)}
+%define split_extra ("%CONFIG_MODULES" == "y" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y")
+
+%if "%CONFIG_MODULES" != "y"
+ %define klp_symbols 0
%endif
-%obsolete_rebuilds %name
+
+%global certs %( space="" ; for f in %_sourcedir/*.crt; do \
+ if ! test -e "$f"; then \
+ continue \
+ fi \
+ h=$(openssl x509 -inform PEM -fingerprint -noout -in "$f") \
+ if [ -z "$h" ] ; then \
+ echo Cannot parse "$f" >&2 \
+ confinue \
+ fi \
+ cert=$(echo "$h" | sed -rn 's/^SHA1 Fingerprint=//; T; s/://g; s/(.{8}).*/\\1/p') \
+ echo Found signing certificate "$f" "($cert)" >&2 \
+ cat "$f" >>%_sourcedir/.kernel_signing_key.pem \
+ mkdir -p %_sourcedir/.kernel_signing_certs \
+ openssl x509 -inform PEM -in "$f" -outform DER -out %_sourcedir/.kernel_signing_certs/"$cert".crt \
+ echo -n "$space$cert" ; space=" " \
+done )
+
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%srcversion.tar.xz
Source3: kernel-source.rpmlintrc
Source14: series.conf
@@ -296,7 +178,6 @@ Source35: group-source-files.pl
Source36: README.PATCH-POLICY.SUSE
Source37: README.SUSE
Source38: README.KSYMS
-Source39: config-options.changes.txt
Source40: source-timestamp
Source46: split-modules
Source47: modversions
@@ -336,6 +217,7 @@ 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
@@ -366,7 +248,6 @@ NoSource: 35
NoSource: 36
NoSource: 37
NoSource: 38
-NoSource: 39
NoSource: 40
NoSource: 46
NoSource: 47
@@ -406,6 +287,7 @@ NoSource: 82
NoSource: 83
NoSource: 84
NoSource: 85
+NoSource: 86
NoSource: 100
NoSource: 101
NoSource: 102
@@ -422,18 +304,138 @@ NoSource: 114
NoSource: 120
NoSource: 121
-ExclusiveArch: aarch64 armv6hl armv7hl %ix86 ppc64 ppc64le riscv64 s390x x86_64
-%define kmp_target_cpu %_target_cpu
%ifarch %ix86
# Only i386/default supports i586, mark other flavors' packages as i686
%if ! %build_default
BuildArch: i686
+%endif
+%endif
+# 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
+# Do not recompute the build-id of vmlinux in find-debuginfo.sh (bsc#964063)
+%undefine _unique_build_ids
+%define _no_recompute_build_ids 1
+# prevent usr/lib/debug/boot/vmlinux-4.12.14-11.10-default-4.12.14-11.10.ppc64le.debug
+%undefine _unique_debug_names
+
+%if "%{compress_modules}" == "zstd"
+BuildRequires: zstd
+# Make sure kmod supports zstd compressed modules
+Requires(post): kmod-zstd
+%endif
+Provides: %name = %version-%source_rel
+# bnc#901925
+Provides: %name-%version-%source_rel
+Provides: %{name}_%_target_cpu = %version-%source_rel
+Provides: kernel-base = %version-%source_rel
+Provides: multiversion(kernel)
+# In SLE11, kernel-$flavor complemented kernel-$flavor-base. With SLE12,
+# kernel-$flavor itself contains all the needed files and kernel-$flavor-base
+# is a subset that can replace kernel-$flavor in some scenarios. We need to
+# obsolete the -base subpackage from SLE11, so that the base files are not
+# owned by multiple packages now. The dependency is not correct wrt openSUSE
+# 11.2 - 11.4, but we primarily care about the supported upgrade path.
+Obsoletes: %name-base < 3.1
+%if ("%build_flavor" != "kvmsmall") && ("%build_flavor" != "azure")
+Recommends: kernel-firmware
+%endif
+# The following is copied to the -base subpackage as well
+# BEGIN COMMON DEPS
+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
+# This Requires is wrong, because the post/postun scripts have a
+# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
+# But, there is no way to tell rpm or yast to schedule the installation
+# of perl-Bootloader before kernel-binary.rpm if both are in the list of
+# packages to install/update. Likewise, this is true for dracut.
+# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
+Requires(post): perl-Bootloader >= 0.4.15
+Requires(post): 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
+# END COMMON DEPS
+Provides: %name-srchash-%git_commit
+%ifarch s390x
+Provides: kernel-trace = 3.13
+Obsoletes: kernel-trace <= 3.13
+%endif
+%ifarch x86_64
+Provides: kernel-trace = 3.13
+Obsoletes: kernel-trace <= 3.13
+Provides: kernel-bigsmp = 3.1
+Obsoletes: kernel-bigsmp <= 3.1
+Provides: kernel-desktop = 4.3
+Obsoletes: kernel-desktop <= 4.3
+Provides: kernel-xen = 4.4
+Obsoletes: kernel-xen <= 4.4
+Provides: kernel-ec2 = 4.4
+Obsoletes: kernel-ec2 <= 4.4
+%endif
+%ifarch s390x
+Provides: 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
+Provides: kernel-bigsmp-base = 3.1
+Obsoletes: kernel-bigsmp-base <= 3.1
+Provides: kernel-desktop-base = 4.3
+Obsoletes: kernel-desktop-base <= 4.3
+Provides: kernel-xen-base = 4.4
+Obsoletes: kernel-xen-base <= 4.4
+Provides: kernel-ec2-base = 4.4
+Obsoletes: kernel-ec2-base <= 4.4
+%endif
+%obsolete_rebuilds %name
+
+%define kmp_target_cpu %_target_cpu
+%ifarch %ix86
# KMPs are always built as i586, because rpm does not allow to build
# subpackages for different architectures. Therefore, we change the
# /usr/src/linux-obj/<arch> symlink to i586.
%define kmp_target_cpu i586
%endif
-%endif
%if %build_default
%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
@@ -462,6 +464,823 @@ The standard kernel for both uniprocesso
%source_timestamp
+
+%pre
+%if "%build_flavor" != "zfcpdump"
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-pre --name "%name" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+%endif
+%post
+%if "%build_flavor" != "zfcpdump"
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-post --name "%name" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+%endif
+%preun
+%if "%build_flavor" != "zfcpdump"
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-preun --name "%name" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+%endif
+%postun
+%if "%build_flavor" != "zfcpdump"
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-postun --name "%name" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+%endif
+%posttrans
+%if "%build_flavor" != "zfcpdump"
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-posttrans --name "%name" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+%endif
+%files -f kernel-main.files
+
+%if "%CONFIG_MODULES" == "y" && %split_base
+%package base
+Summary: The Standard Kernel - base modules
+Group: System/Kernel
+Url: http://www.kernel.org/
+Provides: kernel-base = %version-%source_rel
+Provides: multiversion(kernel)
+Conflicts: %name = %version-%source_rel
+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
+# This Requires is wrong, because the post/postun scripts have a
+# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
+# But, there is no way to tell rpm or yast to schedule the installation
+# of perl-Bootloader before kernel-binary.rpm if both are in the list of
+# packages to install/update. Likewise, this is true for dracut.
+# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
+Requires(post): perl-Bootloader >= 0.4.15
+Requires(post): 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
+
+%ifarch s390x
+Provides: 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
+Provides: kernel-bigsmp-base = 3.1
+Obsoletes: kernel-bigsmp-base <= 3.1
+Provides: kernel-desktop-base = 4.3
+Obsoletes: kernel-desktop-base <= 4.3
+Provides: kernel-xen-base = 4.4
+Obsoletes: kernel-xen-base <= 4.4
+Provides: kernel-ec2-base = 4.4
+Obsoletes: kernel-ec2-base <= 4.4
+%endif
+%obsolete_rebuilds %name-base
+%ifarch %ix86
+Conflicts: libc.so.6()(64bit)
+%endif
+
+%description base
+The standard kernel for both uniprocessor and multiprocessor systems.
+
+This package contains only the base modules, required in all installs.
+
+
+%source_timestamp
+%pre base
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-pre --name "%name-base" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%post base
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-post --name "%name-base" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%preun base
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-preun --name "%name-base" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%postun base
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-postun --name "%name-base" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%posttrans base
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-posttrans --name "%name-base" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%files base -f kernel-base.files
+%endif
+
+%package extra
+Summary: The Standard Kernel - Unsupported kernel modules
+Group: System/Kernel
+URL: https://www.kernel.org/
+Provides: %name-extra_%_target_cpu = %version-%source_rel
+Provides: kernel-extra = %version-%source_rel
+Provides: multiversion(kernel)
+Requires: %{name}_%_target_cpu = %version-%source_rel
+Requires(pre): coreutils awk
+Requires(post): modutils
+Requires(post): perl-Bootloader
+Requires(post): dracut
+%ifarch s390x
+Provides: 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
+Provides: kernel-bigsmp-extra = 3.1
+Obsoletes: kernel-bigsmp-extra <= 3.1
+Provides: kernel-desktop-extra = 4.3
+Obsoletes: kernel-desktop-extra <= 4.3
+Provides: kernel-xen-extra = 4.4
+Obsoletes: kernel-xen-extra <= 4.4
+Provides: kernel-ec2-extra = 4.4
+Obsoletes: kernel-ec2-extra <= 4.4
+%endif
+%obsolete_rebuilds %name-extra
+Supplements: packageand(product(SLED):%{name}_%_target_cpu)
+Supplements: packageand(product(sle-we):%{name}_%_target_cpu)
+Supplements: packageand(product(Leap):%{name}_%_target_cpu)
+%ifarch %ix86
+Conflicts: libc.so.6()(64bit)
+%endif
+%if %build_default
+%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
+Provides: kernel-preempt-extra = %version-%release
+Provides: kernel-preempt-extra_%_target_cpu = %version-%source_rel
+%endif
+%endif
+
+%description extra
+The standard kernel for both uniprocessor and multiprocessor systems.
+
+This package contains additional modules not supported by SUSE.
+
+
+%source_timestamp
+
+%pre extra
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "%name-extra" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%post extra
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "%name-extra" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%preun extra
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "%name-extra" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%postun extra
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "%name-extra" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%posttrans extra
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "%name-extra" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%if %split_extra
+
+%files extra -f kernel-extra.files
+%endif
+
+%if %split_extra && %split_optional
+%package optional
+Summary: The Standard Kernel - Optional kernel modules
+Group: System/Kernel
+URL: https://www.kernel.org/
+Provides: %name-optional_%_target_cpu = %version-%source_rel
+Provides: kernel-optional = %version-%source_rel
+Provides: multiversion(kernel)
+Requires: %name-extra_%_target_cpu = %version-%source_rel
+Requires(pre): coreutils awk
+Requires(post): modutils
+Requires(post): perl-Bootloader
+Requires(post): dracut
+%ifarch s390x
+Provides: 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
+Provides: kernel-bigsmp-optional = 3.1
+Obsoletes: kernel-bigsmp-optional <= 3.1
+Provides: kernel-desktop-optional = 4.3
+Obsoletes: kernel-desktop-optional <= 4.3
+Provides: kernel-xen-optional = 4.4
+Obsoletes: kernel-xen-optional <= 4.4
+Provides: kernel-ec2-optional = 4.4
+Obsoletes: kernel-ec2-optional <= 4.4
+%endif
+%obsolete_rebuilds %name-optional
+Supplements: packageand(product(Leap):%{name}_%_target_cpu)
+%ifarch %ix86
+Conflicts: libc.so.6()(64bit)
+%endif
+%if %build_default
+%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
+Provides: kernel-preempt-optional = %version-%release
+Provides: kernel-preempt-optional_%_target_cpu = %version-%source_rel
+%endif
+%endif
+
+%description optional
+The standard kernel for both uniprocessor and multiprocessor systems.
+
+This package contains optional modules only for openSUSE Leap.
+
+
+%source_timestamp
+
+%pre optional
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "%name-optional" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%post optional
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "%name-optional" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%preun optional
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "%name-optional" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%postun optional
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "%name-optional" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%posttrans optional
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "%name-optional" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%files optional -f kernel-optional.files
+%endif
+
+%if "%CONFIG_KMSG_IDS" == "y"
+
+%package man
+Summary: The collection of man pages generated by the kmsg script
+Group: System/Kernel
+
+%description man
+This package includes the man pages that have been generated from the
+kmsg message documentation comments.
+
+
+%source_timestamp
+%files man
+/usr/share/man/man9/*
+%endif
+
+%if 0%{?separate_vdso}
+%package vdso
+Summary: vdso binaries for debugging purposes
+Group: System/Kernel
+
+%description vdso
+This package includes the vdso binaries. They can be used for debugging. The
+actual binary linked to the programs is loaded from the in-memory image, not
+from this package.
+
+
+%source_timestamp
+%files vdso
+%modules_dir/vdso/
+%endif
+
+%package devel
+Summary: Development files necessary for building kernel modules
+Group: Development/Sources
+Provides: %name-devel = %version-%source_rel
+Provides: multiversion(kernel)
+%if ! %build_vanilla && ! %vanilla_only
+Requires: kernel-devel%variant = %version-%source_rel
+Recommends: make
+Recommends: gcc
+Recommends: perl
+# for objtool
+Requires: libelf-devel
+Supplements: packageand(%name:kernel-devel%variant)
+%else
+Requires: kernel-source-vanilla = %version-%source_rel
+Supplements: packageand(%name:kernel-source-vanilla)
+%endif
+%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
+Requires: dwarves >= 1.22
+%endif
+%if %build_default
+%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
+Provides: kernel-preempt-devel = %version-%release
+%endif
+%endif
+%ifarch s390x
+Provides: 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
+Provides: kernel-bigsmp-devel = 3.1
+Obsoletes: kernel-bigsmp-devel <= 3.1
+Provides: kernel-desktop-devel = 4.3
+Obsoletes: kernel-desktop-devel <= 4.3
+Provides: kernel-xen-devel = 4.4
+Obsoletes: kernel-xen-devel <= 4.4
+Provides: kernel-ec2-devel = 4.4
+Obsoletes: kernel-ec2-devel <= 4.4
+%endif
+%obsolete_rebuilds %name-devel
+PreReq: coreutils
+
+%description devel
+This package contains files necessary for building kernel modules (and
+kernel module packages) against the %build_flavor flavor of the kernel.
+
+
+%source_timestamp
+
+%if "%CONFIG_MODULES" == "y"
+
+%pre devel
+
+# handle update from an older kernel-source with linux-obj as symlink
+if [ -h /usr/src/linux-obj ]; then
+ rm -vf /usr/src/linux-obj
+fi
+
+%post devel
+%relink_function
+
+relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/linux-obj/"%cpu_arch_flavor"
+
+%files devel -f kernel-devel.files
+%dir /usr/src/linux-obj
+%dir /usr/src/linux-obj/%cpu_arch
+%ghost /usr/src/linux-obj/%cpu_arch_flavor
+%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
+%if "%kmp_target_cpu" != "%cpu_arch"
+%obj_install_dir/%kmp_target_cpu
+/usr/src/linux-obj/%kmp_target_cpu
+%endif
+
+%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
+%if "%livepatch" == "kgraft"
+%define patch_package %{livepatch}-patch
+%else
+%define patch_package kernel-%{livepatch}
+%endif
+%package %{livepatch}
+Summary: Metapackage to pull in matching %patch_package package
+Group: System/Kernel
+Requires: %{patch_package}-%(echo %{version}-%{source_rel} | sed 'y/\./_/')-%{build_flavor}
+Provides: multiversion(kernel)
+%if "%variant" != "-rt"
+Provides: kernel-default-kgraft = %version
+Provides: kernel-xen-kgraft = %version
+%if "%livepatch" != "kgraft"
+Obsoletes: kernel-default-kgraft < %version
+Obsoletes: kernel-xen-kgraft < %version
+%endif
+%endif
+
+%description %{livepatch}
+This is a metapackage that pulls in the matching %patch_package package for a
+given kernel version. The advantage of the metapackage is that its name is
+static, unlike the %{patch_package}-<kernel-version>-flavor package names.
+
+%files %{livepatch}
+# rpmlint complains about empty packages, so lets own something
+%dir %modules_dir
+%endif
+
+%if 0%{?klp_symbols} && "%livepatch" != ""
+%package %{livepatch}-devel
+Summary: Kernel symbols file used during kGraft patch development
+Group: System/Kernel
+Provides: klp-symbols = %version
+
+%description %{livepatch}-devel
+This package brings a file named Symbols.list, which contains a list of all
+kernel symbols and its respective kernel object . This list is to be used by
+the klp-convert tool, which helps livepatch developers by enabling automatic
+symbol resolution.
+
+%files %{livepatch}-devel -f livepatch-files
+%endif
+
+%if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y"
+%package -n cluster-md-kmp-%build_flavor
+Summary: Clustering support for MD devices
+Group: System/Kernel
+Requires: %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: cluster-md-kmp-preempt = %version-%release
+%endif
+%endif
+Enhances: %name
+Supplements: packageand(%name:cluster-md-kmp-%build_flavor)
+Requires: dlm-kmp-%build_flavor = %version-%release
+
+%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 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 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 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 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 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 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
+
+%package -n reiserfs-kmp-%build_flavor
+Summary: Reiserfs kernel module
+Group: System/Kernel
+Requires: %name = %version-%source_rel
+Provides: reiserfs-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: reiserfs-kmp-preempt = %version-%release
+%endif
+%endif
+Enhances: %name
+Supplements: packageand(%name:reiserfs-kmp-%build_flavor)
+
+%description -n reiserfs-kmp-%build_flavor
+The reiserfs file system is no longer supported in SLE15. This package
+provides the reiserfs module for the installation system.
+
+%pre -n reiserfs-kmp-%build_flavor
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "reiserfs-kmp-%build_flavor" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%post -n reiserfs-kmp-%build_flavor
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "reiserfs-kmp-%build_flavor" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%preun -n reiserfs-kmp-%build_flavor
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "reiserfs-kmp-%build_flavor" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%postun -n reiserfs-kmp-%build_flavor
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "reiserfs-kmp-%build_flavor" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%posttrans -n reiserfs-kmp-%build_flavor
+%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "reiserfs-kmp-%build_flavor" \
+ --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
+ --image "%image" --flavor "%build_flavor" --variant "%variant" \
+ --usrmerged "%{usrmerged}" --certs "%certs" "$@"
+
+%files -n reiserfs-kmp-%build_flavor -f reiserfs-kmp.files
+
+%endif # %CONFIG_SUSE_KERNEL_SUPPORTED
+%endif # %CONFIG_MODULES
+
%prep
if ! [ -e %{S:0} ]; then
echo "The %name-%version.nosrc.rpm package does not contain the" \
@@ -546,7 +1365,6 @@ cat > .kernel-binary.spec.buildenv <<EOF
export KBUILD_BUILD_TIMESTAMP="$(LANG=C date -d "$date") (${commit:0:7})"
export KBUILD_VERBOSE=0
export KBUILD_SYMTYPES=1
-export KBUILD_OVERRIDE=1
export KBUILD_BUILD_USER=geeko
export KBUILD_BUILD_HOST=buildhost
export HOST_EXTRACFLAGS="-include %_sourcedir/host-memcpy-hack.h"
@@ -823,7 +1641,7 @@ add_vmlinux()
# sign the modules, firmware and possibly the kernel in the buildservice
BRP_PESIGN_FILES=""
%if "%CONFIG_EFI_STUB" == "y"
-%if 0%{?usrmerged}
+%if %{usrmerged}
BRP_PESIGN_FILES="%modules_dir/%image"
%else
BRP_PESIGN_FILES="/boot/%image-%kernelrelease-%build_flavor"
@@ -831,7 +1649,7 @@ BRP_PESIGN_FILES="/boot/%image-%kernelre
%endif
%if ! %sb_efi_only
%ifarch s390x ppc64 ppc64le
-%if 0%{?usrmerged}
+%if %{usrmerged}
BRP_PESIGN_FILES="%modules_dir/%image"
%else
BRP_PESIGN_FILES="/boot/%image-%kernelrelease-%build_flavor"
@@ -1053,6 +1871,31 @@ if [ %CONFIG_MODULES = y ]; then
fi
fi
+# CONFIG_GDB_SCRIPTS
+if [ -e vmlinux-gdb.py ]; then
+ DEST=%rpm_install_dir/%cpu_arch_flavor/
+ install -m 755 -d "$DEST"
+ # set sys.path to our devel.rpm scripts
+ sed 's@\(sys\.path\.insert(0, \).*@\1"%obj_install_dir/%cpu_arch_flavor/scripts/gdb/")@' vmlinux-gdb.py > "$DEST/vmlinux-gdb.py"
+
+ DEST=%rpm_install_dir/%cpu_arch_flavor/scripts/gdb/linux
+ install -m 755 -d "$DEST"
+ pushd scripts/gdb/linux/
+ for file in *.py; do
+ if test -L "$file"; then
+ # relink against our devel.rpm sources, not of buildroot's
+ ln -s "%src_install_dir/scripts/gdb/linux/$file" "$DEST/$file"
+ else
+ cp -p "$file" "$DEST"
+ fi
+ done
+ popd
+
+ DEST=%{buildroot}%{_datadir}/gdb/auto-load%modules_dir
+ install -m 755 -d "$DEST"
+ ln -s %obj_install_dir/%cpu_arch_flavor/vmlinux-gdb.py "$DEST/vmlinux-gdb.py"
+fi
+
rm -rf %{buildroot}/lib/firmware
add_dirs_to_filelist() {
@@ -1066,7 +1909,7 @@ add_dirs_to_filelist() {
# print all parents
:a
# skip directories owned by other packages
- s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/src)/[^/]+$::
+ s:^%%dir (/boot|/etc|(/usr)?/lib/(modules|firmware)|/usr/share|/usr/src)/[^/]+$::
s:/[^/]+$::p
ta
' "$@" | sort -u
@@ -1078,7 +1921,7 @@ if [ -f %my_builddir/livepatch-files.no_
fi
# does not exist for non-modularized kernels
-%if 0%{?usrmerged}
+%if %{usrmerged}
mkdir -p %{buildroot}%modules_dir
%endif
shopt -s nullglob dotglob
@@ -1088,7 +1931,7 @@ shopt -s nullglob dotglob
echo "%modules_dir/source"
cd %buildroot
for file in boot/symtypes*; do
-%if 0%{?usrmerged}
+%if %{usrmerged}
l="${file##*/}"
l="%modules_dir/${l//-%kernelrelease-%build_flavor}"
mv "$file" "%{buildroot}$l"
@@ -1099,6 +1942,10 @@ shopt -s nullglob dotglob
echo "/$file"
%endif
done
+ if test -d .%{_datadir}/gdb/; then
+ find .%obj_install_dir/%cpu_arch_flavor/scripts/gdb/linux/ -name '*.py' -type l | sed -e 's/^[.]//'
+ echo "%{_datadir}/gdb/auto-load%modules_dir/vmlinux-gdb.py"
+ fi
} | add_dirs_to_filelist >%my_builddir/kernel-devel.files
( cd %buildroot ; find .%obj_install_dir/%cpu_arch_flavor -type f ; ) | \
sed -e 's/^[.]//' | grep -v -e '[.]ipa-clones$' -e '/Symbols[.]list$' -e '/ipa-clones[.]list$'| \
@@ -1129,19 +1976,19 @@ add_dirs_to_filelist >> %my_builddir/ker
echo -n "%%ghost "
fi
;;
-%if 0%{?usrmerged}
+%if %{usrmerged}
boot/vmlinuz-*)
echo -n "%%attr(0644, root, root) "
;;
%endif
boot/symtypes*)
-%if 0%{?usrmerged}
+%if %{usrmerged}
echo "%exclude $l"
%endif
continue
;;
esac
-%if 0%{?usrmerged}
+%if %{usrmerged}
mv "$f" "./$l"
ln -s "..$l" $f
# the find in the CONFIG_MODULES condition below also finds the files
@@ -1165,7 +2012,7 @@ add_dirs_to_filelist >> %my_builddir/ker
! -path '*/modules.builtin.modinfo' \) -printf '%%%%ghost /%%p\n' \
-o -name '*.ko' -prune \
-o \( -type f \
-%if 0%{?usrmerged}
+%if %{usrmerged}
! -path '*/symtypes*' ! -path '*/vmlinu*' \
%endif
\) -printf '/%%p\n'
@@ -1213,7 +2060,7 @@ add_dirs_to_filelist >> %my_builddir/ker
%if 0%{?sle_version} > 150300
modprobe_d_dir=/lib/modprobe.d
%endif
- %if 0%{?usrmerged}
+ %if %{usrmerged}
modprobe_d_dir=/usr/lib/modprobe.d
%endif
@@ -1247,835 +2094,4 @@ fi
# /usr/src/linux-obj intentionally, to not accidentally break timestamps there
%fdupes %buildroot%modules_dir
-%pre
-%if "%build_flavor" != "zfcpdump"
-/usr/lib/module-init-tools/kernel-scriptlets/rpm-pre --name "%name" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-%endif
-%post
-%if "%build_flavor" != "zfcpdump"
-/usr/lib/module-init-tools/kernel-scriptlets/rpm-post --name "%name" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-%endif
-%preun
-%if "%build_flavor" != "zfcpdump"
-%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-preun --name "%name" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-%endif
-%postun
-%if "%build_flavor" != "zfcpdump"
-%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-postun --name "%name" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-%endif
-%posttrans
-%if "%build_flavor" != "zfcpdump"
-/usr/lib/module-init-tools/kernel-scriptlets/rpm-posttrans --name "%name" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-%endif
-%files -f kernel-main.files
-
-%if "%CONFIG_MODULES" == "y" && %split_base
-%package base
-Summary: The Standard Kernel - base modules
-Group: System/Kernel
-Url: http://www.kernel.org/
-Provides: kernel-base = %version-%source_rel
-Provides: multiversion(kernel)
-Conflicts: %name = %version-%source_rel
-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
-Requires(post): suse-module-tools
-# For depmod (modutils is a dependency provided by both module-init-tools and
-# kmod-compat)
-Requires(post): modutils
-# This Requires is wrong, because the post/postun scripts have a
-# test -x update-bootloader, having perl-Bootloader is not a hard requirement.
-# But, there is no way to tell rpm or yast to schedule the installation
-# of perl-Bootloader before kernel-binary.rpm if both are in the list of
-# packages to install/update. Likewise, this is true for dracut.
-# Need a perl-Bootloader with /usr/lib/bootloader/bootloader_entry
-Requires(post): perl-Bootloader >= 0.4.15
-Requires(post): 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 0%{?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-f5aa89b3e95322c79e43c459f5b6862dec51fc5f
-Provides: kernel-srchash-f5aa89b3e95322c79e43c459f5b6862dec51fc5f
-
-%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
-%endif
-%ifarch x86_64
-Provides: kernel-trace-base = 3.13
-Obsoletes: kernel-trace-base <= 3.13
-Provides: kernel-bigsmp-base = 3.1
-Obsoletes: kernel-bigsmp-base <= 3.1
-Provides: kernel-desktop-base = 4.3
-Obsoletes: kernel-desktop-base <= 4.3
-Provides: kernel-xen-base = 4.4
-Obsoletes: kernel-xen-base <= 4.4
-Provides: kernel-ec2-base = 4.4
-Obsoletes: kernel-ec2-base <= 4.4
-%endif
-%obsolete_rebuilds %name-base
-%ifarch %ix86
-Conflicts: libc.so.6()(64bit)
-%endif
-
-%description base
-The standard kernel for both uniprocessor and multiprocessor systems.
-
-This package contains only the base modules, required in all installs.
-
-
-%source_timestamp
-%pre base
-/usr/lib/module-init-tools/kernel-scriptlets/rpm-pre --name "%name-base" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%post base
-/usr/lib/module-init-tools/kernel-scriptlets/rpm-post --name "%name-base" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%preun base
-%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-preun --name "%name-base" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%postun base
-%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/rpm-postun --name "%name-base" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%posttrans base
-/usr/lib/module-init-tools/kernel-scriptlets/rpm-posttrans --name "%name-base" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%files base -f kernel-base.files
-%endif
-
-%package extra
-Summary: The Standard Kernel - Unsupported kernel modules
-Group: System/Kernel
-URL: https://www.kernel.org/
-Provides: %name-extra_%_target_cpu = %version-%source_rel
-Provides: kernel-extra = %version-%source_rel
-Provides: multiversion(kernel)
-Requires: %{name}_%_target_cpu = %version-%source_rel
-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
-%endif
-%ifarch x86_64
-Provides: kernel-trace-extra = 3.13
-Obsoletes: kernel-trace-extra <= 3.13
-Provides: kernel-bigsmp-extra = 3.1
-Obsoletes: kernel-bigsmp-extra <= 3.1
-Provides: kernel-desktop-extra = 4.3
-Obsoletes: kernel-desktop-extra <= 4.3
-Provides: kernel-xen-extra = 4.4
-Obsoletes: kernel-xen-extra <= 4.4
-Provides: kernel-ec2-extra = 4.4
-Obsoletes: kernel-ec2-extra <= 4.4
-%endif
-%obsolete_rebuilds %name-extra
-Supplements: packageand(product(SLED):%{name}_%_target_cpu)
-Supplements: packageand(product(sle-we):%{name}_%_target_cpu)
-Supplements: packageand(product(Leap):%{name}_%_target_cpu)
-%ifarch %ix86
-Conflicts: libc.so.6()(64bit)
-%endif
-%if %build_default
-%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
-Provides: kernel-preempt-extra = %version-%release
-Provides: kernel-preempt-extra_%_target_cpu = %version-%source_rel
-%endif
-%endif
-
-%description extra
-The standard kernel for both uniprocessor and multiprocessor systems.
-
-This package contains additional modules not supported by SUSE.
-
-
-%source_timestamp
-
-%pre extra
-/usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "%name-extra" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%post extra
-/usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "%name-extra" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%preun extra
-%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "%name-extra" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%postun extra
-%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "%name-extra" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%posttrans extra
-/usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "%name-extra" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%if %split_extra
-
-%files extra -f kernel-extra.files
-%endif
-
-%if %split_extra && %split_optional
-%package optional
-Summary: The Standard Kernel - Optional kernel modules
-Group: System/Kernel
-URL: https://www.kernel.org/
-Provides: %name-optional_%_target_cpu = %version-%source_rel
-Provides: kernel-optional = %version-%source_rel
-Provides: multiversion(kernel)
-Requires: %name-extra_%_target_cpu = %version-%source_rel
-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
-%endif
-%ifarch x86_64
-Provides: kernel-trace-optional = 3.13
-Obsoletes: kernel-trace-optional <= 3.13
-Provides: kernel-bigsmp-optional = 3.1
-Obsoletes: kernel-bigsmp-optional <= 3.1
-Provides: kernel-desktop-optional = 4.3
-Obsoletes: kernel-desktop-optional <= 4.3
-Provides: kernel-xen-optional = 4.4
-Obsoletes: kernel-xen-optional <= 4.4
-Provides: kernel-ec2-optional = 4.4
-Obsoletes: kernel-ec2-optional <= 4.4
-%endif
-%obsolete_rebuilds %name-optional
-Supplements: packageand(product(Leap):%{name}_%_target_cpu)
-%ifarch %ix86
-Conflicts: libc.so.6()(64bit)
-%endif
-%if %build_default
-%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
-Provides: kernel-preempt-optional = %version-%release
-Provides: kernel-preempt-optional_%_target_cpu = %version-%source_rel
-%endif
-%endif
-
-%description optional
-The standard kernel for both uniprocessor and multiprocessor systems.
-
-This package contains optional modules only for openSUSE Leap.
-
-
-%source_timestamp
-
-%pre optional
-/usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "%name-optional" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%post optional
-/usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "%name-optional" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%preun optional
-%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "%name-optional" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%postun optional
-%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "%name-optional" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%posttrans optional
-/usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "%name-optional" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%files optional -f kernel-optional.files
-%endif
-
-%if "%CONFIG_KMSG_IDS" == "y"
-
-%package man
-Summary: The collection of man pages generated by the kmsg script
-Group: System/Kernel
-
-%description man
-This package includes the man pages that have been generated from the
-kmsg message documentation comments.
-
-
-%source_timestamp
-%files man
-/usr/share/man/man9/*
-%endif
-
-%if 0%{?separate_vdso}
-%package vdso
-Summary: vdso binaries for debugging purposes
-Group: System/Kernel
-
-%description vdso
-This package includes the vdso binaries. They can be used for debugging. The
-actual binary linked to the programs is loaded from the in-memory image, not
-from this package.
-
-
-%source_timestamp
-%files vdso
-/%{?usrmerged:usr/}lib/modules/%kernelrelease-%build_flavor/vdso/
-%endif
-
-%package devel
-Summary: Development files necessary for building kernel modules
-Group: Development/Sources
-Provides: %name-devel = %version-%source_rel
-Provides: multiversion(kernel)
-%if ! %build_vanilla && ! %vanilla_only
-Requires: kernel-devel%variant = %version-%source_rel
-Recommends: make
-Recommends: gcc
-Recommends: perl
-# for objtool
-Requires: libelf-devel
-Supplements: packageand(%name:kernel-devel%variant)
-%else
-Requires: kernel-source-vanilla = %version-%source_rel
-Supplements: packageand(%name:kernel-source-vanilla)
-%endif
-%if "%CONFIG_DEBUG_INFO_BTF_MODULES" == "y"
-Requires: dwarves >= 1.22
-%endif
-%if %build_default
-%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
-Provides: kernel-preempt-devel = %version-%release
-%endif
-%endif
-%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
-%endif
-%ifarch x86_64
-Provides: kernel-trace-devel = 3.13
-Obsoletes: kernel-trace-devel <= 3.13
-Provides: kernel-bigsmp-devel = 3.1
-Obsoletes: kernel-bigsmp-devel <= 3.1
-Provides: kernel-desktop-devel = 4.3
-Obsoletes: kernel-desktop-devel <= 4.3
-Provides: kernel-xen-devel = 4.4
-Obsoletes: kernel-xen-devel <= 4.4
-Provides: kernel-ec2-devel = 4.4
-Obsoletes: kernel-ec2-devel <= 4.4
-%endif
-%obsolete_rebuilds %name-devel
-PreReq: coreutils
-
-%description devel
-This package contains files necessary for building kernel modules (and
-kernel module packages) against the %build_flavor flavor of the kernel.
-
-
-%source_timestamp
-
-%if "%CONFIG_MODULES" == "y"
-
-%pre devel
-
-# handle update from an older kernel-source with linux-obj as symlink
-if [ -h /usr/src/linux-obj ]; then
- rm -vf /usr/src/linux-obj
-fi
-
-%post devel
-%relink_function
-
-relink ../../linux-%{kernelrelease}%{variant}-obj/"%cpu_arch_flavor" /usr/src/linux-obj/"%cpu_arch_flavor"
-
-%files devel -f kernel-devel.files
-%dir /usr/src/linux-obj
-%dir /usr/src/linux-obj/%cpu_arch
-%ghost /usr/src/linux-obj/%cpu_arch_flavor
-%exclude %obj_install_dir/%cpu_arch_flavor/Symbols.list
-%if "%kmp_target_cpu" != "%cpu_arch"
-%obj_install_dir/%kmp_target_cpu
-/usr/src/linux-obj/%kmp_target_cpu
-%endif
-
-%if "%livepatch" != "" && "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y" && (("%variant" == "" && %build_default) || ("%variant" == "-rt" && 0%livepatch_rt))
-%if "%livepatch" == "kgraft"
-%define patch_package %{livepatch}-patch
-%else
-%define patch_package kernel-%{livepatch}
-%endif
-%package %{livepatch}
-Summary: Metapackage to pull in matching %patch_package package
-Group: System/Kernel
-Requires: %{patch_package}-%(echo %{version}-%{source_rel} | sed 'y/\./_/')-%{build_flavor}
-Provides: multiversion(kernel)
-%if "%variant" != "-rt"
-Provides: kernel-default-kgraft = %version
-Provides: kernel-xen-kgraft = %version
-%if "%livepatch" != "kgraft"
-Obsoletes: kernel-default-kgraft < %version
-Obsoletes: kernel-xen-kgraft < %version
-%endif
-%endif
-
-%description %{livepatch}
-This is a metapackage that pulls in the matching %patch_package package for a
-given kernel version. The advantage of the metapackage is that its name is
-static, unlike the %{patch_package}-<kernel-version>-flavor package names.
-
-%files %{livepatch}
-# rpmlint complains about empty packages, so lets own something
-%dir %modules_dir
-%endif
-
-%if 0%{?klp_symbols} && "%livepatch" != ""
-%package %{livepatch}-devel
-Summary: Kernel symbols file used during kGraft patch development
-Group: System/Kernel
-Provides: klp-symbols = %version
-
-%description %{livepatch}-devel
-This package brings a file named Symbols.list, which contains a list of all
-kernel symbols and its respective kernel object . This list is to be used by
-the klp-convert tool, which helps livepatch developers by enabling automatic
-symbol resolution.
-
-%files %{livepatch}-devel -f livepatch-files
-%endif
-
-%if "%CONFIG_SUSE_KERNEL_SUPPORTED" == "y"
-%package -n cluster-md-kmp-%build_flavor
-Summary: Clustering support for MD devices
-Group: System/Kernel
-Requires: %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: cluster-md-kmp-preempt = %version-%release
-%endif
-%endif
-Enhances: %name
-Supplements: packageand(%name:cluster-md-kmp-%build_flavor)
-Requires: dlm-kmp-%build_flavor = %version-%release
-
-%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 cluster-md-kmp-%build_flavor
-/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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%post -n cluster-md-kmp-%build_flavor
-/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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%posttrans -n cluster-md-kmp-%build_flavor
-/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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%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
-/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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%post -n dlm-kmp-%build_flavor
-/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 "0%{?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 "0%{?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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%posttrans -n dlm-kmp-%build_flavor
-/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 "0%{?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
-/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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%post -n gfs2-kmp-%build_flavor
-/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 "0%{?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 "0%{?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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%posttrans -n gfs2-kmp-%build_flavor
-/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 "0%{?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
-/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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%post -n kselftests-kmp-%build_flavor
-/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 "0%{?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 "0%{?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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%posttrans -n kselftests-kmp-%build_flavor
-/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 "0%{?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
-/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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%post -n ocfs2-kmp-%build_flavor
-/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 "0%{?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 "0%{?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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%posttrans -n ocfs2-kmp-%build_flavor
-/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 "0%{?usrmerged}" --certs "%certs" "$@"
-
-%files -n ocfs2-kmp-%build_flavor -f ocfs2-kmp.files
-
-%package -n reiserfs-kmp-%build_flavor
-Summary: Reiserfs kernel module
-Group: System/Kernel
-Requires: %name = %version-%source_rel
-Provides: reiserfs-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: reiserfs-kmp-preempt = %version-%release
-%endif
-%endif
-Enhances: %name
-Supplements: packageand(%name:reiserfs-kmp-%build_flavor)
-
-%description -n reiserfs-kmp-%build_flavor
-The reiserfs file system is no longer supported in SLE15. This package
-provides the reiserfs module for the installation system.
-
-%pre -n reiserfs-kmp-%build_flavor
-/usr/lib/module-init-tools/kernel-scriptlets/inkmp-pre --name "reiserfs-kmp-%build_flavor" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%post -n reiserfs-kmp-%build_flavor
-/usr/lib/module-init-tools/kernel-scriptlets/inkmp-post --name "reiserfs-kmp-%build_flavor" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%preun -n reiserfs-kmp-%build_flavor
-%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-preun --name "reiserfs-kmp-%build_flavor" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%postun -n reiserfs-kmp-%build_flavor
-%run_if_exists /usr/lib/module-init-tools/kernel-scriptlets/inkmp-postun --name "reiserfs-kmp-%build_flavor" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%posttrans -n reiserfs-kmp-%build_flavor
-/usr/lib/module-init-tools/kernel-scriptlets/inkmp-posttrans --name "reiserfs-kmp-%build_flavor" \
- --version "%version" --release "%release" --kernelrelease "%kernelrelease" \
- --image "%image" --flavor "%build_flavor" --variant "%variant" \
- --usrmerged "0%{?usrmerged}" --certs "%certs" "$@"
-
-%files -n reiserfs-kmp-%build_flavor -f reiserfs-kmp.files
-
-%endif # %CONFIG_SUSE_KERNEL_SUPPORTED
-%endif # %CONFIG_MODULES
-
%changelog