summaryrefslogtreecommitdiffstats
path: root/kernel.spec
diff options
context:
space:
mode:
Diffstat (limited to 'kernel.spec')
-rw-r--r--kernel.spec1561
1 files changed, 1298 insertions, 263 deletions
diff --git a/kernel.spec b/kernel.spec
index 0cee99539..fa517ef4f 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -1,27 +1,58 @@
# We have to override the new %%install behavior because, well... the kernel is special.
%global __spec_install_pre %{___build_pre}
+# At the time of this writing (2019-03), RHEL8 packages use w2.xzdio
+# compression for rpms (xz, level 2).
+# Kernel has several large (hundreds of mbytes) rpms, they take ~5 mins
+# to compress by single-threaded xz. Switch to threaded compression,
+# and from level 2 to 3 to keep compressed sizes close to "w2" results.
+#
+# NB: if default compression in /usr/lib/rpm/redhat/macros ever changes,
+# this one might need tweaking (e.g. if default changes to w3.xzdio,
+# change below to w4T.xzdio):
+#
+# This is disabled on i686 as it triggers oom errors
+
+%ifnarch i686
+%define _binary_payload w3T.xzdio
+%endif
+
Summary: The Linux kernel
-# For a stable, released kernel, released_kernel should be 1. For rawhide
-# and/or a kernel built from an rc or git snapshot, released_kernel should
-# be 0.
+# For a kernel released for public testing, released_kernel should be 1.
+# For internal testing builds during development, it should be 0.
+# For rawhide and/or a kernel built from an rc or git snapshot,
+# released_kernel should be 0.
+# For a stable, released kernel, released_kernel should be 1.
%global released_kernel 0
-# Sign modules on x86. Make sure the config files match this setting if more
-# architectures are added.
-%ifarch %{ix86} x86_64
+%if 0%{?fedora}
+%define secure_boot_arch x86_64
+%else
+%define secure_boot_arch x86_64 aarch64 s390x ppc64le
+%endif
+
+# Signing for secure boot authentication
+%ifarch %{secure_boot_arch}
%global signkernel 1
-%global signmodules 1
-%global zipmodules 1
%else
%global signkernel 0
+%endif
+
+# Sign modules on all arches
%global signmodules 1
+
+# Compress modules only for architectures that build modules
+%ifarch noarch
+%global zipmodules 0
+%else
%global zipmodules 1
%endif
%if %{zipmodules}
%global zipsed -e 's/\.ko$/\.ko.xz/'
+# for parallel xz processes, replace with 1 to go back to single process
+%global zcpu `nproc --all`
%endif
# define buildid .local
@@ -42,13 +73,13 @@ Summary: The Linux kernel
# For non-released -rc kernels, this will be appended after the rcX and
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
#
-%global baserelease 1
+%global baserelease 2
%global fedora_build %{baserelease}
# base_sublevel is the kernel version we're starting with and patching
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
# which yields a base_sublevel of 0.
-%define base_sublevel 0
+%define base_sublevel 3
## If this is a released kernel ##
%if 0%{?released_kernel}
@@ -67,9 +98,9 @@ Summary: The Linux kernel
# The next upstream release sublevel (base_sublevel+1)
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
# The rc snapshot level
-%global rcrev 2
+%global rcrev 5
# The git snapshot level
-%define gitrev 3
+%define gitrev 0
# Set rpm version accordingly
%define rpmversion 5.%{upstream_sublevel}.0
%endif
@@ -86,10 +117,12 @@ Summary: The Linux kernel
#
# standard kernel
%define with_up %{?_without_up: 0} %{?!_without_up: 1}
-# kernel PAE (only valid for i686 (PAE) and ARM (lpae))
+# kernel PAE (only valid for ARM (lpae))
%define with_pae %{?_without_pae: 0} %{?!_without_pae: 1}
# kernel-debug
%define with_debug %{?_without_debug: 0} %{?!_without_debug: 1}
+# kernel-doc
+%define with_doc %{?_without_doc: 0} %{?!_without_doc: 1}
# kernel-headers
%define with_headers %{?_without_headers: 0} %{?!_without_headers: 1}
%define with_cross_headers %{?_without_cross_headers: 0} %{?!_without_cross_headers: 1}
@@ -97,6 +130,10 @@ Summary: The Linux kernel
%define with_debuginfo %{?_without_debuginfo: 0} %{?!_without_debuginfo: 1}
# Want to build a the vsdo directories installed
%define with_vdso_install %{?_without_vdso_install: 0} %{?!_without_vdso_install: 1}
+# kernel-abi-whitelists
+%define with_kernel_abi_whitelists %{?_without_kernel_abi_whitelists: 0} %{?!_without_kernel_abi_whitelists: 1}
+# internal samples and selftests
+%define with_selftests %{?_without_selftests: 0} %{?!_without_selftests: 1}
#
# Additional options for user-friendly one-off kernel building:
#
@@ -106,6 +143,17 @@ Summary: The Linux kernel
%define with_paeonly %{?_with_paeonly: 1} %{?!_with_paeonly: 0}
# Only build the debug kernel (--with dbgonly):
%define with_dbgonly %{?_with_dbgonly: 1} %{?!_with_dbgonly: 0}
+# Control whether we perform a compat. check against published ABI.
+#%define with_kabichk %{?_without_kabichk: 0} %{?!_without_kabichk: 1}
+# Temporarily disable kabi checks until RC.
+%define with_kabichk 0
+# Control whether we perform a compat. check against DUP ABI.
+%define with_kabidupchk %{?_with_kabidupchk: 1} %{?!_with_kabidupchk: 0}
+#
+# Control whether to run an extensive DWARF based kABI check.
+# Note that this option needs to have baseline setup in SOURCE300.
+%define with_kabidwchk %{?_without_kabidwchk: 0} %{?!_without_kabidwchk: 1}
+%define with_kabidw_base %{?_with_kabidw_base: 1} %{?!_with_kabidw_base: 0}
#
# should we do C=1 builds with sparse
%define with_sparse %{?_with_sparse: 1} %{?!_with_sparse: 0}
@@ -119,15 +167,41 @@ Summary: The Linux kernel
# verbose build, i.e. no silent rules and V=1
%define with_verbose %{?_with_verbose: 1} %{?!_with_verbose: 0}
+#
+# check for mismatched config options
+%define with_configchecks %{?_without_configchecks: 0} %{?!_without_configchecks: 1}
+
+#
+# gcov support
+%define with_gcov %{?_with_gcov: 1} %{?!_with_gcov: 0}
+
+#
+# ipa_clone support
+%define with_ipaclones %{?_without_ipaclones: 0} %{?!_without_ipaclones: 1}
+
+# Want to build a vanilla kernel build without any non-upstream patches?
+%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
+
+
# Set debugbuildsenabled to 1 for production (build separate debug kernels)
# and 0 for rawhide (all kernels are debug kernels).
# See also 'make debug' and 'make release'.
-%define debugbuildsenabled 0
+%define debugbuildsenabled 1
-# Kernel headers are being split out into a separate package
%if 0%{?fedora}
+# Kernel headers are being split out into a separate package
%define with_headers 0
%define with_cross_headers 0
+# no selftests for now
+%define with_selftests 0
+# no ipa_clone for now
+%define with_ipaclones 0
+# no whitelist
+%define with_kernel_abi_whitelists 0
+# Fedora builds these separately
+%define with_perf 0
+%define with_tools 0
+%define with_bpftool 0
%endif
%if %{with_verbose}
@@ -136,9 +210,6 @@ Summary: The Linux kernel
%define make_opts -s
%endif
-# Want to build a vanilla kernel build without any non-upstream patches?
-%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
-
# pkg_release is what we'll fill in for the rpm Release: field
%if 0%{?released_kernel}
@@ -164,10 +235,35 @@ Summary: The Linux kernel
# The kernel tarball/base version
%define kversion 5.%{base_sublevel}
+
+# turn off debug kernel and kabichk for gcov builds
+%if %{with_gcov}
+%define with_debug 0
+%define with_kabichk 0
+%define with_kabidupchk 0
+%define with_kabidwchk 0
+%endif
+
+# turn off kABI DWARF-based check if we're generating the base dataset
+%if %{with_kabidw_base}
+%define with_kabidwchk 0
+%endif
+
+# kpatch_kcflags are extra compiler flags applied to base kernel
+# -fdump-ipa-clones is enabled only for base kernels on selected arches
+%if %{with_ipaclones}
+%ifarch x86_64 ppc64le
+%define kpatch_kcflags -fdump-ipa-clones
+%else
+%define with_ipaclones 0
+%endif
+%endif
+
%define make_target bzImage
%define image_install_path boot
%define KVERREL %{version}-%{release}.%{_target_cpu}
+%define KVERREL_RE %(echo %KVERREL | sed 's/+/[+]/g')
%define hdrarch %_target_cpu
%define asmarch %_target_cpu
@@ -195,9 +291,7 @@ Summary: The Linux kernel
# and debuginfo generation. Currently we rely on the old alldebug setting.
%global _build_id_links alldebug
-# kernel PAE is only built on ARMv7 in rawhide.
-# Fedora 27 and earlier still support PAE, so change this on rebases.
-# %ifnarch i686 armv7hl
+# kernel PAE is only built on ARMv7
%ifnarch armv7hl
%define with_pae 0
%endif
@@ -223,38 +317,55 @@ Summary: The Linux kernel
%define with_pae 0
%endif
-%define all_x86 i386 i686
+# turn off kABI DUP check and DWARF-based check if kABI check is disabled
+%if !%{with_kabichk}
+%define with_kabidupchk 0
+%define with_kabidwchk 0
+%endif
%if %{with_vdso_install}
%define use_vdso 1
%endif
+%ifnarch noarch
+%define with_kernel_abi_whitelists 0
+%endif
+
# Overrides for generic default options
+# only package docs noarch
+%ifnarch noarch
+%define with_doc 0
+%define doc_build_fail true
+%endif
+
+%if 0%{?fedora}
# don't do debug builds on anything but i686 and x86_64
%ifnarch i686 x86_64
%define with_debug 0
%endif
+%endif
# don't build noarch kernels or headers (duh)
%ifarch noarch
%define with_up 0
%define with_headers 0
%define with_cross_headers 0
+%define with_selftests 0
+%define with_debug 0
%define all_arch_configs kernel-%{version}-*.config
%endif
# sparse blows up on ppc
-%ifnarch %{power64}
+%ifnarch ppc64le
%define with_sparse 0
%endif
# Per-arch tweaks
-%ifarch %{all_x86}
+%ifarch i686
%define asmarch x86
%define hdrarch i386
-%define pae PAE
%define all_arch_configs kernel-%{version}-i?86*.config
%define kernel_image arch/x86/boot/bzImage
%endif
@@ -265,15 +376,14 @@ Summary: The Linux kernel
%define kernel_image arch/x86/boot/bzImage
%endif
-%ifarch %{power64}
+%ifarch ppc64le
%define asmarch powerpc
%define hdrarch powerpc
%define make_target vmlinux
%define kernel_image vmlinux
%define kernel_image_elf 1
-%ifarch ppc64le
%define all_arch_configs kernel-%{version}-ppc64le*.config
-%endif
+%define kcflags -O3
%endif
%ifarch s390x
@@ -288,7 +398,6 @@ Summary: The Linux kernel
%define skip_nonpae_vdso 1
%define asmarch arm
%define hdrarch arm
-%define pae lpae
%define make_target bzImage
%define kernel_image arch/arm/boot/zImage
# http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/091404.html
@@ -299,6 +408,8 @@ Summary: The Linux kernel
%define with_headers 0
%define with_cross_headers 0
%endif
+# These currently don't compile on armv7
+%define with_selftests 0
%endif
%ifarch aarch64
@@ -312,11 +423,7 @@ Summary: The Linux kernel
# Should make listnewconfig fail if there's config options
# printed out?
%if %{nopatches}
-%define listnewconfig_fail 0
-%define configmismatch_fail 0
-%else
-%define listnewconfig_fail 1
-%define configmismatch_fail 1
+%define with_configchecks 0
%endif
# To temporarily exclude an architecture from being built, add it to
@@ -326,23 +433,27 @@ Summary: The Linux kernel
# Which is a BadThing(tm).
# We only build kernel-headers on the following...
+%if 0%{?fedora}
%define nobuildarches i386
+%else
+%define nobuildarches i386 i686
+%endif
%ifarch %nobuildarches
%define with_up 0
-%define with_pae 0
-%define with_debuginfo 0
%define with_debug 0
+%define with_debuginfo 0
+%define with_selftests 0
+%define with_pae 0
%define _enable_debug_packages 0
%endif
-%define with_pae_debug 0
-%if %{with_pae}
-%define with_pae_debug %{with_debug}
-%endif
-
# Architectures we build tools/cpupower on
-%define cpupowerarchs %{ix86} x86_64 %{power64} %{arm} aarch64
+%if 0%{?fedora}
+%define cpupowerarchs %{ix86} x86_64 ppc64le %{arm} aarch64
+%else
+%define cpupowerarchs i686 x86_64 ppc64le aarch64
+%endif
%if %{use_vdso}
@@ -372,7 +483,11 @@ Version: %{rpmversion}
Release: %{pkg_release}
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
# SET %%nobuildarches (ABOVE) INSTEAD
-ExclusiveArch: %{all_x86} x86_64 s390x %{arm} aarch64 ppc64le
+%if 0%{?fedora}
+ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le
+%else
+ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
+%endif
ExclusiveOS: Linux
%ifnarch %{nobuildarches}
Requires: kernel-core-uname-r = %{KVERREL}%{?variant}
@@ -386,14 +501,31 @@ Requires: kernel-modules-uname-r = %{KVERREL}%{?variant}
BuildRequires: kmod, patch, bash, tar, git-core
BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk
BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex
-BuildRequires: net-tools, hostname, bc, elfutils-devel, gcc-plugin-devel
+BuildRequires: net-tools, hostname, bc, elfutils-devel
%if 0%{?fedora}
# Used to mangle unversioned shebangs to be Python 3
BuildRequires: /usr/bin/pathfix.py
%endif
+%if %{with_headers}
+BuildRequires: rsync
+%endif
+%if %{with_doc}
+BuildRequires: xmlto, asciidoc, python3-sphinx
+%endif
%if %{with_sparse}
BuildRequires: sparse
%endif
+%if %{with_selftests}
+%if 0%{?fedora}
+BuildRequires: clang llvm
+%else
+BuildRequires: llvm-toolset
+%endif
+%ifnarch %{arm}
+BuildRequires: numactl-devel
+%endif
+BuildRequires: libcap-devel libcap-ng-devel rsync
+%endif
BuildConflicts: rhbuildsys(DiskFree) < 500Mb
%if %{with_debuginfo}
BuildRequires: rpm-build, elfutils
@@ -406,11 +538,13 @@ BuildConflicts: rpm < 4.13.0.1-19
%undefine _unique_debug_srcs
%undefine _debugsource_packages
%undefine _debuginfo_subpackages
-%undefine _include_gdb_index
%global _find_debuginfo_opts -r
%global _missing_build_ids_terminate_build 1
%global _no_recompute_build_ids 1
%endif
+%if %{with_kabidwchk} || %{with_kabidw_base}
+BuildRequires: kabi-dw
+%endif
%if %{signkernel}%{signmodules}
BuildRequires: openssl openssl-devel
@@ -432,6 +566,7 @@ Source15: merge.pl
Source16: mod-extra.list
Source17: mod-extra.sh
Source18: mod-sign.sh
+Source19: mod-extra-blacklist.sh
Source90: filter-x86_64.sh
Source91: filter-armv7hl.sh
Source92: filter-i686.sh
@@ -462,6 +597,8 @@ Source41: generate_debug_configs.sh
Source42: process_configs.sh
Source43: generate_bls_conf.sh
+Source44: mod-internal.list
+
# This file is intentionally left empty in the stock kernel. Its a nicety
# added for those wanting to do custom rebuilds with altered config opts.
Source1000: kernel-local
@@ -503,93 +640,69 @@ Source5000: patch-5.%{base_sublevel}-git%{gitrev}.xz
# Standalone patches
# 100 - Generic long running patches
-Patch110: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
-
-Patch111: input-kill-stupid-messages.patch
-
-Patch112: die-floppy-die.patch
-
-Patch113: no-pcspkr-modalias.patch
-
-Patch115: Kbuild-Add-an-option-to-enable-GCC-VTA.patch
-
-Patch116: crash-driver.patch
-
-Patch117: lis3-improve-handling-of-null-rate.patch
-
-Patch118: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
-
-Patch119: namespaces-no-expert.patch
-
-Patch120: ath9k-rx-dma-stop-check.patch
-
-Patch122: Input-synaptics-pin-3-touches-when-the-firmware-repo.patch
-
-# This no longer applies, let's see if it needs to be updated
-# Patch123: firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
-
# 200 - x86 / secureboot
-Patch201: efi-lockdown.patch
-
-Patch202: KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch
-
# bz 1497559 - Make kernel MODSIGN code not error on missing variables
-Patch207: 0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch
-Patch208: 0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch
-Patch209: 0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch
+Patch200: 0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch
+Patch201: 0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch
+Patch202: 0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch
-Patch210: disable-i8042-check-on-apple-mac.patch
+Patch204: efi-secureboot.patch
-Patch211: drm-i915-hush-check-crtc-state.patch
+Patch205: lift-lockdown-sysrq.patch
-Patch212: efi-secureboot.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=1759325
+# Submitted upstream at https://lore.kernel.org/patchwork/patch/1136967/
+Patch206: efi-efi_test-lock-down-dev-efi_test-and-require-CAP_.patch
# 300 - ARM patches
Patch300: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
-# http://www.spinics.net/lists/linux-tegra/msg26029.html
-Patch301: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
-# http://patchwork.ozlabs.org/patch/587554/
-Patch302: ARM-tegra-usb-no-reset.patch
+# RHBZ Bug 1576593 - work around while vendor investigates
+Patch301: arm-make-highpte-not-expert.patch
# https://patchwork.kernel.org/patch/10351797/
-Patch303: ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch
+Patch302: ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch
# rhbz 1574718
-Patch304: ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch
-
-# https://patchwork.kernel.org/patch/9820417/
-Patch305: qcom-msm89xx-fixes.patch
-
-# https://patchwork.kernel.org/project/linux-mmc/list/?submitter=71861
-Patch306: arm-sdhci-esdhc-imx-fixes.patch
-
-Patch312: arm64-rock960-enable-tsadc.patch
+Patch303: ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch
-Patch339: bcm2835-cpufreq-add-CPU-frequency-control-driver.patch
+Patch305: ARM-tegra-usb-no-reset.patch
# Tegra bits
-Patch340: arm64-tegra-jetson-tx1-fixes.patch
-
-# https://patchwork.kernel.org/patch/10858639/
-Patch341: arm64-tegra-Add-NVIDIA-Jetson-Nano-Developer-Kit-support.patch
+Patch320: arm64-tegra-jetson-tx1-fixes.patch
+# https://www.spinics.net/lists/linux-tegra/msg43110.html
+Patch321: arm64-tegra-Jetson-TX2-Allow-bootloader-to-configure.patch
+# https://patchwork.kernel.org/patch/11171225/
+Patch322: mfd-max77620-Do-not-allocate-IRQs-upfront.patch
+# https://patchwork.ozlabs.org/patch/1170631/
+Patch323: gpio-max77620-Use-correct-unit-for-debounce-times.patch
+# https://www.spinics.net/lists/linux-tegra/msg44216.html
+Patch324: arm64-tegra186-enable-USB-on-Jetson-TX2.patch
+
+# https://www.spinics.net/lists/arm-kernel/msg761152.html
+Patch342: efi-libstub-arm-account-for-firmware-reserved-memory-at-the-base-of-RAM.patch
# 400 - IBM (ppc/s390x) patches
# 500 - Temp fixes/CVEs etc
-
# rhbz 1431375
Patch501: input-rmi4-remove-the-need-for-artifical-IRQ.patch
# gcc9 fixes
-Patch506: 0001-s390-jump_label-Correct-asm-contraint.patch
-Patch507: 0001-Drop-that-for-now.patch
+Patch502: 0001-Drop-that-for-now.patch
-# rhbz 1689750, patch submitted upstream
-Patch508: 0001-virt-vbox-Implement-passing-requestor-info-to-the-ho.patch
+# https://bugzilla.redhat.com/show_bug.cgi?id=1701096
+# Submitted upstream at https://lkml.org/lkml/2019/4/23/89
+Patch503: KEYS-Make-use-of-platform-keyring-for-module-signature.patch
-# rhbz 1688283
-Patch512: v3-tpm-fix-an-invalid-condition-in-tpm_common_poll.patch
+# Fixes a boot hang on debug kernels
+# https://bugzilla.redhat.com/show_bug.cgi?id=1756655
+Patch504: 0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch
+
+# it seems CONFIG_OPTIMIZE_INLINING has been forced now and is causing issues on ARMv7
+# https://lore.kernel.org/patchwork/patch/1132459/
+# https://lkml.org/lkml/2019/8/29/1772
+Patch505: ARM-fix-__get_user_check-in-case-uaccess_-calls-are-not-inlined.patch
# END OF PATCH DEFINITIONS
@@ -626,6 +739,17 @@ AutoReq: no\
AutoProv: yes\
%{nil}
+%package doc
+Summary: Various documentation bits found in the kernel source
+Group: Documentation
+%description doc
+This package contains documentation files from the kernel
+source. Various bits of information about the Linux kernel and the
+device drivers shipped with it are documented in these files.
+
+You'll want to install this package if you need a reference to the
+options that can be passed to Linux kernel modules at load time.
+
%package headers
Summary: Header files for the Linux kernel for use by glibc
Obsoletes: glibc-kernheaders < 3.0-46
@@ -658,6 +782,50 @@ Provides: installonlypkg(kernel)
This package is required by %{name}-debuginfo subpackages.
It provides the kernel source files common to all builds.
+%if %{with_selftests}
+
+%package selftests-internal
+Summary: Kernel samples and selftests
+License: GPLv2
+Requires: binutils, bpftool, iproute-tc, nmap-ncat
+Requires: kernel-modules-internal = %{version}-%{release}
+%description selftests-internal
+Kernel sample programs and selftests.
+
+# Note that this pattern only works right to match the .build-id
+# symlinks because of the trailing nonmatching alternation and
+# the leading .*, because of find-debuginfo.sh's buggy handling
+# of matching the pattern against the symlinks file.
+%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_libexecdir}/(ksamples|kselftests)/.*|XXX' -o selftests-debuginfo.list}
+
+%endif # with_selftests
+
+%if %{with_gcov}
+%package gcov
+Summary: gcov graph and source files for coverage data collection.
+%description gcov
+kernel-gcov includes the gcov graph and source files for gcov coverage collection.
+%endif
+
+%package -n kernel-abi-whitelists
+Summary: The Red Hat Enterprise Linux kernel ABI symbol whitelists
+AutoReqProv: no
+%description -n kernel-abi-whitelists
+The kABI package contains information pertaining to the Red Hat Enterprise
+Linux kernel ABI, including lists of kernel symbols that are needed by
+external Linux kernel modules, and a yum plugin to aid enforcement.
+
+%if %{with_kabidw_base}
+%package kabidw-base
+Summary: The baseline dataset for kABI verification using DWARF data
+Group: System Environment/Kernel
+AutoReqProv: no
+%description kabidw-base
+The kabidw-base package contains data describing the current ABI of the Red Hat
+Enterprise Linux kernel, suitable for the kabi-dw tool.
+%endif
+
+
#
# This macro creates a kernel-<subpackage>-debuginfo package.
# %%kernel_debuginfo_package <subpackage>
@@ -672,7 +840,7 @@ AutoReqProv: no\
%description %{?1:%{1}-}debuginfo\
This package provides debug information for package %{name}%{?1:-%{1}}.\
This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVERREL}.\
-%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '/.*/%%{KVERREL}%{?1:[+]%{1}}/.*|/.*%%{KVERREL}%{?1:\+%{1}}(\.debug)?' -o debuginfo%{?1}.list}\
+%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '/.*/%%{KVERREL_RE}%{?1:[+]%{1}}/.*|/.*%%{KVERREL_RE}%{?1:\+%{1}}(\.debug)?' -o debuginfo%{?1}.list}\
%{nil}
#
@@ -696,6 +864,39 @@ against the %{?2:%{2} }kernel package.\
%{nil}
#
+# kernel-<variant>-ipaclones-internal package
+#
+%define kernel_ipaclones_package() \
+%package %{?1:%{1}-}ipaclones-internal\
+Summary: *.ipa-clones files generated by -fdump-ipa-clones for kernel%{?1:-%{1}}\
+Group: System Environment/Kernel\
+AutoReqProv: no\
+%description %{?1:%{1}-}ipaclones-internal\
+This package provides *.ipa-clones files.\
+%{nil}
+
+#
+# This macro creates a kernel-<subpackage>-modules-internal package.
+# %%kernel_modules_internal_package <subpackage> <pretty-name>
+#
+%define kernel_modules_internal_package() \
+%package %{?1:%{1}-}modules-internal\
+Summary: Extra kernel modules to match the %{?2:%{2} }kernel\
+Group: System Environment/Kernel\
+Provides: kernel%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{version}-%{release}\
+Provides: kernel%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
+Provides: kernel%{?1:-%{1}}-modules-internal = %{version}-%{release}%{?1:+%{1}}\
+Provides: installonlypkg(kernel-module)\
+Provides: kernel%{?1:-%{1}}-modules-internal-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
+Requires: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
+Requires: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
+AutoReq: no\
+AutoProv: yes\
+%description %{?1:%{1}-}modules-internal\
+This package provides kernel modules for the %{?2:%{2} }kernel package for Red Hat internal usage.\
+%{nil}
+
+#
# This macro creates a kernel-<subpackage>-modules-extra package.
# %%kernel_modules_extra_package <subpackage> <pretty-name>
#
@@ -758,7 +959,7 @@ The meta-package for the %{1} kernel\
Summary: %{variant_summary}\
Provides: kernel-%{?1:%{1}-}core-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Provides: installonlypkg(kernel)\
-%ifarch %{power64}\
+%ifarch ppc64le\
Obsoletes: kernel-bootwrapper\
%endif\
%{expand:%%kernel_reqprovconf}\
@@ -768,43 +969,20 @@ Obsoletes: kernel-bootwrapper\
%{expand:%%kernel_devel_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
%{expand:%%kernel_modules_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
%{expand:%%kernel_modules_extra_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
+%{expand:%%kernel_modules_internal_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
%{expand:%%kernel_debuginfo_package %{?1:%{1}}}\
%{nil}
# Now, each variant package.
%if %{with_pae}
-%ifnarch armv7hl
-%define variant_summary The Linux kernel compiled for PAE capable machines
-%kernel_variant_package %{pae}
-%description %{pae}-core
-This package includes a version of the Linux kernel with support for up to
-64GB of high memory. It requires a CPU with Physical Address Extensions (PAE).
-The non-PAE kernel can only address up to 4GB of memory.
-Install the kernel-PAE package if your machine has more than 4GB of memory.
-%else
%define variant_summary The Linux kernel compiled for Cortex-A15
-%kernel_variant_package %{pae}
-%description %{pae}-core
+%kernel_variant_package lpae
+%description lpae-core
This package includes a version of the Linux kernel with support for
Cortex-A15 devices with LPAE and HW virtualisation support
%endif
-
-%define variant_summary The Linux kernel compiled with extra debugging enabled for PAE capable machines
-%kernel_variant_package %{pae}debug
-Obsoletes: kernel-PAE-debug
-%description %{pae}debug-core
-This package includes a version of the Linux kernel with support for up to
-64GB of high memory. It requires a CPU with Physical Address Extensions (PAE).
-The non-PAE kernel can only address up to 4GB of memory.
-Install the kernel-PAE package if your machine has more than 4GB of memory.
-
-This variant of the kernel has numerous debugging options enabled.
-It should only be installed when trying to gather additional information
-on kernel bugs, as some of these options impact performance noticably.
-%endif
-
%define variant_summary The Linux kernel compiled with extra debugging enabled
%kernel_variant_package debug
%description debug-core
@@ -827,6 +1005,9 @@ Linux operating system. The kernel handles the basic functions
of the operating system: memory allocation, process allocation, device
input and output, etc.
+%if %{with_ipaclones}
+%kernel_ipaclones_package
+%endif
%prep
# do a few sanity-checks for --with *only builds
@@ -852,42 +1033,6 @@ if [ "%{patches}" != "%%{patches}" ] ; then
done
fi 2>/dev/null
-patch_command='patch -p1 -F1 -s'
-ApplyPatch()
-{
- local patch=$1
- shift
- if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
- exit 1
- fi
- if ! grep -E "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME%%%%%{?variant}}.spec ; then
- if [ "${patch:0:8}" != "patch-5." ] ; then
- echo "ERROR: Patch $patch not listed as a source patch in specfile"
- exit 1
- fi
- fi 2>/dev/null
- case "$patch" in
- *.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
- *.gz) gunzip < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
- *.xz) unxz < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
- *) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;;
- esac
-}
-
-# don't apply patch if it's empty
-ApplyOptionalPatch()
-{
- local patch=$1
- shift
- if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
- exit 1
- fi
- local C=$(wc -l $RPM_SOURCE_DIR/$patch | awk '{print $1}')
- if [ "$C" -gt 9 ]; then
- ApplyPatch $patch ${1+"$@"}
- fi
-}
-
# First we unpack the kernel tarball.
# If this isn't the first make prep, we use links to the existing clean tarball
# which speeds things up quite a bit.
@@ -1060,6 +1205,29 @@ mv COPYING COPYING-%{version}
# This Prevents scripts/setlocalversion from mucking with our version numbers.
touch .scmversion
+%if 0%{?fedora}
+# Mangle /usr/bin/python shebangs to /usr/bin/python3
+# Mangle all Python shebangs to be Python 3 explicitly
+# -p preserves timestamps
+# -n prevents creating ~backup files
+# -i specifies the interpreter for the shebang
+# This fixes errors such as
+# *** ERROR: ambiguous python shebang in /usr/bin/kvm_stat: #!/usr/bin/python. Change it to python3 (or python2) explicitly.
+# We patch all sources below for which we got a report/error.
+pathfix.py -i "%{__python3} %{py3_shbang_opts}" -p -n \
+ tools/kvm/kvm_stat/kvm_stat \
+ scripts/show_delta \
+ scripts/diffconfig \
+ scripts/bloat-o-meter \
+ scripts/tracing/draw_functrace.py \
+ scripts/spdxcheck.py \
+ tools/perf/tests/attr.py \
+ tools/perf/scripts/python/stat-cpi.py \
+ tools/perf/scripts/python/sched-migration.py \
+ Documentation \
+ scripts/gen_compile_commands.py
+%endif
+
# Deal with configs stuff
mkdir configs
cd configs
@@ -1102,25 +1270,22 @@ done
rm -f kernel-%{version}-*debug.config
%endif
-%define make make %{?cross_opts}
-
-CheckConfigs() {
- ./check_configs.awk $1 $2 > .mismatches
- if [ -s .mismatches ]
- then
- echo "Error: Mismatches found in configuration files"
- cat .mismatches
- exit 1
- fi
-}
+# enable GCOV kernel config options if gcov is on
+%if %{with_gcov}
+for i in *.config
+do
+ sed -i 's/# CONFIG_GCOV_KERNEL is not set/CONFIG_GCOV_KERNEL=y\nCONFIG_GCOV_PROFILE_ALL=y\n/' $i
+done
+%endif
cp %{SOURCE42} .
OPTS=""
-%if %{listnewconfig_fail}
- OPTS="$OPTS -n"
+%if %{with_configchecks}
+%if 0%{?fedora}
+ OPTS="$OPTS -n -c"
+%else
+ OPTS="$OPTS -w -n -c"
%endif
-%if %{configmismatch_fail}
- OPTS="$OPTS -c"
%endif
./process_configs.sh $OPTS kernel %{rpmversion}
@@ -1136,18 +1301,6 @@ find . \( -name "*.orig" -o -name "*~" \) -delete >/dev/null
# remove unnecessary SCM files
find . -name .gitignore -delete >/dev/null
-%if 0%{?fedora}
-# Mangle /usr/bin/python shebangs to /usr/bin/python3
-# Mangle all Python shebangs to be Python 3 explicitly
-# -p preserves timestamps
-# -n prevents creating ~backup files
-# -i specifies the interpreter for the shebang
-pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/
-pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/diffconfig
-pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/bloat-o-meter
-pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/show_delta
-%endif
-
cd ..
###
@@ -1185,6 +1338,8 @@ cp_vmlinux()
%define build_hostldflags %{?build_ldflags} -Wl,--build-id=uuid
%endif
+%define make make %{?cross_opts} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}"
+
BuildKernel() {
MakeTarget=$1
KernelImage=$2
@@ -1193,6 +1348,8 @@ BuildKernel() {
Flav=${Flavour:++${Flavour}}
InstallName=${5:-vmlinuz}
+ DoModules=1
+
# Pick the right config file for the kernel we're building
Config=kernel-%{version}-%{_target_cpu}${Flavour:+-${Flavour}}.config
DevelDir=/usr/src/kernels/%{KVERREL}${Flav}
@@ -1227,7 +1384,7 @@ BuildKernel() {
# and now to start the build process
- make %{?make_opts} mrproper
+ %{make} %{?_smp_mflags} mrproper
cp configs/$Config .config
%if %{signkernel}%{signmodules}
@@ -1237,12 +1394,16 @@ BuildKernel() {
Arch=`head -1 .config | cut -b 3-`
echo USING ARCH=$Arch
- make %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" ARCH=$Arch olddefconfig
+ KCFLAGS="%{?kcflags}"
+
+ %{make} ARCH=$Arch olddefconfig >/dev/null
# This ensures build-ids are unique to allow parallel debuginfo
perl -p -i -e "s/^CONFIG_BUILD_SALT.*/CONFIG_BUILD_SALT=\"%{KVERREL}\"/" .config
- %{make} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" ARCH=$Arch %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags}
- %{make} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" ARCH=$Arch %{?_smp_mflags} modules %{?sparse_mflags} || exit 1
+ %{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags}
+ if [ $DoModules -eq 1 ]; then
+ %{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} modules %{?sparse_mflags} || exit 1
+ fi
mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
@@ -1251,7 +1412,8 @@ BuildKernel() {
%endif
%ifarch %{arm} aarch64
- %{make} %{?make_opts} ARCH=$Arch dtbs dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
+ %{make} ARCH=$Arch dtbs INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
+ %{make} ARCH=$Arch dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
cp -r $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/dtb
find arch/$Arch/boot/dts -name '*.dtb' -type f -delete
%endif
@@ -1270,14 +1432,53 @@ BuildKernel() {
cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/lib/modules/$KernelVer/zImage.stub-$KernelVer || :
fi
+
+
%if %{signkernel}
+ if [ "$KernelImage" = vmlinux ]; then
+ # We can't strip and sign $KernelImage in place, because
+ # we need to preserve original vmlinux for debuginfo.
+ # Use a copy for signing.
+ $CopyKernel $KernelImage $KernelImage.tosign
+ KernelImage=$KernelImage.tosign
+ CopyKernel=cp
+ fi
+
# Sign the image if we're using EFI
+ # aarch64 kernels are gziped EFI images
+ KernelExtension=${KernelImage##*.}
+ if [ "$KernelExtension" == "gz" ]; then
+ SignImage=${KernelImage%.*}
+ else
+ SignImage=$KernelImage
+ fi
+
+ %ifarch x86_64 aarch64
+ %if 0%{?fedora}
%pesign -s -i $KernelImage -o vmlinuz.signed
+ %else
+ %pesign -s -i $SignImage -o vmlinuz.signed -a %{secureboot_ca} -c %{secureboot_key} -n %{pesign_name}
+ %endif # fedora
+ %endif # arches
+ %ifarch s390x ppc64le
+ if [ -x /usr/bin/rpm-sign ]; then
+ rpm-sign --key "%{pesign_name}" --lkmsign $SignImage --output vmlinuz.signed
+ elif [ $DoModules -eq 1 ]; then
+ chmod +x scripts/sign-file
+ ./scripts/sign-file -p sha256 certs/signing_key.pem certs/signing_key.x509 $SignImage vmlinuz.signed
+ else
+ mv $SignImage vmlinuz.signed
+ fi
+ %endif
+
if [ ! -s vmlinuz.signed ]; then
echo "pesigning failed"
exit 1
fi
- mv vmlinuz.signed $KernelImage
+ mv vmlinuz.signed $SignImage
+ if [ "$KernelExtension" == "gz" ]; then
+ gzip -f9 $SignImage
+ fi
%endif
$CopyKernel $KernelImage \
$RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
@@ -1290,18 +1491,29 @@ BuildKernel() {
sha512hmac $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer | sed -e "s,$RPM_BUILD_ROOT,," > $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac;
cp $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac $RPM_BUILD_ROOT/lib/modules/$KernelVer/.vmlinuz.hmac
- # Override $(mod-fw) because we don't want it to install any firmware
- # we'll get it from the linux-firmware package and we don't want conflicts
- %{make} %{?make_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
+
+ if [ $DoModules -eq 1 ]; then
+ # Override $(mod-fw) because we don't want it to install any firmware
+ # we'll get it from the linux-firmware package and we don't want conflicts
+ %{make} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT %{?_smp_mflags} modules_install KERNELRELEASE=$KernelVer mod-fw=
+ fi
+
+%if %{with_gcov}
+ # install gcov-needed files to $BUILDROOT/$BUILD/...:
+ # gcov_info->filename is absolute path
+ # gcno references to sources can use absolute paths (e.g. in out-of-tree builds)
+ # sysfs symlink targets (set up at compile time) use absolute paths to BUILD dir
+ find . \( -name '*.gcno' -o -name '*.[chS]' \) -exec install -D '{}' "$RPM_BUILD_ROOT/$(pwd)/{}" \;
+%endif
# add an a noop %%defattr statement 'cause rpm doesn't like empty file list files
echo '%%defattr(-,-,-)' > ../kernel${Flavour:+-${Flavour}}-ldsoconf.list
if [ $DoVDSO -ne 0 ]; then
- %{make} %{?make_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
+ %{make} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
if [ -s ldconfig-kernel.conf ]; then
- install -D -m 444 ldconfig-kernel.conf \
+ install -D -m 444 ldconfig-kernel.conf \
$RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf
- echo /etc/ld.so.conf.d/kernel-$KernelVer.conf >> ../kernel${Flavour:+-${Flavour}}-ldsoconf.list
+ echo /etc/ld.so.conf.d/kernel-$KernelVer.conf >> ../kernel${Flavour:+-${Flavour}}-ldsoconf.list
fi
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id
fi
@@ -1319,7 +1531,9 @@ BuildKernel() {
(cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source)
# dirs for additional modules per module-init-tools, kbuild/modules.txt
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra
+ mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/internal
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates
+ mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/weak-updates
# first copy everything
cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
@@ -1327,6 +1541,87 @@ BuildKernel() {
if [ -s Module.markers ]; then
cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
fi
+
+ # create the kABI metadata for use in packaging
+ # NOTENOTE: the name symvers is used by the rpm backend
+ # NOTENOTE: to discover and run the /usr/lib/rpm/fileattrs/kabi.attr
+ # NOTENOTE: script which dynamically adds exported kernel symbol
+ # NOTENOTE: checksums to the rpm metadata provides list.
+ # NOTENOTE: if you change the symvers name, update the backend too
+ echo "**** GENERATING kernel ABI metadata ****"
+ gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-$KernelVer.gz
+ cp $RPM_BUILD_ROOT/boot/symvers-$KernelVer.gz $RPM_BUILD_ROOT/lib/modules/$KernelVer/symvers.gz
+%if %{with_kabichk}
+ echo "**** kABI checking is enabled in kernel SPEC file. ****"
+ chmod 0755 $RPM_SOURCE_DIR/check-kabi
+ if [ -e $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Flavour ]; then
+ cp $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Flavour $RPM_BUILD_ROOT/Module.kabi
+ $RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1
+ rm $RPM_BUILD_ROOT/Module.kabi # for now, don't keep it around.
+ else
+ echo "**** NOTE: Cannot find reference Module.kabi file. ****"
+ fi
+%endif
+
+%if %{with_kabidupchk}
+ echo "**** kABI DUP checking is enabled in kernel SPEC file. ****"
+ if [ -e $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Flavour ]; then
+ cp $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Flavour $RPM_BUILD_ROOT/Module.kabi
+ $RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1
+ rm $RPM_BUILD_ROOT/Module.kabi # for now, don't keep it around.
+ else
+ echo "**** NOTE: Cannot find DUP reference Module.kabi file. ****"
+ fi
+%endif
+
+%if %{with_kabidw_base}
+ # Don't build kabi base for debug kernels
+ if [ "$Flavour" != "kdump" -a "$Flavour" != "debug" ]; then
+ mkdir -p $RPM_BUILD_ROOT/kabi-dwarf
+ tar xjvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf
+
+ mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/whitelists
+ tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/whitelists
+
+ echo "**** GENERATING DWARF-based kABI baseline dataset ****"
+ chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh
+ $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \
+ "$RPM_BUILD_ROOT/kabi-dwarf/whitelists/kabi-current/kabi_whitelist_%{_target_cpu}" \
+ "$(pwd)" \
+ "$RPM_BUILD_ROOT/kabidw-base/%{_target_cpu}${Flavour:+.${Flavour}}" || :
+
+ rm -rf $RPM_BUILD_ROOT/kabi-dwarf
+ fi
+%endif
+
+%if %{with_kabidwchk}
+ if [ "$Flavour" != "kdump" ]; then
+ mkdir -p $RPM_BUILD_ROOT/kabi-dwarf
+ tar xjvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf
+ if [ -d "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}" ]; then
+ mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/whitelists
+ tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/whitelists
+
+ echo "**** GENERATING DWARF-based kABI dataset ****"
+ chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh
+ $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \
+ "$RPM_BUILD_ROOT/kabi-dwarf/whitelists/kabi-current/kabi_whitelist_%{_target_cpu}" \
+ "$(pwd)" \
+ "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}.tmp" || :
+
+ echo "**** kABI DWARF-based comparison report ****"
+ $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh compare \
+ "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}" \
+ "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}.tmp" || :
+ echo "**** End of kABI DWARF-based comparison report ****"
+ else
+ echo "**** Baseline dataset for kABI DWARF-BASED comparison report not found ****"
+ fi
+
+ rm -rf $RPM_BUILD_ROOT/kabi-dwarf
+ fi
+%endif
+
# then drop all but the needed Makefiles/Kconfig files
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation
rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
@@ -1357,7 +1652,7 @@ BuildKernel() {
fi
rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o
rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o
-%ifarch %{power64}
+%ifarch ppc64le
cp -a --parents arch/powerpc/lib/crtsavres.[So] $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
%endif
if [ -d arch/%{asmarch}/include ]; then
@@ -1396,7 +1691,6 @@ BuildKernel() {
cp -a --parents tools/include/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents arch/x86/purgatory/purgatory.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents arch/x86/purgatory/stack.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
- cp -a --parents arch/x86/purgatory/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents arch/x86/purgatory/setup-x86_64.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents arch/x86/purgatory/entry64.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
cp -a --parents arch/x86/boot/string.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
@@ -1460,6 +1754,10 @@ BuildKernel() {
# Call the modules-extra script to move things around
%{SOURCE17} $RPM_BUILD_ROOT/lib/modules/$KernelVer %{SOURCE16}
+ # Blacklist net autoloadable modules in modules-extra
+ %{SOURCE19} $RPM_BUILD_ROOT lib/modules/$KernelVer
+ # Call the modules-extra script for internal modules
+ %{SOURCE17} $RPM_BUILD_ROOT/lib/modules/$KernelVer %{SOURCE44} internal
#
# Generate the kernel-core and kernel-modules files lists
@@ -1473,24 +1771,38 @@ BuildKernel() {
cp -r lib/modules/$KernelVer/* restore/.
# don't include anything going into k-m-e in the file lists
- rm -rf lib/modules/$KernelVer/extra
-
- # Find all the module files and filter them out into the core and modules
- # lists. This actually removes anything going into -modules from the dir.
- find lib/modules/$KernelVer/kernel -name *.ko | sort -n > modules.list
- cp $RPM_SOURCE_DIR/filter-*.sh .
- %{SOURCE99} modules.list %{_target_cpu}
- rm filter-*.sh
-
- # Run depmod on the resulting module tree and make sure it isn't broken
- depmod -b . -aeF ./System.map $KernelVer &> depmod.out
- if [ -s depmod.out ]; then
- echo "Depmod failure"
- cat depmod.out
- exit 1
+ rm -rf lib/modules/$KernelVer/{extra,internal}
+
+
+ if [ $DoModules -eq 1 ]; then
+ # Find all the module files and filter them out into the core and
+ # modules lists. This actually removes anything going into -modules
+ # from the dir.
+ find lib/modules/$KernelVer/kernel -name *.ko | sort -n > modules.list
+ cp $RPM_SOURCE_DIR/filter-*.sh .
+ %{SOURCE99} modules.list %{_target_cpu}
+ rm filter-*.sh
+
+ # Run depmod on the resulting module tree and make sure it isn't broken
+ depmod -b . -aeF ./System.map $KernelVer &> depmod.out
+ if [ -s depmod.out ]; then
+ echo "Depmod failure"
+ cat depmod.out
+ exit 1
+ else
+ rm depmod.out
+ fi
else
- rm depmod.out
+ # Ensure important files/directories exist to let the packaging succeed
+ echo '%%defattr(-,-,-)' > modules.list
+ echo '%%defattr(-,-,-)' > k-d.list
+ mkdir -p lib/modules/$KernelVer/kernel
+ # Add files usually created by make modules, needed to prevent errors
+ # thrown by depmod during package installation
+ touch lib/modules/$KernelVer/modules.order
+ touch lib/modules/$KernelVer/modules.builtin
fi
+
# remove files that will be auto generated by depmod at rpm -i time
pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/
rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep}
@@ -1518,9 +1830,11 @@ BuildKernel() {
rm -f $RPM_BUILD_ROOT/module-dirs.list
%if %{signmodules}
- # Save the signing keys so we can sign the modules in __modsign_install_post
- cp certs/signing_key.pem certs/signing_key.pem.sign${Flav}
- cp certs/signing_key.x509 certs/signing_key.x509.sign${Flav}
+ if [ $DoModules -eq 1 ]; then
+ # Save the signing keys so we can sign the modules in __modsign_install_post
+ cp certs/signing_key.pem certs/signing_key.pem.sign${Flav}
+ cp certs/signing_key.x509 certs/signing_key.x509.sign${Flav}
+ fi
%endif
# Move the devel headers out of the root file system
@@ -1538,6 +1852,35 @@ BuildKernel() {
# build a BLS config for this kernel
%{SOURCE43} "$KernelVer" "$RPM_BUILD_ROOT" "%{?variant}"
+
+%if 0
+ # Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel
+ mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer
+ install -m 0644 %{secureboot_ca} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer
+ %ifarch s390x ppc64le
+ if [ $DoModules -eq 1 ]; then
+ if [ -x /usr/bin/rpm-sign ]; then
+ install -m 0644 %{secureboot_key} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename}
+ else
+ install -m 0644 certs/signing_key.x509.sign${Flav} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer
+ openssl x509 -in certs/signing_key.pem.sign${Flav} -outform der -out $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename}
+ chmod 0644 $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename}
+ fi
+ fi
+ %endif
+%endif
+
+%if %{with_ipaclones}
+ MAXPROCS=$(echo %{?_smp_mflags} | sed -n 's/-j\s*\([0-9]\+\)/\1/p')
+ if [ -z "$MAXPROCS" ]; then
+ MAXPROCS=1
+ fi
+ if [ "$Flavour" == "" ]; then
+ mkdir -p $RPM_BUILD_ROOT/$DevelDir-ipaclones
+ find . -name '*.ipa-clones' | xargs -i{} -r -n 1 -P $MAXPROCS install -m 644 -D "{}" "$RPM_BUILD_ROOT/$DevelDir-ipaclones/{}"
+ fi
+%endif
+
}
###
@@ -1556,18 +1899,32 @@ cd linux-%{KVERREL}
BuildKernel %make_target %kernel_image %{_use_vdso} debug
%endif
-%if %{with_pae_debug}
-BuildKernel %make_target %kernel_image %{use_vdso} %{pae}debug
-%endif
-
%if %{with_pae}
-BuildKernel %make_target %kernel_image %{use_vdso} %{pae}
+BuildKernel %make_target %kernel_image %{use_vdso} lpae
%endif
%if %{with_up}
BuildKernel %make_target %kernel_image %{_use_vdso}
%endif
+%if %{with_selftests}
+%{make} -s ARCH=$Arch V=1 samples/bpf/
+pushd tools/testing/selftests
+# We need to install here because we need to call make with ARCH set which
+# doesn't seem possible to do in the install section.
+%{make} -s ARCH=$Arch V=1 TARGETS="bpf livepatch net" INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests install
+popd
+%endif
+
+%if %{with_doc}
+# Make the HTML pages.
+make htmldocs || %{doc_build_fail}
+
+# sometimes non-world-readable files sneak into the kernel source tree
+chmod -R a=rX Documentation
+find Documentation -type d | xargs chmod u+w
+%endif
+
# In the modsign case, we do 3 things. 1) We check the "flavour" and hard
# code the value in the following invocations. This is somewhat sub-optimal
# but we're doing this inside of an RPM macro and it isn't as easy as it
@@ -1582,20 +1939,17 @@ BuildKernel %make_target %kernel_image %{_use_vdso}
%define __modsign_install_post \
if [ "%{signmodules}" -eq "1" ]; then \
if [ "%{with_pae}" -ne "0" ]; then \
- %{modsign_cmd} certs/signing_key.pem.sign+%{pae} certs/signing_key.x509.sign+%{pae} $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+%{pae}/ \
+ %{modsign_cmd} certs/signing_key.pem.sign+lpae certs/signing_key.x509.sign+lpae $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+lpae/ \
fi \
if [ "%{with_debug}" -ne "0" ]; then \
%{modsign_cmd} certs/signing_key.pem.sign+debug certs/signing_key.x509.sign+debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+debug/ \
fi \
- if [ "%{with_pae_debug}" -ne "0" ]; then \
- %{modsign_cmd} certs/signing_key.pem.sign+%{pae}debug certs/signing_key.x509.sign+%{pae}debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+%{pae}debug/ \
- fi \
if [ "%{with_up}" -ne "0" ]; then \
%{modsign_cmd} certs/signing_key.pem.sign certs/signing_key.x509.sign $RPM_BUILD_ROOT/lib/modules/%{KVERREL}/ \
fi \
fi \
if [ "%{zipmodules}" -eq "1" ]; then \
- find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs xz; \
+ find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs -P%{zcpu} xz; \
fi \
%{nil}
@@ -1615,6 +1969,16 @@ BuildKernel %make_target %kernel_image %{_use_vdso}
%endif
+# We don't want to package debuginfo for self-tests and samples but
+# we have to delete them to avoid an error messages about unpackaged
+# files.
+%define __remove_unwanted_dbginfo_install_post \
+ if [ "%{with_selftests}" -ne "0" ]; then \
+ rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/libexec/ksamples; \
+ rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/libexec/kselftests; \
+ fi \
+%{nil}
+
#
# Disgusting hack alert! We need to ensure we sign modules *after* all
# invocations of strip occur, which is in __debug_install_post if
@@ -1624,6 +1988,7 @@ BuildKernel %make_target %kernel_image %{_use_vdso}
%{?__debug_package:%{__debug_install_post}}\
%{__arch_install_post}\
%{__os_install_post}\
+ %{__remove_unwanted_dbginfo_install_post}\
%{__modsign_install_post}
###
@@ -1634,6 +1999,15 @@ BuildKernel %make_target %kernel_image %{_use_vdso}
cd linux-%{KVERREL}
+%if %{with_doc}
+docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{rpmversion}
+
+# copy the source over
+mkdir -p $docdir
+tar -h -f - --exclude=man --exclude='.*' -c Documentation | tar xf - -C $docdir
+
+%endif # with_doc
+
# We have to do the headers install before the tools install because the
# kernel headers_install will remove any header files in /usr/include that
# it doesn't install itself.
@@ -1649,32 +2023,82 @@ find $RPM_BUILD_ROOT/usr/include \
%endif
%if %{with_cross_headers}
+HDR_ARCH_LIST='arm arm64 powerpc s390 x86'
mkdir -p $RPM_BUILD_ROOT/usr/tmp-headers
-make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr/tmp-headers headers_install_all
-find $RPM_BUILD_ROOT/usr/tmp-headers/include \
+for arch in $HDR_ARCH_LIST; do
+ mkdir $RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch}
+ make ARCH=${arch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch} headers_install
+done
+
+find $RPM_BUILD_ROOT/usr/tmp-headers \
\( -name .install -o -name .check -o \
-name ..install.cmd -o -name ..check.cmd \) -delete
# Copy all the architectures we care about to their respective asm directories
-for arch in arm arm64 powerpc s390 x86 ; do
-mkdir -p $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include
-mv $RPM_BUILD_ROOT/usr/tmp-headers/include/arch-${arch}/asm $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/
-cp -a $RPM_BUILD_ROOT/usr/tmp-headers/include/asm-generic $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/.
-done
-
-# Remove the rest of the architectures
-rm -rf $RPM_BUILD_ROOT/usr/tmp-headers/include/arch*
-rm -rf $RPM_BUILD_ROOT/usr/tmp-headers/include/asm-*
-
-# Copy the rest of the headers over
-for arch in arm arm64 powerpc s390 x86 ; do
-cp -a $RPM_BUILD_ROOT/usr/tmp-headers/include/* $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/.
+for arch in $HDR_ARCH_LIST ; do
+ mkdir -p $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include
+ mv $RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch}/include/* $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/
done
rm -rf $RPM_BUILD_ROOT/usr/tmp-headers
%endif
+%if %{with_kernel_abi_whitelists}
+# kabi directory
+INSTALL_KABI_PATH=$RPM_BUILD_ROOT/lib/modules/
+mkdir -p $INSTALL_KABI_PATH
+
+# install kabi releases directories
+tar xjvf %{SOURCE300} -C $INSTALL_KABI_PATH
+%endif # with_kernel_abi_whitelists
+
+%if %{with_selftests}
+pushd samples
+install -d %{buildroot}%{_libexecdir}/ksamples
+# install bpf samples
+pushd bpf
+install -d %{buildroot}%{_libexecdir}/ksamples/bpf
+find -type f -executable -exec install -m755 {} %{buildroot}%{_libexecdir}/ksamples/bpf \;
+install -m755 *.sh %{buildroot}%{_libexecdir}/ksamples/bpf
+# test_lwt_bpf.sh compiles test_lwt_bpf.c when run; this works only from the
+# kernel tree. Just remove it.
+rm %{buildroot}%{_libexecdir}/ksamples/bpf/test_lwt_bpf.sh
+install -m644 tcp_bpf.readme %{buildroot}%{_libexecdir}/ksamples/bpf
+popd
+# install pktgen samples
+pushd pktgen
+install -d %{buildroot}%{_libexecdir}/ksamples/pktgen
+find . -type f -executable -exec install -m755 {} %{buildroot}%{_libexecdir}/ksamples/pktgen/{} \;
+find . -type f ! -executable -exec install -m644 {} %{buildroot}%{_libexecdir}/ksamples/pktgen/{} \;
+popd
+popd
+# install drivers/net/mlxsw selftests
+pushd tools/testing/selftests/drivers/net/mlxsw
+find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \;
+find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \;
+find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \;
+popd
+# install net/forwarding selftests
+pushd tools/testing/selftests/net/forwarding
+find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \;
+find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \;
+find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \;
+popd
+# install tc-testing selftests
+pushd tools/testing/selftests/tc-testing
+find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \;
+find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \;
+find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \;
+popd
+# install livepatch selftests
+pushd tools/testing/selftests/livepatch
+find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \;
+find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \;
+find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \;
+popd
+%endif
+
###
### clean
###
@@ -1700,7 +2124,7 @@ if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink -a ! -e /run/ostree-booted ] \
then\
(cd /usr/src/kernels/%{KVERREL}%{?1:+%{1}} &&\
/usr/bin/find . -type f | while read f; do\
- hardlink -c /usr/src/kernels/*.fc*.*/$f $f\
+ hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f\
done)\
fi\
%{nil}
@@ -1719,6 +2143,20 @@ fi\
%{nil}
#
+# This macro defines a %%post script for a kernel*-modules-internal package.
+# It also defines a %%postun script that does the same thing.
+# %%kernel_modules_internal_post [<subpackage>]
+#
+%define kernel_modules_internal_post() \
+%{expand:%%post %{?1:%{1}-}modules-internal}\
+/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
+%{nil}\
+%{expand:%%postun %{?1:%{1}-}modules-internal}\
+/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
+%{nil}
+
+
+#
# This macro defines a %%post script for a kernel*-modules package.
# It also defines a %%postun script that does the same thing.
# %%kernel_modules_post [<subpackage>]
@@ -1737,6 +2175,10 @@ fi\
#
%define kernel_variant_posttrans() \
%{expand:%%posttrans %{?1:%{1}-}core}\
+if [ -x %{_sbindir}/weak-modules ]\
+then\
+ %{_sbindir}/weak-modules --add-kernel %{KVERREL}%{?1:+%{1}} || exit $?\
+fi\
/bin/kernel-install add %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $?\
%{nil}
@@ -1749,6 +2191,7 @@ fi\
%{expand:%%kernel_devel_post %{?-v*}}\
%{expand:%%kernel_modules_post %{?-v*}}\
%{expand:%%kernel_modules_extra_post %{?-v*}}\
+%{expand:%%kernel_modules_internal_post %{?-v*}}\
%{expand:%%kernel_variant_posttrans %{?-v*}}\
%{expand:%%post %{?-v*:%{-v*}-}core}\
%{-r:\
@@ -1765,17 +2208,18 @@ fi}\
%define kernel_variant_preun() \
%{expand:%%preun %{?1:%{1}-}core}\
/bin/kernel-install remove %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $?\
+if [ -x %{_sbindir}/weak-modules ]\
+then\
+ %{_sbindir}/weak-modules --remove-kernel %{KVERREL}%{?1:+%{1}} || exit $?\
+fi\
%{nil}
%kernel_variant_preun
%kernel_variant_post -r kernel-smp
%if %{with_pae}
-%kernel_variant_preun %{pae}
-%kernel_variant_post -v %{pae} -r (kernel|kernel-smp)
-
-%kernel_variant_post -v %{pae}debug -r (kernel|kernel-smp)
-%kernel_variant_preun %{pae}debug
+%kernel_variant_preun lpae
+%kernel_variant_post -v lpae -r (kernel|kernel-smp)
%endif
%kernel_variant_preun debug
@@ -1800,8 +2244,43 @@ fi
/usr/*-linux-gnu/include/*
%endif
+%if %{with_kernel_abi_whitelists}
+%files -n kernel-abi-whitelists
+/lib/modules/kabi-*
+%endif
+
+%if %{with_kabidw_base}
+%ifarch x86_64 s390x ppc64 ppc64le aarch64
+%files kabidw-base
+%defattr(-,root,root)
+/kabidw-base/%{_target_cpu}/*
+%endif
+%endif
+
+# only some architecture builds need kernel-doc
+%if %{with_doc}
+%files doc
+%defattr(-,root,root)
+%{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation/*
+%dir %{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation
+%dir %{_datadir}/doc/kernel-doc-%{rpmversion}
+%endif
+
+%if %{with_selftests}
+%files selftests-internal
+%{_libexecdir}/ksamples
+%{_libexecdir}/kselftests
+%endif
+
# empty meta-package
%files
+%if %{with_gcov}
+%ifarch x86_64 s390x ppc64le aarch64
+%files gcov
+%{_builddir}
+%endif
+%endif
+
# This is %%{image_install_path} on an arch where that includes ELF files,
# or empty otherwise.
%define elf_image_install_path %{?kernel_image_elf:%{image_install_path}}
@@ -1826,7 +2305,9 @@ fi
%endif\
%attr(600,root,root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\
%ghost /boot/System.map-%{KVERREL}%{?3:+%{3}}\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.gz\
/lib/modules/%{KVERREL}%{?3:+%{3}}/config\
+%ghost /boot/symvers-%{KVERREL}%{?3:+%{3}}.gz\
%ghost /boot/config-%{KVERREL}%{?3:+%{3}}\
%ghost /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\
%dir /lib/modules\
@@ -1836,6 +2317,7 @@ fi
/lib/modules/%{KVERREL}%{?3:+%{3}}/source\
/lib/modules/%{KVERREL}%{?3:+%{3}}/updates\
/lib/modules/%{KVERREL}%{?3:+%{3}}/bls.conf\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/weak-updates\
%if %{1}\
/lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\
%endif\
@@ -1845,7 +2327,13 @@ fi
%defverify(not mtime)\
/usr/src/kernels/%{KVERREL}%{?3:+%{3}}\
%{expand:%%files %{?3:%{3}-}modules-extra}\
+%config(noreplace) /etc/modprobe.d/*-blacklist.conf\
/lib/modules/%{KVERREL}%{?3:+%{3}}/extra\
+%%defattr(-,root,root)\
+%defverify(not mtime)\
+/usr/src/kernels/%{KVERREL}%{?3:+%{3}}\
+%{expand:%%files %{?3:%{3}-}modules-internal}\
+/lib/modules/%{KVERREL}%{?3:+%{3}}/internal\
%if %{with_debuginfo}\
%ifnarch noarch\
%{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\
@@ -1859,14 +2347,561 @@ fi
%kernel_variant_files %{_use_vdso} %{with_up}
%kernel_variant_files %{_use_vdso} %{with_debug} debug
-%kernel_variant_files %{use_vdso} %{with_pae} %{pae}
-%kernel_variant_files %{use_vdso} %{with_pae_debug} %{pae}debug
+%kernel_variant_files %{use_vdso} %{with_pae} lpae
+
+%define kernel_variant_ipaclones(k:) \
+%if %{1}\
+%if %{with_ipaclones}\
+%{expand:%%files %{?2:%{2}-}ipaclones-internal}\
+%defattr(-,root,root)\
+%defverify(not mtime)\
+/usr/src/kernels/%{KVERREL}%{?2:+%{2}}-ipaclones\
+%endif\
+%endif\
+%{nil}
+
+%kernel_variant_ipaclones %{with_up}
# plz don't put in a version string unless you're going to tag
# and build.
#
#
%changelog
+* Wed Oct 30 2019 Laura Abbott <labbott@redhat.com> - 5.4.0-0.rc5.git0.2
+- bump and build to make sure I haven't broken anything
+
+* Mon Oct 28 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc5.git0.1
+- Linux v5.4-rc5
+
+* Mon Oct 28 2019 Jeremy Cline <jcline@redhat.com>
+- Disable debugging options.
+
+* Thu Oct 24 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc4.git3.1
+- Linux v5.4-rc4-85-gf116b96685a0
+
+* Wed Oct 23 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc4.git2.1
+- Linux v5.4-rc4-37-g13b86bc4cd64
+
+* Tue Oct 22 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc4.git1.1
+- Linux v5.4-rc4-18-g3b7c59a1950c
+
+* Tue Oct 22 2019 Jeremy Cline <jcline@redhat.com>
+- Reenable debugging options.
+
+* Mon Oct 21 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc4.git0.1
+- Linux v5.4-rc4
+
+* Mon Oct 21 2019 Jeremy Cline <jcline@redhat.com>
+- Disable debugging options.
+
+* Fri Oct 18 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc3.git2.1
+- Linux v5.4-rc3-99-g0e2adab6cf28
+
+* Tue Oct 15 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc3.git1.1
+- Linux v5.4-rc3-18-g5bc52f64e884
+
+* Tue Oct 15 2019 Jeremy Cline <jcline@redhat.com>
+- Reenable debugging options.
+
+* Mon Oct 14 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc3.git0.1
+- Linux v5.4-rc3
+
+* Mon Oct 14 2019 Jeremy Cline <jcline@redhat.com>
+- Disable debugging options.
+
+* Thu Oct 10 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc2.git2.1
+- Linux v5.4-rc2-96-gfb20da6af705
+
+* Tue Oct 08 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc2.git1.1
+- Linux v5.4-rc2-20-geda57a0e4299
+
+* Tue Oct 08 2019 Jeremy Cline <jcline@redhat.com>
+- Reenable debugging options.
+
+* Mon Oct 07 2019 Laura Abbott <labbott@redhat.com>
+- Enable a few NFT options (rhbz 1651813)
+
+* Mon Oct 07 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc2.git0.1
+- Linux v5.4-rc2
+
+* Mon Oct 07 2019 Jeremy Cline <jcline@redhat.com>
+- Disable debugging options.
+
+* Sun Oct 6 2019 Peter Robinson <pbrobinson@fedoraproject.org>
+- Fixes for Jetson TX1/TX2 series of devices
+
+* Fri Oct 04 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc1.git1.1
+- Linux v5.4-rc1-14-gcc3a7bfe62b9
+
+* Fri Oct 04 2019 Jeremy Cline <jcline@redhat.com>
+- Reenable debugging options.
+
+* Wed Oct 02 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc1.git0.1
+- Linux v5.4-rc1
+
+* Wed Oct 02 2019 Jeremy Cline <jcline@redhat.com>
+- Disable debugging options.
+
+* Mon Sep 30 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc0.git9.1
+- Linux v5.3-13236-g97f9a3c4eee5
+
+* Thu Sep 26 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc0.git8.1
+- Linux v5.3-12397-gf41def397161
+
+* Wed Sep 25 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc0.git7.1
+- Linux v5.3-12289-g351c8a09b00b
+
+* Tue Sep 24 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc0.git6.1
+- Linux v5.3-12025-g4c07e2ddab5b
+
+* Mon Sep 23 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc0.git5.1
+- Linux v5.3-11768-g619e17cf75dd
+
+* Fri Sep 20 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc0.git4.1
+- Linux v5.3-10169-g574cc4539762
+
+* Thu Sep 19 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc0.git3.1
+- Linux v5.3-7639-gb41dae061bbd
+
+* Wed Sep 18 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc0.git2.1
+- Linux v5.3-3839-g35f7a9526615
+
+* Tue Sep 17 2019 Jeremy Cline <jcline@redhat.com> - 5.4.0-0.rc0.git1.1
+- Linux v5.3-2061-gad062195731b
+
+* Tue Sep 17 2019 Jeremy Cline <jcline@redhat.com>
+- Reenable debugging options.
+
+* Mon Sep 16 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-1
+- Linux v5.3
+
+* Tue Sep 10 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc8.git0.1
+- Linux v5.3-rc8
+
+* Tue Sep 10 2019 Laura Abbott <labbott@redhat.com>
+- Disable debugging options.
+
+* Thu Sep 05 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc7.git1.1
+- Linux v5.3-rc7-2-g3b47fd5ca9ea
+
+* Thu Sep 05 2019 Laura Abbott <labbott@redhat.com>
+- Reenable debugging options.
+
+* Tue Sep 03 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc7.git0.1
+- Linux v5.3-rc7
+
+* Tue Sep 03 2019 Laura Abbott <labbott@redhat.com>
+- Disable debugging options.
+
+* Thu Aug 29 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc6.git2.1
+- Linux v5.3-rc6-119-g9cf6b756cdf2
+
+* Wed Aug 28 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc6.git1.1
+- Linux v5.3-rc6-115-g9e8312f5e160
+
+* Wed Aug 28 2019 Laura Abbott <labbott@redhat.com>
+- Reenable debugging options.
+
+* Mon Aug 26 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc6.git0.1
+- Linux v5.3-rc6
+
+* Mon Aug 26 2019 Laura Abbott <labbott@redhat.com>
+- Disable debugging options.
+
+* Fri Aug 23 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc5.git2.1
+- Linux v5.3-rc5-224-gdd469a456047
+
+* Thu Aug 22 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc5.git1.1
+- Linux v5.3-rc5-149-gbb7ba8069de9
+
+* Thu Aug 22 2019 Laura Abbott <labbott@redhat.com>
+- Reenable debugging options.
+
+* Mon Aug 19 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc5.git0.1
+- Linux v5.3-rc5
+
+* Mon Aug 19 2019 Laura Abbott <labbott@redhat.com>
+- Disable debugging options.
+
+* Fri Aug 16 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc4.git3.1
+- Linux v5.3-rc4-71-ga69e90512d9d
+
+* Thu Aug 15 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc4.git2.1
+- Linux v5.3-rc4-53-g41de59634046
+
+* Wed Aug 14 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc4.git1.1
+- Linux v5.3-rc4-4-gee1c7bd33e66
+
+* Wed Aug 14 2019 Laura Abbott <labbott@redhat.com>
+- Reenable debugging options.
+
+* Tue Aug 13 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc4.git0.1
+- Linux v5.3-rc4
+
+* Tue Aug 13 2019 Laura Abbott <labbott@redhat.com>
+- Disable debugging options.
+
+* Wed Aug 07 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc3.git1.1
+- Linux v5.3-rc3-282-g33920f1ec5bf
+
+* Wed Aug 07 2019 Laura Abbott <labbott@redhat.com>
+- Reenable debugging options.
+
+* Mon Aug 05 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc3.git0.1
+- Linux v5.3-rc3
+
+* Mon Aug 05 2019 Laura Abbott <labbott@redhat.com>
+- Disable debugging options.
+
+* Fri Aug 02 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc2.git4.1
+- Linux v5.3-rc2-70-g1e78030e5e5b
+
+* Thu Aug 01 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc2.git3.1
+- Linux v5.3-rc2-60-g5c6207539aea
+- Enable 8250 serial ports on powerpc
+
+* Wed Jul 31 2019 Peter Robinson <pbrobinson@fedoraproject.org> 5.3.0-0.rc2.git2.2
+- Enable IMA Appraisal
+
+* Wed Jul 31 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc2.git2.1
+- Linux v5.3-rc2-51-g4010b622f1d2
+
+* Tue Jul 30 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc2.git1.1
+- Linux v5.3-rc2-11-g2a11c76e5301
+
+* Tue Jul 30 2019 Laura Abbott <labbott@redhat.com>
+- Reenable debugging options.
+
+* Mon Jul 29 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc2.git0.1
+- Linux v5.3-rc2
+
+* Mon Jul 29 2019 Laura Abbott <labbott@redhat.com>
+- Disable debugging options.
+
+* Fri Jul 26 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc1.git4.1
+- Linux v5.3-rc1-96-g6789f873ed37
+- Enable nvram driver (rhbz 1732612)
+
+* Thu Jul 25 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc1.git3.1
+- Linux v5.3-rc1-82-gbed38c3e2dca
+
+* Wed Jul 24 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc1.git2.1
+- Linux v5.3-rc1-59-gad5e427e0f6b
+
+* Tue Jul 23 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc1.git1.1
+- Linux v5.3-rc1-56-g7b5cf701ea9c
+
+* Tue Jul 23 2019 Laura Abbott <labbott@redhat.com>
+- Reenable debugging options.
+
+* Sun Jul 21 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc1.git0.1
+- Linux v5.3-rc1
+
+* Sun Jul 21 2019 Laura Abbott <labbott@redhat.com>
+- Disable debugging options.
+
+* Fri Jul 19 2019 Peter Robinson <pbrobinson@fedoraproject.org>
+- RHBZ Bug 1576593 - work around while vendor investigates
+
+* Thu Jul 18 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc0.git7.1
+- Linux v5.2-11564-g22051d9c4a57
+
+* Wed Jul 17 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc0.git6.1
+- Linux v5.2-11043-g0a8ad0ffa4d8
+
+* Tue Jul 16 2019 Jeremy Cline <jcline@redhat.com>
+- Fix a firmware crash in Intel 7000 and 8000 devices (rhbz 1716334)
+
+* Tue Jul 16 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc0.git5.1
+- Linux v5.2-10808-g9637d517347e
+
+* Fri Jul 12 2019 Justin M. Forbes <jforbes@fedoraproject.org>
+- Turn off i686 builds
+
+* Fri Jul 12 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc0.git4.1
+- Linux v5.2-7109-gd7d170a8e357
+
+* Thu Jul 11 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc0.git3.1
+- Linux v5.2-3311-g5450e8a316a6
+
+* Wed Jul 10 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc0.git2.1
+- Linux v5.2-3135-ge9a83bd23220
+
+* Tue Jul 09 2019 Laura Abbott <labbott@redhat.com> - 5.3.0-0.rc0.git1.1
+- Linux v5.2-915-g5ad18b2e60b7
+
+* Tue Jul 09 2019 Laura Abbott <labbott@redhat.com>
+- Reenable debugging options.
+
+* Mon Jul 08 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-1
+- Linux v5.2.0
+- Disable debugging options.
+
+* Wed Jul 03 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc7.git1.1
+- Linux v5.2-rc7-8-geca94432934f
+- Reenable debugging options.
+
+* Mon Jul 01 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc7.git0.1
+- Linux v5.2-rc7
+
+* Mon Jul 01 2019 Justin M. Forbes <jforbes@fedoraproject.org>
+- Disable debugging options.
+
+* Fri Jun 28 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc6.git2.1
+- Linux v5.2-rc6-93-g556e2f6020bf
+
+* Tue Jun 25 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc6.git1.1
+- Linux v5.2-rc6-15-g249155c20f9b
+- Reenable debugging options.
+
+* Mon Jun 24 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc6.git0.1
+- Linux v5.2-rc6
+
+* Mon Jun 24 2019 Justin M. Forbes <jforbes@fedoraproject.org>
+- Disable debugging options.
+
+* Sat Jun 22 2019 Peter Robinson <pbrobinson@fedoraproject.org>
+- QCom ACPI fixes
+
+* Fri Jun 21 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc5.git4.1
+- Linux v5.2-rc5-290-g4ae004a9bca8
+
+* Thu Jun 20 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc5.git3.1
+- Linux v5.2-rc5-239-g241e39004581
+
+* Wed Jun 19 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc5.git2.1
+- Linux v5.2-rc5-224-gbed3c0d84e7e
+
+* Tue Jun 18 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc5.git1.1
+- Linux v5.2-rc5-177-g29f785ff76b6
+- Reenable debugging options.
+
+* Mon Jun 17 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc5.git0.1
+- Linux v5.2-rc5
+
+* Mon Jun 17 2019 Justin M. Forbes <jforbes@fedoraproject.org>
+- Disable debugging options.
+
+* Fri Jun 14 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc4.git3.1
+- Linux v5.2-rc4-129-g72a20cee5d99
+
+* Fri Jun 14 2019 Jeremy Cline <jcline@redhat.com>
+- Fix the long-standing bluetooth breakage
+
+* Fri Jun 14 2019 Hans de Goede <hdegoede@redhat.com>
+- Fix the LCD panel an Asus EeePC 1025C not lighting up (rhbz#1697069)
+- Add small bugfix for new Logitech wireless keyboard support
+
+* Thu Jun 13 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc4.git2.1
+- Linux v5.2-rc4-45-gc11fb13a117e
+
+* Wed Jun 12 2019 Peter Robinson <pbrobinson@fedoraproject.org>
+- Raspberry Pi: move to cpufreq driver accepted for upstream \o/
+
+* Wed Jun 12 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc4.git1.1
+- Linux v5.2-rc4-20-gaa7235483a83
+- Reenable debugging options.
+
+* Mon Jun 10 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc4.git0.1
+- Linux v5.2-rc4
+
+* Mon Jun 10 2019 Justin M. Forbes <jforbes@fedoraproject.org>
+- Disable debugging options.
+
+* Fri Jun 07 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc3.git3.1
+- Linux v5.2-rc3-77-g16d72dd4891f
+
+* Thu Jun 06 2019 Jeremy Cline <jcline@redhat.com>
+- Fix incorrect permission denied with lock down off (rhbz 1658675)
+
+* Thu Jun 06 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc3.git2.1
+- Linux v5.2-rc3-37-g156c05917e09
+
+* Tue Jun 04 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc3.git1.1
+- Linux v5.2-rc3-24-g788a024921c4
+- Reenable debugging options.
+
+* Mon Jun 03 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc3.git0.1
+- Linux v5.2-rc3
+
+* Mon Jun 03 2019 Justin M. Forbes <jforbes@fedoraproject.org>
+- Disable debugging options.
+
+* Fri May 31 2019 Peter Robinson <pbrobinson@fedoraproject.org> 5.2.0-0.rc2.git1.2
+- Bump for ARMv7 fix
+
+* Thu May 30 2019 Justin M. Forbes <jforbes@redhat.com> - 5.2.0-0.rc2.git1.1
+- Linux v5.2-rc2-24-gbec7550cca10
+- Reenable debugging options.
+
+* Mon May 27 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc2.git0.1
+- Linux v5.2-rc2
+
+* Mon May 27 2019 Justin M. Forbes <jforbes@fedoraproject.org>
+- Disable debugging options.
+
+* Fri May 24 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc1.git3.1
+- Linux v5.2-rc1-233-g0a72ef899014
+
+* Wed May 22 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc1.git2.1
+- Linux v5.2-rc1-165-g54dee406374c
+
+* Tue May 21 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc1.git1.1
+- Linux v5.2-rc1-129-g9c7db5004280
+
+* Tue May 21 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc1.git0.2
+- Reenable debugging options.
+
+* Mon May 20 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc1.git0.1
+- Disable debugging options.
+- Linux V5.2-rc1
+
+* Sun May 19 2019 Peter Robinson <pbrobinson@fedoraproject.org>
+- Arm config updates
+
+* Fri May 17 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc0.git9.1
+- Linux v5.1-12505-g0ef0fd351550
+
+* Thu May 16 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc0.git8.1
+- Linux v5.1-12065-g8c05f3b965da
+
+* Wed May 15 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc0.git7.1
+- Linux v5.1-10909-g2bbacd1a9278
+
+* Tue May 14 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc0.git6.1
+- Linux v5.1-10326-g7e9890a3500d
+
+* Mon May 13 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc0.git5.1
+- Linux v5.1-10135-ga13f0655503a
+
+* Fri May 10 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc0.git4.1
+- Linux v5.1-9573-gb970afcfcabd
+
+* Thu May 09 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc0.git3.1
+- Linux v5.1-8122-ga2d635decbfa
+
+* Wed May 08 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc0.git2.1
+- Linux v5.1-5445-g80f232121b69
+
+* Tue May 07 2019 Justin M. Forbes <jforbes@fedoraproject.org> - 5.2.0-0.rc0.git1.1
+- Linux v5.1-1199-g71ae5fc87c34
+- Reenable debugging options.
+
+* Mon May 6 2019 Peter Robinson <pbrobinson@fedoraproject.org>
+- Enable Arm STM32MP1
+
+* Mon May 06 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-1
+- Linux v5.1
+
+* Fri May 03 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc7.git4.1
+- Linux v5.1-rc7-131-gea9866793d1e
+
+* Thu May 02 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc7.git3.1
+- Linux v5.1-rc7-29-g600d7258316d
+
+* Wed May 01 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc7.git2.1
+- Linux v5.1-rc7-16-gf2bc9c908dfe
+
+* Tue Apr 30 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc7.git1.1
+- Linux v5.1-rc7-5-g83a50840e72a
+
+* Tue Apr 30 2019 Jeremy Cline <jcline@redhat.com>
+- Reenable debugging options.
+
+* Tue Apr 30 2019 Hans de Goede <hdegoede@redhat.com>
+- Fix wifi on various ideapad models not working (rhbz#1703338)
+
+* Mon Apr 29 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc7.git0.1
+- Linux v5.1-rc7
+
+* Mon Apr 29 2019 Jeremy Cline <jcline@redhat.com>
+- Disable debugging options.
+
+* Fri Apr 26 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc6.git4.1
+- Linux v5.1-rc6-72-g8113a85f8720
+
+* Thu Apr 25 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc6.git3.1
+- Linux v5.1-rc6-64-gcd8dead0c394
+
+* Thu Apr 25 2019 Justin M. Forbes <jforbes@fedoraproject.org>
+- Fix CVE-2019-3900 (rhbz 1698757 1702940)
+
+* Wed Apr 24 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc6.git2.1
+- Linux v5.1-rc6-15-gba25b50d582f
+
+* Tue Apr 23 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc6.git1.1
+- Linux v5.1-rc6-4-g7142eaa58b49
+
+* Tue Apr 23 2019 Jeremy Cline <jcline@redhat.com>
+- Reenable debugging options.
+
+* Tue Apr 23 2019 Jeremy Cline <jcline@redhat.com>
+- Allow modules signed by keys in the platform keyring (rbhz 1701096)
+
+* Mon Apr 22 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc6.git0.1
+- Linux v5.1-rc6
+
+* Mon Apr 22 2019 Jeremy Cline <jcline@redhat.com>
+- Disable debugging options.
+
+* Wed Apr 17 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc5.git2.1
+- Linux v5.1-rc5-36-g444fe9913539
+
+* Tue Apr 16 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc5.git1.1
+- Linux v5.1-rc5-10-g618d919cae2f
+
+* Tue Apr 16 2019 Jeremy Cline <jcline@redhat.com>
+- Reenable debugging options.
+
+* Mon Apr 15 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc5.git0.1
+- Linux v5.1-rc5
+
+* Mon Apr 15 2019 Jeremy Cline <jcline@redhat.com>
+- Disable debugging options.
+
+* Fri Apr 12 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc4.git4.1
+- Linux v5.1-rc4-184-g8ee15f324866
+
+* Thu Apr 11 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc4.git3.1
+- Linux v5.1-rc4-58-g582549e3fbe1
+
+* Wed Apr 10 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc4.git2.1
+- Linux v5.1-rc4-43-g771acc7e4a6e
+
+* Tue Apr 09 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc4.git1.1
+- Linux v5.1-rc4-34-g869e3305f23d
+
+* Tue Apr 09 2019 Jeremy Cline <jcline@redhat.com>
+- Reenable debugging options.
+
+* Mon Apr 08 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc4.git0.1
+- Linux v5.1-rc4
+
+* Mon Apr 08 2019 Jeremy Cline <jcline@redhat.com>
+- Disable debugging options.
+
+* Fri Apr 05 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc3.git3.1
+- Linux v5.1-rc3-206-gea2cec24c8d4
+
+* Wed Apr 03 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc3.git2.1
+- Linux v5.1-rc3-35-g8ed86627f715
+
+* Tue Apr 02 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc3.git1.1
+- Linux v5.1-rc3-14-g5e7a8ca31926
+
+* Tue Apr 02 2019 Jeremy Cline <jcline@redhat.com>
+- Reenable debugging options.
+
+* Mon Apr 01 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc3.git0.1
+- Linux v5.1-rc3
+
+* Mon Apr 01 2019 Jeremy Cline <jcline@redhat.com>
+- Disable debugging options.
+
+* Fri Mar 29 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc2.git4.1
+- Linux v5.1-rc2-247-g9936328b41ce
+- Pick up a mm fix causing hangs (rhbz 1693525)
+
* Thu Mar 28 2019 Jeremy Cline <jcline@redhat.com> - 5.1.0-0.rc2.git3.1
- Linux v5.1-rc2-243-g8c7ae38d1ce1