2024-05-03 14:13:34 +02:00
|
|
|
#
|
|
|
|
# spec file for package kernel-rt_debug
|
|
|
|
#
|
|
|
|
# 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
|
|
|
|
# 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/
|
|
|
|
#
|
|
|
|
# needssslcertforbuild
|
|
|
|
|
|
|
|
|
|
|
|
%define srcversion 6.4
|
|
|
|
%define patchversion 6.4.0
|
2024-09-09 16:37:46 +02:00
|
|
|
%define git_commit 02ae186887e396576d7eac8d2cd8e1c22baa862a
|
2024-05-03 14:13:34 +02:00
|
|
|
%define variant -rt%{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 1
|
|
|
|
%define build_flavor rt_debug
|
2024-09-09 16:37:46 +02:00
|
|
|
%define generate_compile_commands 1
|
2024-05-03 14:13:34 +02:00
|
|
|
|
|
|
|
%include %_sourcedir/kernel-spec-macros
|
|
|
|
|
|
|
|
%(chmod +x %_sourcedir/{guards,apply-patches,check-for-config-changes,group-source-files.pl,split-modules,modversions,kabi.pl,mkspec,compute-PATCHVERSION.sh,arch-symbols,log.sh,try-disable-staging-driver,compress-vmlinux.sh,mkspec-dtb,check-module-license,klp-symbols,splitflist,mergedep,moddep,modflist,kernel-subpackage-build})
|
|
|
|
|
|
|
|
Name: kernel-rt_debug
|
|
|
|
Version: 6.4.0
|
|
|
|
%if 0%{?is_kotd}
|
2024-09-09 16:37:46 +02:00
|
|
|
Release: <RELEASE>.g02ae186
|
2024-05-03 14:13:34 +02:00
|
|
|
%else
|
|
|
|
Release: 0
|
|
|
|
%endif
|
|
|
|
Summary: The Linux 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
|
|
|
|
%endif
|
|
|
|
BuildRequires: bc
|
|
|
|
BuildRequires: bison
|
|
|
|
BuildRequires: coreutils
|
|
|
|
BuildRequires: fdupes
|
|
|
|
BuildRequires: flex
|
|
|
|
# Cannot test %%CONFIG_GCC_PLUGINS here because the buildservice parser
|
|
|
|
# does not expand %%(...)
|
|
|
|
%if "%build_flavor" == "syzkaller"
|
|
|
|
# Needed by scripts/gcc-plugin.sh
|
|
|
|
BuildRequires: gcc-c++
|
|
|
|
BuildRequires: gcc-devel
|
|
|
|
%endif
|
|
|
|
BuildRequires: hmaccalc
|
|
|
|
BuildRequires: libopenssl-devel
|
|
|
|
BuildRequires: modutils
|
|
|
|
BuildRequires: python3-base
|
|
|
|
# Used to sign the kernel in the buildservice
|
|
|
|
BuildRequires: openssl
|
|
|
|
BuildRequires: pesign-obs-integration
|
|
|
|
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150300
|
|
|
|
# pahole for CONFIG_DEBUG_INFO_BTF
|
|
|
|
BuildRequires: dwarves >= 1.22
|
|
|
|
%endif
|
|
|
|
# for objtool
|
|
|
|
BuildRequires: libelf-devel
|
|
|
|
# required for 50-check-kernel-build-id rpm check
|
|
|
|
BuildRequires: elfutils
|
|
|
|
%ifarch %arm
|
|
|
|
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 suse-kernel-rpm-scriptlets
|
|
|
|
# Remove some packages that are installed automatically by the build system,
|
|
|
|
# but are not needed to build the kernel
|
|
|
|
#!BuildIgnore: autoconf automake gettext-runtime libtool cvs gettext-tools udev insserv
|
|
|
|
%if ! 0%{?is_kotd} || ! %{?is_kotd_qa}%{!?is_kotd_qa:0}
|
|
|
|
ExclusiveArch: aarch64 x86_64
|
|
|
|
%else
|
|
|
|
ExclusiveArch: do_not_build
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%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
|
|
|
|
|
|
|
|
%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 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
|
|
|
|
%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
|
|
|
|
|
2024-09-09 16:37:46 +02:00
|
|
|
%if 0%{?_project:1} && ( %(echo %_project | grep -Ex -f %_sourcedir/release-projects | grep -vc ^PTF) || %(echo %_project | grep -Ec "^(Devel:)?Kernel:") )
|
2024-05-03 14:13:34 +02:00
|
|
|
%define klp_symbols 1
|
|
|
|
%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
|
|
|
|
|
|
|
|
%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
|
|
|
|
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
|
|
|
|
Source67: log.sh
|
|
|
|
Source68: host-memcpy-hack.h
|
|
|
|
Source69: try-disable-staging-driver
|
|
|
|
Source70: kernel-obs-build.spec.in
|
|
|
|
Source71: kernel-obs-qa.spec.in
|
|
|
|
Source72: compress-vmlinux.sh
|
|
|
|
Source73: dtb.spec.in.in
|
|
|
|
Source74: mkspec-dtb
|
|
|
|
Source75: release-projects
|
|
|
|
Source76: check-module-license
|
|
|
|
Source77: klp-symbols
|
|
|
|
Source78: modules.fips
|
|
|
|
Source79: splitflist
|
|
|
|
Source80: mergedep
|
|
|
|
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: 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: 67
|
|
|
|
NoSource: 68
|
|
|
|
NoSource: 69
|
|
|
|
NoSource: 70
|
|
|
|
NoSource: 71
|
|
|
|
NoSource: 72
|
|
|
|
NoSource: 73
|
|
|
|
NoSource: 74
|
|
|
|
NoSource: 75
|
|
|
|
NoSource: 76
|
|
|
|
NoSource: 77
|
|
|
|
NoSource: 78
|
|
|
|
NoSource: 79
|
|
|
|
NoSource: 80
|
|
|
|
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
|
|
|
|
%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 x86_64
|
|
|
|
Provides: kernel-compute_debug = 3.13
|
|
|
|
Obsoletes: kernel-compute_debug <= 3.13
|
|
|
|
%endif
|
|
|
|
%ifarch x86_64
|
|
|
|
Provides: kernel-compute_debug-base = 3.13
|
|
|
|
Obsoletes: kernel-compute_debug-base <= 3.13
|
|
|
|
%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
|
|
|
|
|
|
|
|
%if %build_default
|
|
|
|
%if "%CONFIG_PREEMPT_DYNAMIC" == "y"
|
|
|
|
Provides: kernel-preempt = %version-%release
|
|
|
|
Provides: kernel-preempt_%_target_cpu = %version-%source_rel
|
|
|
|
%endif
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%{lua: fd, err = io.open(rpm.expand('%_sourcedir') .. '/obsolete-kmps')
|
|
|
|
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('Obsoletes: ' .. package .. '-kmp-' .. rpm.expand('%build_flavor') .. ' <= '.. version .. '\n')
|
|
|
|
print('Provides: ' .. package .. '-kmp = ' .. version .. '.1\n')
|
|
|
|
print('Provides: ' .. package .. '-kmp-' .. rpm.expand('%build_flavor') .. ' = '.. version .. '.1\n')
|
|
|
|
end
|
|
|
|
end
|
|
|
|
fd:close()
|
|
|
|
}
|
|
|
|
|
|
|
|
%description
|
|
|
|
The Linux Kernel.
|
|
|
|
|
|
|
|
|
|
|
|
%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 Linux 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 x86_64
|
|
|
|
Provides: kernel-compute_debug-base = 3.13
|
|
|
|
Obsoletes: kernel-compute_debug-base <= 3.13
|
|
|
|
%endif
|
|
|
|
%obsolete_rebuilds %name-base
|
|
|
|
%ifarch %ix86
|
|
|
|
Conflicts: libc.so.6()(64bit)
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%description base
|
|
|
|
The Linux Kernel.
|
|
|
|
|
|
|
|
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 Linux 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 x86_64
|
|
|
|
Provides: kernel-compute_debug-extra = 3.13
|
|
|
|
Obsoletes: kernel-compute_debug-extra <= 3.13
|
|
|
|
%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 Linux Kernel.
|
|
|
|
|
|
|
|
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 Linux 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 x86_64
|
|
|
|
Provides: kernel-compute_debug-optional = 3.13
|
|
|
|
Obsoletes: kernel-compute_debug-optional <= 3.13
|
|
|
|
%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 Linux Kernel.
|
|
|
|
|
|
|
|
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
|
2024-08-14 18:14:08 +02:00
|
|
|
%dir %modules_dir
|
2024-05-03 14:13:34 +02:00
|
|
|
%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 x86_64
|
|
|
|
Provides: kernel-compute_debug-devel = 3.13
|
|
|
|
Obsoletes: kernel-compute_debug-devel <= 3.13
|
|
|
|
%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
|
2024-09-09 16:37:46 +02:00
|
|
|
%if %generate_compile_commands
|
|
|
|
%exclude %obj_install_dir/%cpu_arch_flavor/compile_commands.json
|
|
|
|
%endif
|
2024-05-03 14:13:34 +02:00
|
|
|
%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"
|
|