potatogim / rpms / kernel

Forked from rpms/kernel 3 years ago
Clone
Pablo Greco 7b2c62
# We have to override the new %%install behavior because, well... the kernel is special.
Pablo Greco 7b2c62
%global __spec_install_pre %{___build_pre}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# this should go away soon
Pablo Greco 7b2c62
%define _legacy_common_support 1
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# At the time of this writing (2019-03), RHEL8 packages use w2.xzdio
Pablo Greco 7b2c62
# compression for rpms (xz, level 2).
Pablo Greco 7b2c62
# Kernel has several large (hundreds of mbytes) rpms, they take ~5 mins
Pablo Greco 7b2c62
# to compress by single-threaded xz. Switch to threaded compression,
Pablo Greco 7b2c62
# and from level 2 to 3 to keep compressed sizes close to "w2" results.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# NB: if default compression in /usr/lib/rpm/redhat/macros ever changes,
Pablo Greco 7b2c62
# this one might need tweaking (e.g. if default changes to w3.xzdio,
Pablo Greco 7b2c62
# change below to w4T.xzdio):
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This is disabled on i686 as it triggers oom errors
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifnarch i686
Pablo Greco 7b2c62
%define _binary_payload w3T.xzdio
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Summary: The Linux kernel
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# For a kernel released for public testing, released_kernel should be 1.
Pablo Greco 7b2c62
# For internal testing builds during development, it should be 0.
Pablo Greco 7b2c62
# For rawhide and/or a kernel built from an rc or git snapshot,
Pablo Greco 7b2c62
# released_kernel should be 0.
Pablo Greco 7b2c62
# For a stable, released kernel, released_kernel should be 1.
Pablo Greco 7b2c62
%global released_kernel 1
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if 0%{?fedora}
Pablo Greco 7b2c62
%define secure_boot_arch x86_64
Pablo Greco 7b2c62
%else
26035c
%define secure_boot_arch x86_64 aarch64
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Signing for secure boot authentication
Pablo Greco 7b2c62
%ifarch %{secure_boot_arch}
Pablo Greco 7b2c62
%global signkernel 1
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%global signkernel 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Sign modules on all arches
Pablo Greco 7b2c62
%global signmodules 1
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Compress modules only for architectures that build modules
Pablo Greco 7b2c62
%ifarch noarch
Pablo Greco 7b2c62
%global zipmodules 0
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%global zipmodules 1
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{zipmodules}
Pablo Greco 7b2c62
%global zipsed -e 's/\.ko$/\.ko.xz/'
Pablo Greco 7b2c62
# for parallel xz processes, replace with 1 to go back to single process
Pablo Greco 7b2c62
%global zcpu `nproc --all`
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# define buildid .local
Pablo Greco 7b2c62
Pablo Greco 418f01
%if 0%{?fedora}%{?centos}
Pablo Greco 7b2c62
%define primary_target fedora
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%define primary_target rhel
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# baserelease defines which build revision of this kernel version we're
Pablo Greco 7b2c62
# building.  We used to call this fedora_build, but the magical name
Pablo Greco 7b2c62
# baserelease is matched by the rpmdev-bumpspec tool, which you should use.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# We used to have some extra magic weirdness to bump this automatically,
Pablo Greco 7b2c62
# but now we don't.  Just use: rpmdev-bumpspec -c 'comment for changelog'
Pablo Greco 7b2c62
# When changing base_sublevel below or going from rc to a final kernel,
Pablo Greco 7b2c62
# reset this by hand to 1 (or to 0 and then use rpmdev-bumpspec).
Pablo Greco 7b2c62
# scripts/rebase.sh should be made to do that for you, actually.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# NOTE: baserelease must be > 0 or bad things will happen if you switch
Pablo Greco 7b2c62
#       to a released kernel (released version will be < rc version)
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# For non-released -rc kernels, this will be appended after the rcX and
Pablo Greco 7b2c62
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%global baserelease 200
Pablo Greco 7b2c62
%global fedora_build %{baserelease}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# base_sublevel is the kernel version we're starting with and patching
Pablo Greco 7b2c62
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
Pablo Greco 7b2c62
# which yields a base_sublevel of 0.
Pablo Greco 7b2c62
%define base_sublevel 10
Pablo Greco 7b2c62
Pablo Greco 7b2c62
## If this is a released kernel ##
Pablo Greco 7b2c62
%if 0%{?released_kernel}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Do we have a -stable update to apply?
Pablo Greco 7d3c43
%define stable_update 33
Pablo Greco 7b2c62
# Set rpm version accordingly
Pablo Greco 7b2c62
%if 0%{?stable_update}
Pablo Greco 7b2c62
%define stablerev %{stable_update}
Pablo Greco 7b2c62
%define stable_base %{stable_update}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%define rpmversion 5.%{base_sublevel}.%{stable_update}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
## The not-released-kernel case ##
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
# The next upstream release sublevel (base_sublevel+1)
Pablo Greco 7b2c62
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
Pablo Greco 7b2c62
# The rc snapshot level
Pablo Greco 7b2c62
%global rcrev 0
Pablo Greco 7b2c62
# The git snapshot level
Pablo Greco 7b2c62
%define gitrev 0
Pablo Greco 7b2c62
# Set rpm version accordingly
Pablo Greco 7b2c62
%define rpmversion 5.%{upstream_sublevel}.0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
# Nb: The above rcrev and gitrev values automagically define Patch00 and Patch01 below.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# What parts do we want to build?  We must build at least one kernel.
Pablo Greco 7b2c62
# These are the kernels that are built IF the architecture allows it.
Pablo Greco 7b2c62
# All should default to 1 (enabled) and be flipped to 0 (disabled)
Pablo Greco 7b2c62
# by later arch-specific checks.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# The following build options are enabled by default.
Pablo Greco 7b2c62
# Use either --without <opt> in your rpmbuild command or force values
Pablo Greco 7b2c62
# to 0 in here to disable them.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# standard kernel
Pablo Greco 7b2c62
%define with_up        %{?_without_up:        0} %{?!_without_up:        1}
Pablo Greco 7b2c62
# kernel PAE (only valid for ARM (lpae))
Pablo Greco 7b2c62
%define with_pae       %{?_without_pae:       0} %{?!_without_pae:       1}
Pablo Greco 7b2c62
# kernel-debug
Pablo Greco 7b2c62
%define with_debug     %{?_without_debug:     0} %{?!_without_debug:     1}
Pablo Greco 7b2c62
# kernel-doc
Pablo Greco 7b2c62
%define with_doc       %{?_without_doc:       0} %{?!_without_doc:       1}
Pablo Greco 7b2c62
# kernel-headers
Pablo Greco 7b2c62
%define with_headers   %{?_without_headers:   0} %{?!_without_headers:   1}
Pablo Greco 7b2c62
%define with_cross_headers   %{?_without_cross_headers:   0} %{?!_without_cross_headers:   1}
Pablo Greco 7b2c62
# perf
Pablo Greco 7b2c62
%define with_perf      %{?_without_perf:      0} %{?!_without_perf:      1}
Pablo Greco 7b2c62
# tools
Pablo Greco 7b2c62
%define with_tools     %{?_without_tools:     0} %{?!_without_tools:     1}
Pablo Greco 7b2c62
# bpf tool
Pablo Greco 7b2c62
%define with_bpftool   %{?_without_bpftool:   0} %{?!_without_bpftool:   1}
Pablo Greco 7b2c62
# kernel-debuginfo
Pablo Greco 7b2c62
%define with_debuginfo %{?_without_debuginfo: 0} %{?!_without_debuginfo: 1}
Pablo Greco 7b2c62
# Want to build a the vsdo directories installed
Pablo Greco 7b2c62
%define with_vdso_install %{?_without_vdso_install: 0} %{?!_without_vdso_install: 1}
Pablo Greco 7b2c62
# kernel-zfcpdump (s390 specific kernel for zfcpdump)
Pablo Greco 7b2c62
%define with_zfcpdump  %{?_without_zfcpdump:  0} %{?!_without_zfcpdump:  1}
Pablo Greco 7b2c62
# kernel-abi-whitelists
Pablo Greco 7b2c62
%define with_kernel_abi_whitelists %{?_without_kernel_abi_whitelists: 0} %{?!_without_kernel_abi_whitelists: 1}
Pablo Greco 7b2c62
# internal samples and selftests
Pablo Greco 7b2c62
%define with_selftests %{?_without_selftests: 0} %{?!_without_selftests: 1}
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# Additional options for user-friendly one-off kernel building:
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# Only build the base kernel (--with baseonly):
Pablo Greco 7b2c62
%define with_baseonly  %{?_with_baseonly:     1} %{?!_with_baseonly:     0}
Pablo Greco 7b2c62
# Only build the pae kernel (--with paeonly):
Pablo Greco 7b2c62
%define with_paeonly   %{?_with_paeonly:      1} %{?!_with_paeonly:      0}
Pablo Greco 7b2c62
# Only build the debug kernel (--with dbgonly):
Pablo Greco 7b2c62
%define with_dbgonly   %{?_with_dbgonly:      1} %{?!_with_dbgonly:      0}
Pablo Greco 7b2c62
# Control whether we perform a compat. check against published ABI.
Pablo Greco 7b2c62
%define with_kabichk   %{?_without_kabichk:   0} %{?!_without_kabichk:   1}
Pablo Greco 7b2c62
# Temporarily disable kabi checks until RC.
Pablo Greco 7b2c62
%define with_kabichk 0
Pablo Greco 7b2c62
# Control whether we perform a compat. check against DUP ABI.
Pablo Greco 7b2c62
%define with_kabidupchk %{?_with_kabidupchk:  1} %{?!_with_kabidupchk:   0}
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# Control whether to run an extensive DWARF based kABI check.
Pablo Greco 7b2c62
# Note that this option needs to have baseline setup in SOURCE300.
Pablo Greco 7b2c62
%define with_kabidwchk %{?_without_kabidwchk: 0} %{?!_without_kabidwchk: 1}
Pablo Greco 7b2c62
%define with_kabidw_base %{?_with_kabidw_base: 1} %{?!_with_kabidw_base: 0}
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# should we do C=1 builds with sparse
Pablo Greco 7b2c62
%define with_sparse    %{?_with_sparse:       1} %{?!_with_sparse:       0}
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# Cross compile requested?
Pablo Greco 7b2c62
%define with_cross    %{?_with_cross:         1} %{?!_with_cross:        0}
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# build a release kernel on rawhide
Pablo Greco 7b2c62
%define with_release   %{?_with_release:      1} %{?!_with_release:      0}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# verbose build, i.e. no silent rules and V=1
Pablo Greco 7b2c62
%define with_verbose %{?_with_verbose:        1} %{?!_with_verbose:      0}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# check for mismatched config options
Pablo Greco 7b2c62
%define with_configchecks %{?_without_configchecks:        0} %{?!_without_configchecks:        1}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# gcov support
Pablo Greco 7b2c62
%define with_gcov %{?_with_gcov:1}%{?!_with_gcov:0}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# ipa_clone support
Pablo Greco 7b2c62
%define with_ipaclones %{?_without_ipaclones: 0} %{?!_without_ipaclones: 1}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Want to build a vanilla kernel build without any non-upstream patches?
Pablo Greco 7b2c62
%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Set debugbuildsenabled to 1 for production (build separate debug kernels)
Pablo Greco 7b2c62
#  and 0 for rawhide (all kernels are debug kernels).
Pablo Greco 7b2c62
# See also 'make debug' and 'make release'.
Pablo Greco 7b2c62
%define debugbuildsenabled 1
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if 0%{?fedora}
Pablo Greco 7b2c62
# Kernel headers are being split out into a separate package
Pablo Greco 7b2c62
%define with_headers 0
Pablo Greco 7b2c62
%define with_cross_headers 0
Pablo Greco 7b2c62
# no selftests for now
Pablo Greco 7b2c62
%define with_selftests 0
Pablo Greco 7b2c62
# no ipa_clone for now
Pablo Greco 7b2c62
%define with_ipaclones 0
Pablo Greco 7b2c62
# no whitelist
Pablo Greco 7b2c62
%define with_kernel_abi_whitelists 0
Pablo Greco 7b2c62
# Fedora builds these separately
Pablo Greco 7b2c62
%define with_perf 0
Pablo Greco 7b2c62
%define with_tools 0
Pablo Greco 7b2c62
%define with_bpftool 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 05f52f
%if 0%{?centos}
Pablo Greco 05f52f
# no selftests for now
Pablo Greco 05f52f
%define with_selftests 0
Pablo Greco 05f52f
# no ipa_clone for now
Pablo Greco 05f52f
%define with_ipaclones 0
Pablo Greco 05f52f
# no whitelist
Pablo Greco 05f52f
%define with_kernel_abi_whitelists 0
Pablo Greco 05f52f
%define with_kabidw_base 0
Pablo Greco 05f52f
%define with_kabidwchk 0
Pablo Greco 05f52f
%endif
Pablo Greco 05f52f
Pablo Greco 7b2c62
%if %{with_verbose}
Pablo Greco 7b2c62
%define make_opts V=1
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%define make_opts -s
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# pkg_release is what we'll fill in for the rpm Release: field
Pablo Greco 7b2c62
%if 0%{?released_kernel}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%define pkg_release %{fedora_build}%{?buildid}%{?dist}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# non-released_kernel
Pablo Greco 7b2c62
%if 0%{?rcrev}
Pablo Greco 7b2c62
%define rctag .rc%rcrev
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%define rctag .rc0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%if 0%{?gitrev}
Pablo Greco 7b2c62
%define gittag .git%gitrev
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%define gittag .git0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%define pkg_release 0%{?rctag}%{?gittag}.%{fedora_build}%{?buildid}%{?dist}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# The kernel tarball/base version
Pablo Greco 7b2c62
%define kversion 5.%{base_sublevel}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# turn off debug kernel and kabichk for gcov builds
Pablo Greco 7b2c62
%if %{with_gcov}
Pablo Greco 7b2c62
%define with_debug 0
Pablo Greco 7b2c62
%define with_kabichk 0
Pablo Greco 7b2c62
%define with_kabidupchk 0
Pablo Greco 7b2c62
%define with_kabidwchk 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# turn off kABI DWARF-based check if we're generating the base dataset
Pablo Greco 7b2c62
%if %{with_kabidw_base}
Pablo Greco 7b2c62
%define with_kabidwchk 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# kpatch_kcflags are extra compiler flags applied to base kernel
Pablo Greco 7b2c62
# -fdump-ipa-clones is enabled only for base kernels on selected arches
Pablo Greco 7b2c62
%if %{with_ipaclones}
Pablo Greco 7b2c62
%ifarch x86_64 ppc64le
Pablo Greco 7b2c62
%define kpatch_kcflags -fdump-ipa-clones
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%define with_ipaclones 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%define make_target bzImage
Pablo Greco 7b2c62
%define image_install_path boot
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%define KVERREL %{version}-%{release}.%{_target_cpu}
Pablo Greco 7b2c62
%define KVERREL_RE %(echo %KVERREL | sed 's/+/[+]/g')
Pablo Greco 7b2c62
%define hdrarch %_target_cpu
Pablo Greco 7b2c62
%define asmarch %_target_cpu
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if 0%{!?nopatches:1}
Pablo Greco 7b2c62
%define nopatches 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_vanilla}
Pablo Greco 7b2c62
%define nopatches 1
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{nopatches}
Pablo Greco 7b2c62
%define variant -vanilla
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if !%{debugbuildsenabled}
Pablo Greco 7b2c62
%define with_debug 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if !%{with_debuginfo}
Pablo Greco 7b2c62
%define _enable_debug_packages 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%define debuginfodir /usr/lib/debug
Pablo Greco 7b2c62
# Needed because we override almost everything involving build-ids
Pablo Greco 7b2c62
# and debuginfo generation. Currently we rely on the old alldebug setting.
Pablo Greco 7b2c62
%global _build_id_links alldebug
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# kernel PAE is only built on ARMv7
Pablo Greco 7b2c62
%ifnarch armv7hl
Pablo Greco 7b2c62
%define with_pae 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# if requested, only build base kernel
Pablo Greco 7b2c62
%if %{with_baseonly}
Pablo Greco 7b2c62
%define with_pae 0
Pablo Greco 7b2c62
%define with_debug 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# if requested, only build pae kernel
Pablo Greco 7b2c62
%if %{with_paeonly}
Pablo Greco 7b2c62
%define with_up 0
Pablo Greco 7b2c62
%define with_debug 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# if requested, only build debug kernel
Pablo Greco 7b2c62
%if %{with_dbgonly}
Pablo Greco 7b2c62
%if %{debugbuildsenabled}
Pablo Greco 7b2c62
%define with_up 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%define with_pae 0
Pablo Greco 7b2c62
%define with_tools 0
Pablo Greco 7b2c62
%define with_perf 0
Pablo Greco 7b2c62
%define with_bpftool 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# turn off kABI DUP check and DWARF-based check if kABI check is disabled
Pablo Greco 7b2c62
%if !%{with_kabichk}
Pablo Greco 7b2c62
%define with_kabidupchk 0
Pablo Greco 7b2c62
%define with_kabidwchk 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_vdso_install}
Pablo Greco 7b2c62
%define use_vdso 1
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifnarch noarch
Pablo Greco 7b2c62
%define with_kernel_abi_whitelists 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Overrides for generic default options
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# only package docs noarch
Pablo Greco 7b2c62
%ifnarch noarch
Pablo Greco 7b2c62
%define with_doc 0
Pablo Greco 7b2c62
%define doc_build_fail true
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 05f52f
%if 0%{?fedora}%{?centos}
Pablo Greco 7b2c62
# don't do debug builds on anything but i686 and x86_64
Pablo Greco 7b2c62
%ifnarch i686 x86_64
Pablo Greco 7b2c62
%define with_debug 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# don't build noarch kernels or headers (duh)
Pablo Greco 7b2c62
%ifarch noarch
Pablo Greco 7b2c62
%define with_up 0
Pablo Greco 7b2c62
%define with_headers 0
Pablo Greco 7b2c62
%define with_cross_headers 0
Pablo Greco 7b2c62
%define with_tools 0
Pablo Greco 7b2c62
%define with_perf 0
Pablo Greco 7b2c62
%define with_bpftool 0
Pablo Greco 7b2c62
%define with_selftests 0
Pablo Greco 7b2c62
%define with_debug 0
Pablo Greco 7b2c62
%define all_arch_configs kernel-%{version}-*.config
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# sparse blows up on ppc
Pablo Greco 7b2c62
%ifnarch ppc64le
Pablo Greco 7b2c62
%define with_sparse 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# zfcpdump mechanism is s390 only
Pablo Greco 7b2c62
%ifnarch s390x
Pablo Greco 7b2c62
%define with_zfcpdump 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if 0%{?fedora}
Pablo Greco 7b2c62
# This is not for Fedora
Pablo Greco 7b2c62
%define with_zfcpdump 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Per-arch tweaks
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifarch i686
Pablo Greco 7b2c62
%define asmarch x86
Pablo Greco 7b2c62
%define hdrarch i386
Pablo Greco 7b2c62
%define all_arch_configs kernel-%{version}-i?86*.config
Pablo Greco 7b2c62
%define kernel_image arch/x86/boot/bzImage
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifarch x86_64
Pablo Greco 7b2c62
%define asmarch x86
Pablo Greco 7b2c62
%define all_arch_configs kernel-%{version}-x86_64*.config
Pablo Greco 7b2c62
%define kernel_image arch/x86/boot/bzImage
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifarch ppc64le
Pablo Greco 7b2c62
%define asmarch powerpc
Pablo Greco 7b2c62
%define hdrarch powerpc
Pablo Greco 7b2c62
%define make_target vmlinux
Pablo Greco 7b2c62
%define kernel_image vmlinux
Pablo Greco 7b2c62
%define kernel_image_elf 1
Pablo Greco 7b2c62
%define all_arch_configs kernel-%{version}-ppc64le*.config
Pablo Greco 7b2c62
%define kcflags -O3
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifarch s390x
Pablo Greco 7b2c62
%define asmarch s390
Pablo Greco 7b2c62
%define hdrarch s390
Pablo Greco 7b2c62
%define all_arch_configs kernel-%{version}-s390x.config
Pablo Greco 7b2c62
%define kernel_image arch/s390/boot/bzImage
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifarch %{arm}
Pablo Greco 7b2c62
%define all_arch_configs kernel-%{version}-arm*.config
Pablo Greco 7b2c62
%define skip_nonpae_vdso 1
Pablo Greco 7b2c62
%define asmarch arm
Pablo Greco 7b2c62
%define hdrarch arm
Pablo Greco 7b2c62
%define make_target bzImage
Pablo Greco 7b2c62
%define kernel_image arch/arm/boot/zImage
Pablo Greco 7b2c62
# http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/091404.html
Pablo Greco 7b2c62
%define kernel_mflags KALLSYMS_EXTRA_PASS=1
Pablo Greco 7b2c62
# we only build headers/perf/tools on the base arm arches
Pablo Greco 7b2c62
# just like we used to only build them on i386 for x86
Pablo Greco 7b2c62
%ifnarch armv7hl
Pablo Greco 7b2c62
%define with_headers 0
Pablo Greco 7b2c62
%define with_cross_headers 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
# These currently don't compile on armv7
Pablo Greco 7b2c62
%define with_selftests 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifarch aarch64
Pablo Greco 7b2c62
%define all_arch_configs kernel-%{version}-aarch64*.config
Pablo Greco 7b2c62
%define asmarch arm64
Pablo Greco 7b2c62
%define hdrarch arm64
Pablo Greco 7b2c62
%define make_target Image.gz
Pablo Greco 7b2c62
%define kernel_image arch/arm64/boot/Image.gz
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Should make listnewconfig fail if there's config options
Pablo Greco 7b2c62
# printed out?
Pablo Greco 7b2c62
%if %{nopatches}
Pablo Greco 7b2c62
%define with_configchecks 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# To temporarily exclude an architecture from being built, add it to
Pablo Greco 7b2c62
# %%nobuildarches. Do _NOT_ use the ExclusiveArch: line, because if we
Pablo Greco 7b2c62
# don't build kernel-headers then the new build system will no longer let
Pablo Greco 7b2c62
# us use the previous build of that package -- it'll just be completely AWOL.
Pablo Greco 7b2c62
# Which is a BadThing(tm).
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# We only build kernel-headers on the following...
Pablo Greco 418f01
%if 0%{?fedora}%{?centos}
Pablo Greco 7b2c62
%define nobuildarches i386
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%define nobuildarches i386 i686
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifarch %nobuildarches
Pablo Greco 7b2c62
%define with_up 0
Pablo Greco 7b2c62
%define with_debug 0
Pablo Greco 7b2c62
%define with_debuginfo 0
Pablo Greco 7b2c62
%define with_perf 0
Pablo Greco 7b2c62
%define with_tools 0
Pablo Greco 7b2c62
%define with_bpftool 0
Pablo Greco 7b2c62
%define with_selftests 0
Pablo Greco 7b2c62
%define with_pae 0
Pablo Greco 7b2c62
%define _enable_debug_packages 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Architectures we build tools/cpupower on
Pablo Greco 418f01
%if 0%{?fedora}%{?centos}
Pablo Greco 7b2c62
%define cpupowerarchs %{ix86} x86_64 ppc64le %{arm} aarch64
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%define cpupowerarchs i686 x86_64 ppc64le aarch64
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{use_vdso}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if 0%{?skip_nonpae_vdso}
Pablo Greco 7b2c62
%define _use_vdso 0
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%define _use_vdso 1
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%define _use_vdso 0
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# Packages that need to be installed before the kernel is, because the %%post
Pablo Greco 7b2c62
# scripts use them.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_prereq  coreutils, systemd >= 203-2, /usr/bin/kernel-install
Pablo Greco 7b2c62
%define initrd_prereq  dracut >= 027
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Name: kernel%{?variant}
Pablo Greco 7b2c62
License: GPLv2 and Redistributable, no modification permitted
Pablo Greco 7b2c62
URL: https://www.kernel.org/
Pablo Greco 7b2c62
Version: %{rpmversion}
Pablo Greco 7b2c62
Release: %{pkg_release}
Pablo Greco 7b2c62
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
Pablo Greco 7b2c62
# SET %%nobuildarches (ABOVE) INSTEAD
Pablo Greco 7b2c62
%if 0%{?fedora}
Pablo Greco 7b2c62
ExclusiveArch: x86_64 s390x %{arm} aarch64 ppc64le
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
ExclusiveArch: noarch i386 i686 x86_64 s390x %{arm} aarch64 ppc64le
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
ExclusiveOS: Linux
Pablo Greco 7b2c62
%ifnarch %{nobuildarches}
Pablo Greco 7b2c62
Requires: kernel-core-uname-r = %{KVERREL}%{?variant}
Pablo Greco 7b2c62
Requires: kernel-modules-uname-r = %{KVERREL}%{?variant}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# List the packages used during the kernel build
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
BuildRequires: kmod, patch, bash, tar, git-core
Pablo Greco 7b2c62
BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk
Pablo Greco 7b2c62
BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex
Pablo Greco 7b2c62
BuildRequires: net-tools, hostname, bc, elfutils-devel
Pablo Greco 05f52f
%if 0%{?rhel} == 7
Pablo Greco 05f52f
BuildRequires:  devtoolset-8-build
Pablo Greco 05f52f
BuildRequires:  devtoolset-8-binutils
Pablo Greco 05f52f
BuildRequires:  devtoolset-8-gcc
Pablo Greco 05f52f
BuildRequires:  devtoolset-8-make
Pablo Greco 05f52f
BuildRequires:  python3-rpm-macros
Pablo Greco 05f52f
%endif
Pablo Greco 418f01
%if 0%{?fedora} || 0%{?rhel} >= 8
Pablo Greco 7b2c62
BuildRequires: dwarves
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
# Used to mangle unversioned shebangs to be Python 3
Pablo Greco 7b2c62
BuildRequires: python3-devel
Pablo Greco 7b2c62
%if %{with_headers}
Pablo Greco 7b2c62
BuildRequires: rsync
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%if %{with_doc}
Pablo Greco 7b2c62
BuildRequires: xmlto, asciidoc, python3-sphinx
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%if %{with_sparse}
Pablo Greco 7b2c62
BuildRequires: sparse
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%if %{with_perf}
Pablo Greco 7b2c62
BuildRequires: zlib-devel binutils-devel newt-devel perl(ExtUtils::Embed) bison flex xz-devel
Pablo Greco 7b2c62
BuildRequires: audit-libs-devel
Pablo Greco 7b2c62
BuildRequires: java-devel
Pablo Greco 7b2c62
%ifnarch %{arm} s390x
Pablo Greco 7b2c62
BuildRequires: numactl-devel
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%if %{with_tools}
Pablo Greco 7b2c62
BuildRequires: gettext ncurses-devel
Pablo Greco 7b2c62
%ifnarch s390x
Pablo Greco 7b2c62
BuildRequires: pciutils-devel
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%if %{with_bpftool}
Pablo Greco 05f52f
%if 0%{?rhel} == 7
Pablo Greco 05f52f
BuildRequires: python-docutils
Pablo Greco 05f52f
%else
Pablo Greco 7b2c62
BuildRequires: python3-docutils
Pablo Greco 05f52f
%endif
Pablo Greco 7b2c62
BuildRequires: zlib-devel binutils-devel
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%if %{with_selftests}
Pablo Greco 7b2c62
%if 0%{?fedora}
Pablo Greco 7b2c62
BuildRequires: clang llvm
Pablo Greco 7b2c62
%else
Pablo Greco 05f52f
%if 0%{?rhel} == 7
Pablo Greco 05f52f
BuildRequires: llvm-toolset-7.0
Pablo Greco 05f52f
%else
Pablo Greco 7b2c62
BuildRequires: llvm-toolset
Pablo Greco 7b2c62
%endif
Pablo Greco 05f52f
%endif
Pablo Greco 7b2c62
%ifnarch %{arm}
Pablo Greco 7b2c62
BuildRequires: numactl-devel
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
BuildRequires: libcap-devel libcap-ng-devel rsync
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
BuildConflicts: rhbuildsys(DiskFree) < 500Mb
Pablo Greco 7b2c62
%if %{with_debuginfo}
Pablo Greco 7b2c62
BuildRequires: rpm-build, elfutils
Pablo Greco 7b2c62
BuildConflicts: rpm < 4.13.0.1-19
Pablo Greco 7b2c62
%if 0%{?fedora}
Pablo Greco 7b2c62
BuildConflicts: dwarves < 1.13
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
# Most of these should be enabled after more investigation
Pablo Greco 7b2c62
%undefine _include_minidebuginfo
Pablo Greco 7b2c62
%undefine _find_debuginfo_dwz_opts
Pablo Greco 7b2c62
%undefine _unique_build_ids
Pablo Greco 7b2c62
%undefine _unique_debug_names
Pablo Greco 7b2c62
%undefine _unique_debug_srcs
Pablo Greco 7b2c62
%undefine _debugsource_packages
Pablo Greco 7b2c62
%undefine _debuginfo_subpackages
Pablo Greco 7b2c62
%global _find_debuginfo_opts -r
Pablo Greco 7b2c62
%global _missing_build_ids_terminate_build 1
Pablo Greco 7b2c62
%global _no_recompute_build_ids 1
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%if %{with_kabidwchk} || %{with_kabidw_base}
Pablo Greco 7b2c62
BuildRequires: kabi-dw
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{signkernel}%{signmodules}
Pablo Greco 7b2c62
BuildRequires: openssl openssl-devel
Pablo Greco 7b2c62
%if %{signkernel}
Pablo Greco 7b2c62
%ifarch x86_64 aarch64
Pablo Greco 7b2c62
BuildRequires: nss-tools
Pablo Greco 7b2c62
BuildRequires: pesign >= 0.10-4
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_cross}
Pablo Greco 7b2c62
BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu
Pablo Greco 7b2c62
%define cross_opts CROSS_COMPILE=%{_build_arch}-linux-gnu-
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# These below are required to build man pages
Pablo Greco 7b2c62
%if %{with_perf}
Pablo Greco 7b2c62
BuildRequires: xmlto
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%if %{with_perf} || %{with_tools}
Pablo Greco 7b2c62
BuildRequires: asciidoc
Pablo Greco 7b2c62
%endif
Pablo Greco 6fc767
%if %{with_tools}
Pablo Greco 6fc767
BuildRequires: libcap-devel
Pablo Greco 6fc767
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source0: https://www.kernel.org/pub/linux/kernel/v5.x/linux-%{kversion}.tar.xz
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Name of the packaged file containing signing key
Pablo Greco 7b2c62
%ifarch ppc64le
Pablo Greco 7b2c62
%define signing_key_filename kernel-signing-ppc.cer
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%ifarch s390x
Pablo Greco 7b2c62
%define signing_key_filename kernel-signing-s390.cer
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source10: x509.genkey.rhel
Pablo Greco 7b2c62
Source11: x509.genkey.fedora
Pablo Greco 7b2c62
%if %{?released_kernel}
Pablo Greco 7b2c62
26035c
Source12: centossecurebootca2.der
26035c
Source13: centos-ca-secureboot.der
26035c
Source14: centossecureboot201.der
26035c
Source15: centossecureboot001.der
Pablo Greco 7b2c62
Source16: secureboot_s390.cer
Pablo Greco 7b2c62
Source17: secureboot_ppc.cer
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%define secureboot_ca_1 %{SOURCE12}
Pablo Greco 7b2c62
%define secureboot_ca_0 %{SOURCE13}
Pablo Greco 7b2c62
%ifarch x86_64 aarch64
Pablo Greco 7b2c62
%define secureboot_key_1 %{SOURCE14}
26035c
%define pesign_name_1 centossecureboot201
Pablo Greco 7b2c62
%define secureboot_key_0 %{SOURCE15}
26035c
%define pesign_name_0 centossecureboot001
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# released_kernel
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
26035c
Source12: centossecurebootca2.der
26035c
Source13: centos-ca-secureboot.der
26035c
Source14: centossecureboot201.der
26035c
Source15: centossecureboot001.der
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%define secureboot_ca_1 %{SOURCE12}
Pablo Greco 7b2c62
%define secureboot_ca_0 %{SOURCE13}
Pablo Greco 7b2c62
%define secureboot_key_1 %{SOURCE14}
26035c
%define pesign_name_1 centossecureboot201
Pablo Greco 7b2c62
%define secureboot_key_0 %{SOURCE15}
26035c
%define pesign_name_0 centossecureboot001
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# released_kernel
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source22: mod-extra.list.rhel
Pablo Greco 7b2c62
Source23: mod-extra.list.fedora
Pablo Greco 7b2c62
Source24: mod-extra.sh
Pablo Greco 7b2c62
Source18: mod-sign.sh
Pablo Greco 7b2c62
Source19: mod-extra-blacklist.sh
Pablo Greco 7b2c62
Source79: parallel_xz.sh
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source80: filter-x86_64.sh.fedora
Pablo Greco 7b2c62
Source81: filter-armv7hl.sh.fedora
Pablo Greco 7b2c62
Source82: filter-i686.sh.fedora
Pablo Greco 7b2c62
Source83: filter-aarch64.sh.fedora
Pablo Greco 7b2c62
Source86: filter-ppc64le.sh.fedora
Pablo Greco 7b2c62
Source87: filter-s390x.sh.fedora
Pablo Greco 7b2c62
Source89: filter-modules.sh.fedora
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source90: filter-x86_64.sh.rhel
Pablo Greco 7b2c62
Source91: filter-armv7hl.sh.rhel
Pablo Greco 7b2c62
Source92: filter-i686.sh.rhel
Pablo Greco 7b2c62
Source93: filter-aarch64.sh.rhel
Pablo Greco 7b2c62
Source96: filter-ppc64le.sh.rhel
Pablo Greco 7b2c62
Source97: filter-s390x.sh.rhel
Pablo Greco 7b2c62
Source99: filter-modules.sh.rhel
Pablo Greco 7b2c62
%define modsign_cmd %{SOURCE18}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source20: kernel-aarch64-rhel.config
Pablo Greco 7b2c62
Source21: kernel-aarch64-debug-rhel.config
Pablo Greco 7b2c62
Source30: kernel-ppc64le-rhel.config
Pablo Greco 7b2c62
Source31: kernel-ppc64le-debug-rhel.config
Pablo Greco 7b2c62
Source32: kernel-s390x-rhel.config
Pablo Greco 7b2c62
Source33: kernel-s390x-debug-rhel.config
Pablo Greco 7b2c62
Source34: kernel-s390x-zfcpdump-rhel.config
Pablo Greco 7b2c62
Source35: kernel-x86_64-rhel.config
Pablo Greco 7b2c62
Source36: kernel-x86_64-debug-rhel.config
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source37: kernel-aarch64-fedora.config
Pablo Greco 7b2c62
Source38: kernel-aarch64-debug-fedora.config
Pablo Greco 7b2c62
Source39: kernel-armv7hl-fedora.config
Pablo Greco 7b2c62
Source40: kernel-armv7hl-debug-fedora.config
Pablo Greco 7b2c62
Source41: kernel-armv7hl-lpae-fedora.config
Pablo Greco 7b2c62
Source42: kernel-armv7hl-lpae-debug-fedora.config
Pablo Greco 7b2c62
Source43: kernel-i686-fedora.config
Pablo Greco 7b2c62
Source44: kernel-i686-debug-fedora.config
Pablo Greco 7b2c62
Source45: kernel-ppc64le-fedora.config
Pablo Greco 7b2c62
Source46: kernel-ppc64le-debug-fedora.config
Pablo Greco 7b2c62
Source47: kernel-s390x-fedora.config
Pablo Greco 7b2c62
Source48: kernel-s390x-debug-fedora.config
Pablo Greco 7b2c62
Source49: kernel-x86_64-fedora.config
Pablo Greco 7b2c62
Source50: kernel-x86_64-debug-fedora.config
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source51: generate_all_configs.sh
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source52: process_configs.sh
Pablo Greco 7b2c62
Source53: generate_bls_conf.sh
Pablo Greco 7b2c62
Source56: update_scripts.sh
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source54: mod-internal.list
Pablo Greco 7b2c62
Source55: merge.pl
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source200: check-kabi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source201: Module.kabi_aarch64
Pablo Greco 7b2c62
Source202: Module.kabi_ppc64le
Pablo Greco 7b2c62
Source203: Module.kabi_s390x
Pablo Greco 7b2c62
Source204: Module.kabi_x86_64
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Source210: Module.kabi_dup_aarch64
Pablo Greco 7b2c62
Source211: Module.kabi_dup_ppc64le
Pablo Greco 7b2c62
Source212: Module.kabi_dup_s390x
Pablo Greco 7b2c62
Source213: Module.kabi_dup_x86_64
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Source300: kernel-abi-whitelists-%{rpmversion}-%{distro_build}.tar.bz2
Pablo Greco 7b2c62
# Source301: kernel-kabi-dw-%{rpmversion}-%{distro_build}.tar.bz2
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Sources for kernel-tools
Pablo Greco 7b2c62
Source2000: cpupower.service
Pablo Greco 7b2c62
Source2001: cpupower.config
Pablo Greco 7b2c62
26035c
Source9000: centos.pem
26035c
Pablo Greco 7b2c62
## Patches needed for building this package
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Patch1: patch-%{rpmversion}-redhat.patch
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# empty final patch to facilitate testing of kernel patches
Pablo Greco 7b2c62
# Patch999999: linux-kernel-test.patch
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# This file is intentionally left empty in the stock kernel. Its a nicety
Pablo Greco 7b2c62
# added for those wanting to do custom rebuilds with altered config opts.
Pablo Greco 7b2c62
Source1000: kernel-local
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Here should be only the patches up to the upstream canonical Linus tree.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# For a stable release kernel
Pablo Greco 7b2c62
%if 0%{?stable_update}
Pablo Greco 7b2c62
%if 0%{?stable_base}
Pablo Greco d2736b
%define    stable_patch_00  https://cdn.kernel.org/pub/linux/kernel/v5.x/patch-5.%{base_sublevel}.%{stable_base}.xz
Pablo Greco 7b2c62
Source5000: %{stable_patch_00}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# non-released_kernel case
Pablo Greco 7b2c62
# These are automagically defined by the rcrev and gitrev values set up
Pablo Greco 7b2c62
# near the top of this spec file.
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%if 0%{?rcrev}
Pablo Greco 7b2c62
Source5000: patch-5.%{upstream_sublevel}-rc%{rcrev}.xz
Pablo Greco 7b2c62
%if 0%{?gitrev}
Pablo Greco 7b2c62
Source5001: patch-5.%{upstream_sublevel}-rc%{rcrev}-git%{gitrev}.xz
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
# pre-{base_sublevel+1}-rc1 case
Pablo Greco 7b2c62
%if 0%{?gitrev}
Pablo Greco 7b2c62
Source5000: patch-5.%{base_sublevel}-git%{gitrev}.xz
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
## Patches needed for building this package
Pablo Greco 7b2c62
Pablo Greco 7b2c62
## compile fixes
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if !%{nopatches}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Patch6: 0001-ACPI-APEI-arm64-Ignore-broken-HPE-moonshot-APEI-supp.patch
Pablo Greco 7b2c62
Patch8: 0001-ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m.patch
Pablo Greco 7b2c62
Patch9: 0001-aarch64-acpi-scan-Fix-regression-related-to-X-Gene-U.patch
Pablo Greco 7b2c62
Patch11: 0001-kdump-round-up-the-total-memory-size-to-128M-for-cra.patch
Pablo Greco 7b2c62
Patch12: 0001-kdump-add-support-for-crashkernel-auto.patch
Pablo Greco 7b2c62
Patch15: 0001-kdump-fix-a-grammar-issue-in-a-kernel-message.patch
Pablo Greco 7b2c62
Patch19: 0001-Vulcan-AHCI-PCI-bar-fix-for-Broadcom-Vulcan-early-si.patch
Pablo Greco 7b2c62
Patch20: 0001-ahci-thunderx2-Fix-for-errata-that-affects-stop-engi.patch
Pablo Greco 7b2c62
Patch24: 0001-scsi-smartpqi-add-inspur-advantech-ids.patch
Pablo Greco 7b2c62
Patch26: 0001-ipmi-do-not-configure-ipmi-for-HPE-m400.patch
Pablo Greco 7b2c62
Patch28: 0001-iommu-arm-smmu-workaround-DMA-mode-issues.patch
Pablo Greco 7b2c62
Patch29: 0001-arm-aarch64-Drop-the-EXPERT-setting-from-ARM64_FORCE.patch
Pablo Greco 7b2c62
Patch31: 0001-Add-efi_status_to_str-and-rework-efi_status_to_err.patch
Pablo Greco 7b2c62
Patch32: 0001-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch
Pablo Greco 7b2c62
Patch33: 0001-security-lockdown-expose-a-hook-to-lock-the-kernel-d.patch
Pablo Greco 7b2c62
Patch34: 0001-efi-Add-an-EFI_SECURE_BOOT-flag-to-indicate-secure-b.patch
Pablo Greco 7b2c62
Patch35: 0001-efi-Lock-down-the-kernel-if-booted-in-secure-boot-mo.patch
Pablo Greco 7b2c62
Patch36: 0001-s390-Lock-down-the-kernel-when-the-IPL-secure-flag-i.patch
Pablo Greco 7b2c62
Patch37: 0001-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
Pablo Greco 7b2c62
Patch58: 0001-arm-make-CONFIG_HIGHPTE-optional-without-CONFIG_EXPE.patch
Pablo Greco 7b2c62
Patch59: 0001-ARM-tegra-usb-no-reset.patch
Pablo Greco 7b2c62
Patch61: 0001-Input-rmi4-remove-the-need-for-artificial-IRQ-in-cas.patch
Pablo Greco 7b2c62
Patch62: 0001-Drop-that-for-now.patch
Pablo Greco 7b2c62
Patch63: 0001-KEYS-Make-use-of-platform-keyring-for-module-signatu.patch
Pablo Greco 7b2c62
Patch64: 0001-mm-kmemleak-skip-late_init-if-not-skip-disable.patch
Pablo Greco 7b2c62
Patch65: 0001-ARM-fix-__get_user_check-in-case-uaccess_-calls-are-.patch
Pablo Greco 7b2c62
Patch66: 0001-dt-bindings-panel-add-binding-for-Xingbangda-XBD599-.patch
Pablo Greco 7b2c62
Patch67: 0001-drm-panel-add-Xingbangda-XBD599-panel.patch
Pablo Greco 7b2c62
Patch68: 0001-drm-sun4i-sun6i_mipi_dsi-fix-horizontal-timing-calcu.patch
Pablo Greco 7b2c62
Patch72: 0001-Work-around-for-gcc-bug-https-gcc.gnu.org-bugzilla-s.patch
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# https://patchwork.kernel.org/patch/11796255/
Pablo Greco 7b2c62
Patch100: arm64-dts-rockchip-disable-USB-type-c-DisplayPort.patch
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Tegra fixes
Pablo Greco 7b2c62
Patch101: 0001-PCI-Add-MCFG-quirks-for-Tegra194-host-controllers.patch
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# A patch to fix some undocumented things broke a bunch of Allwinner networks due to wrong assumptions
Pablo Greco 7b2c62
Patch102: 0001-update-phy-on-pine64-a64-devices.patch
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# OMAP Pandaboard fix
Pablo Greco 7b2c62
Patch103: arm-pandaboard-fix-add-bluetooth.patch
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Fix for USB on some newer RPi4 / firmware combinations
Pablo Greco 7b2c62
Patch104: 0001-brcm-rpi4-fix-usb-numeration.patch
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# RPi-4 and wifi issues
Pablo Greco 7b2c62
Patch105: arm-dts-rpi-4-disable-wifi-frequencies.patch
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# END OF PATCH DEFINITIONS
Pablo Greco 7b2c62
Pablo Greco bcc11a
Patch10000: linux-5.10-lx2160a-network.patch
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%description
Pablo Greco 7b2c62
The kernel meta package
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro does requires, provides, conflicts, obsoletes for a kernel package.
Pablo Greco 7b2c62
#	%%kernel_reqprovconf <subpackage>
Pablo Greco 7b2c62
# It uses any kernel_<subpackage>_conflicts and kernel_<subpackage>_obsoletes
Pablo Greco 7b2c62
# macros defined above.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_reqprovconf \
Pablo Greco 7b2c62
Provides: kernel = %{rpmversion}-%{pkg_release}\
Pablo Greco 7b2c62
Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}%{?1:+%{1}}\
Pablo Greco 7b2c62
Provides: kernel-drm-nouveau = 16\
Pablo Greco 7b2c62
Provides: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Pablo Greco 7b2c62
Requires(pre): %{kernel_prereq}\
Pablo Greco 7b2c62
Requires(pre): %{initrd_prereq}\
Pablo Greco 7b2c62
Requires(pre): linux-firmware >= 20150904-56.git6ebf5d57\
Pablo Greco 7b2c62
Requires(preun): systemd >= 200\
Pablo Greco 7b2c62
Conflicts: xfsprogs < 4.3.0-1\
Pablo Greco 7b2c62
Conflicts: xorg-x11-drv-vmmouse < 13.0.99\
Pablo Greco 7b2c62
%{expand:%%{?kernel%{?1:_%{1}}_conflicts:Conflicts: %%{kernel%{?1:_%{1}}_conflicts}}}\
Pablo Greco 7b2c62
%{expand:%%{?kernel%{?1:_%{1}}_obsoletes:Obsoletes: %%{kernel%{?1:_%{1}}_obsoletes}}}\
Pablo Greco 7b2c62
%{expand:%%{?kernel%{?1:_%{1}}_provides:Provides: %%{kernel%{?1:_%{1}}_provides}}}\
Pablo Greco 7b2c62
# We can't let RPM do the dependencies automatic because it'll then pick up\
Pablo Greco 7b2c62
# a correct but undesirable perl dependency from the module headers which\
Pablo Greco 7b2c62
# isn't required for the kernel proper to function\
Pablo Greco 7b2c62
AutoReq: no\
Pablo Greco 7b2c62
AutoProv: yes\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package doc
Pablo Greco 7b2c62
Summary: Various documentation bits found in the kernel source
Pablo Greco 7b2c62
Group: Documentation
Pablo Greco 7b2c62
%description doc
Pablo Greco 7b2c62
This package contains documentation files from the kernel
Pablo Greco 7b2c62
source. Various bits of information about the Linux kernel and the
Pablo Greco 7b2c62
device drivers shipped with it are documented in these files.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
You'll want to install this package if you need a reference to the
Pablo Greco 7b2c62
options that can be passed to Linux kernel modules at load time.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package headers
Pablo Greco 7b2c62
Summary: Header files for the Linux kernel for use by glibc
Pablo Greco 7b2c62
Obsoletes: glibc-kernheaders < 3.0-46
Pablo Greco 7b2c62
Provides: glibc-kernheaders = 3.0-46
Pablo Greco 7b2c62
%if "0%{?variant}"
Pablo Greco 7b2c62
Obsoletes: kernel-headers < %{rpmversion}-%{pkg_release}
Pablo Greco 7b2c62
Provides: kernel-headers = %{rpmversion}-%{pkg_release}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%description headers
Pablo Greco 7b2c62
Kernel-headers includes the C header files that specify the interface
Pablo Greco 7b2c62
between the Linux kernel and userspace libraries and programs.  The
Pablo Greco 7b2c62
header files define structures and constants that are needed for
Pablo Greco 7b2c62
building most standard programs and are also needed for rebuilding the
Pablo Greco 7b2c62
glibc package.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package cross-headers
Pablo Greco 7b2c62
Summary: Header files for the Linux kernel for use by cross-glibc
Pablo Greco 7b2c62
%description cross-headers
Pablo Greco 7b2c62
Kernel-cross-headers includes the C header files that specify the interface
Pablo Greco 7b2c62
between the Linux kernel and userspace libraries and programs.  The
Pablo Greco 7b2c62
header files define structures and constants that are needed for
Pablo Greco 7b2c62
building most standard programs and are also needed for rebuilding the
Pablo Greco 7b2c62
cross-glibc package.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package debuginfo-common-%{_target_cpu}
Pablo Greco 7b2c62
Summary: Kernel source files used by %{name}-debuginfo packages
Pablo Greco 7b2c62
Provides: installonlypkg(kernel)
Pablo Greco 7b2c62
%description debuginfo-common-%{_target_cpu}
Pablo Greco 7b2c62
This package is required by %{name}-debuginfo subpackages.
Pablo Greco 7b2c62
It provides the kernel source files common to all builds.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_perf}
Pablo Greco 7b2c62
%package -n perf
Pablo Greco 7b2c62
Summary: Performance monitoring for the Linux kernel
Pablo Greco 7b2c62
License: GPLv2
Pablo Greco 7b2c62
%description -n perf
Pablo Greco 7b2c62
This package contains the perf tool, which enables performance monitoring
Pablo Greco 7b2c62
of the Linux kernel.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package -n perf-debuginfo
Pablo Greco 7b2c62
Summary: Debug information for package perf
Pablo Greco 7b2c62
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
Pablo Greco 7b2c62
AutoReqProv: no
Pablo Greco 7b2c62
%description -n perf-debuginfo
Pablo Greco 7b2c62
This package provides debug information for the perf package.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Note that this pattern only works right to match the .build-id
Pablo Greco 7b2c62
# symlinks because of the trailing nonmatching alternation and
Pablo Greco 7b2c62
# the leading .*, because of find-debuginfo.sh's buggy handling
Pablo Greco 7b2c62
# of matching the pattern against the symlinks file.
Pablo Greco 7b2c62
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_bindir}/perf(\.debug)?|.*%%{_libexecdir}/perf-core/.*|.*%%{_libdir}/traceevent/plugins/.*|.*%%{_libdir}/libperf-jvmti.so(\.debug)?|XXX' -o perf-debuginfo.list}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package -n python3-perf
Pablo Greco 7b2c62
Summary: Python bindings for apps which will manipulate perf events
Pablo Greco 7b2c62
%description -n python3-perf
Pablo Greco 7b2c62
The python3-perf package contains a module that permits applications
Pablo Greco 7b2c62
written in the Python programming language to use the interface
Pablo Greco 7b2c62
to manipulate perf events.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package -n python3-perf-debuginfo
Pablo Greco 7b2c62
Summary: Debug information for package perf python bindings
Pablo Greco 7b2c62
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
Pablo Greco 7b2c62
AutoReqProv: no
Pablo Greco 7b2c62
%description -n python3-perf-debuginfo
Pablo Greco 7b2c62
This package provides debug information for the perf python bindings.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# the python_sitearch macro should already be defined from above
Pablo Greco 7b2c62
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{python3_sitearch}/perf.*so(\.debug)?|XXX' -o python3-perf-debuginfo.list}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# with_perf
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_tools}
Pablo Greco 7b2c62
%package -n kernel-tools
Pablo Greco 7b2c62
Summary: Assortment of tools for the Linux kernel
Pablo Greco 7b2c62
License: GPLv2
Pablo Greco 7b2c62
%ifarch %{cpupowerarchs}
Pablo Greco 7b2c62
Provides:  cpupowerutils = 1:009-0.6.p1
Pablo Greco 7b2c62
Obsoletes: cpupowerutils < 1:009-0.6.p1
Pablo Greco 7b2c62
Provides:  cpufreq-utils = 1:009-0.6.p1
Pablo Greco 7b2c62
Provides:  cpufrequtils = 1:009-0.6.p1
Pablo Greco 7b2c62
Obsoletes: cpufreq-utils < 1:009-0.6.p1
Pablo Greco 7b2c62
Obsoletes: cpufrequtils < 1:009-0.6.p1
Pablo Greco 7b2c62
Obsoletes: cpuspeed < 1:1.5-16
Pablo Greco 7b2c62
Requires: kernel-tools-libs = %{version}-%{release}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%define __requires_exclude ^%{_bindir}/python
Pablo Greco 7b2c62
%description -n kernel-tools
Pablo Greco 7b2c62
This package contains the tools/ directory from the kernel source
Pablo Greco 7b2c62
and the supporting documentation.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package -n kernel-tools-libs
Pablo Greco 7b2c62
Summary: Libraries for the kernels-tools
Pablo Greco 7b2c62
License: GPLv2
Pablo Greco 7b2c62
%description -n kernel-tools-libs
Pablo Greco 7b2c62
This package contains the libraries built from the tools/ directory
Pablo Greco 7b2c62
from the kernel source.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package -n kernel-tools-libs-devel
Pablo Greco 7b2c62
Summary: Assortment of tools for the Linux kernel
Pablo Greco 7b2c62
License: GPLv2
Pablo Greco 7b2c62
Requires: kernel-tools = %{version}-%{release}
Pablo Greco 7b2c62
%ifarch %{cpupowerarchs}
Pablo Greco 7b2c62
Provides:  cpupowerutils-devel = 1:009-0.6.p1
Pablo Greco 7b2c62
Obsoletes: cpupowerutils-devel < 1:009-0.6.p1
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Requires: kernel-tools-libs = %{version}-%{release}
Pablo Greco 7b2c62
Provides: kernel-tools-devel
Pablo Greco 7b2c62
%description -n kernel-tools-libs-devel
Pablo Greco 7b2c62
This package contains the development files for the tools/ directory from
Pablo Greco 7b2c62
the kernel source.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package -n kernel-tools-debuginfo
Pablo Greco 7b2c62
Summary: Debug information for package kernel-tools
Pablo Greco 7b2c62
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
Pablo Greco 7b2c62
AutoReqProv: no
Pablo Greco 7b2c62
%description -n kernel-tools-debuginfo
Pablo Greco 7b2c62
This package provides debug information for package kernel-tools.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Note that this pattern only works right to match the .build-id
Pablo Greco 7b2c62
# symlinks because of the trailing nonmatching alternation and
Pablo Greco 7b2c62
# the leading .*, because of find-debuginfo.sh's buggy handling
Pablo Greco 7b2c62
# of matching the pattern against the symlinks file.
Pablo Greco 7b2c62
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_bindir}/centrino-decode(\.debug)?|.*%%{_bindir}/powernow-k8-decode(\.debug)?|.*%%{_bindir}/cpupower(\.debug)?|.*%%{_libdir}/libcpupower.*|.*%%{_bindir}/turbostat(\.debug)?|.*%%{_bindir}/x86_energy_perf_policy(\.debug)?|.*%%{_bindir}/tmon(\.debug)?|.*%%{_bindir}/lsgpio(\.debug)?|.*%%{_bindir}/gpio-hammer(\.debug)?|.*%%{_bindir}/gpio-event-mon(\.debug)?|.*%%{_bindir}/iio_event_monitor(\.debug)?|.*%%{_bindir}/iio_generic_buffer(\.debug)?|.*%%{_bindir}/lsiio(\.debug)?|XXX' -o kernel-tools-debuginfo.list}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# with_tools
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_bpftool}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package -n bpftool
Pablo Greco 7b2c62
Summary: Inspection and simple manipulation of eBPF programs and maps
Pablo Greco 7b2c62
License: GPLv2
Pablo Greco 7b2c62
%description -n bpftool
Pablo Greco 7b2c62
This package contains the bpftool, which allows inspection and simple
Pablo Greco 7b2c62
manipulation of eBPF programs and maps.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package -n bpftool-debuginfo
Pablo Greco 7b2c62
Summary: Debug information for package bpftool
Pablo Greco 7b2c62
Group: Development/Debug
Pablo Greco 7b2c62
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
Pablo Greco 7b2c62
AutoReqProv: no
Pablo Greco 7b2c62
%description -n bpftool-debuginfo
Pablo Greco 7b2c62
This package provides debug information for the bpftool package.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_sbindir}/bpftool(\.debug)?|XXX' -o bpftool-debuginfo.list}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# with_bpftool
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_selftests}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package selftests-internal
Pablo Greco 7b2c62
Summary: Kernel samples and selftests
Pablo Greco 7b2c62
License: GPLv2
Pablo Greco 7b2c62
Requires: binutils, bpftool, iproute-tc, nmap-ncat
Pablo Greco 7b2c62
Requires: kernel-modules-internal = %{version}-%{release}
Pablo Greco 7b2c62
%description selftests-internal
Pablo Greco 7b2c62
Kernel sample programs and selftests.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Note that this pattern only works right to match the .build-id
Pablo Greco 7b2c62
# symlinks because of the trailing nonmatching alternation and
Pablo Greco 7b2c62
# the leading .*, because of find-debuginfo.sh's buggy handling
Pablo Greco 7b2c62
# of matching the pattern against the symlinks file.
Pablo Greco 7b2c62
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_libexecdir}/(ksamples|kselftests)/.*|XXX' -o selftests-debuginfo.list}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# with_selftests
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_gcov}
Pablo Greco 7b2c62
%package gcov
Pablo Greco 7b2c62
Summary: gcov graph and source files for coverage data collection.
Pablo Greco 7b2c62
%description gcov
Pablo Greco 7b2c62
kernel-gcov includes the gcov graph and source files for gcov coverage collection.
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%package -n kernel-abi-whitelists
Pablo Greco 7b2c62
Summary: The Red Hat Enterprise Linux kernel ABI symbol whitelists
Pablo Greco 7b2c62
AutoReqProv: no
Pablo Greco 7b2c62
%description -n kernel-abi-whitelists
Pablo Greco 7b2c62
The kABI package contains information pertaining to the Red Hat Enterprise
Pablo Greco 7b2c62
Linux kernel ABI, including lists of kernel symbols that are needed by
Pablo Greco 7b2c62
external Linux kernel modules, and a yum plugin to aid enforcement.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_kabidw_base}
Pablo Greco 7b2c62
%package kabidw-base
Pablo Greco 7b2c62
Summary: The baseline dataset for kABI verification using DWARF data
Pablo Greco 7b2c62
Group: System Environment/Kernel
Pablo Greco 7b2c62
AutoReqProv: no
Pablo Greco 7b2c62
%description kabidw-base
Pablo Greco 7b2c62
The kabidw-base package contains data describing the current ABI of the Red Hat
Pablo Greco 7b2c62
Enterprise Linux kernel, suitable for the kabi-dw tool.
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro creates a kernel-<subpackage>-debuginfo package.
Pablo Greco 7b2c62
#	%%kernel_debuginfo_package <subpackage>
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# Explanation of the find_debuginfo_opts: We build multiple kernels (debug
Pablo Greco 7b2c62
# pae etc.) so the regex filters those kernels appropriately. We also
Pablo Greco 7b2c62
# have to package several binaries as part of kernel-devel but getting
Pablo Greco 7b2c62
# unique build-ids is tricky for these userspace binaries. We don't really
Pablo Greco 7b2c62
# care about debugging those so we just filter those out and remove it.
Pablo Greco 7b2c62
%define kernel_debuginfo_package() \
Pablo Greco 7b2c62
%package %{?1:%{1}-}debuginfo\
Pablo Greco 7b2c62
Summary: Debug information for package %{name}%{?1:-%{1}}\
Pablo Greco 7b2c62
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}\
Pablo Greco 7b2c62
Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{version}-%{release}\
Pablo Greco 7b2c62
Provides: installonlypkg(kernel)\
Pablo Greco 7b2c62
AutoReqProv: no\
Pablo Greco 7b2c62
%description %{?1:%{1}-}debuginfo\
Pablo Greco 7b2c62
This package provides debug information for package %{name}%{?1:-%{1}}.\
Pablo Greco 7b2c62
This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVERREL}.\
Pablo Greco 7b2c62
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*\/usr\/src\/kernels/.*|XXX' -o ignored-debuginfo.list -p '/.*/%%{KVERREL_RE}%{?1:[+]%{1}}/.*|/.*%%{KVERREL_RE}%{?1:\+%{1}}(\.debug)?' -o debuginfo%{?1}.list}\
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro creates a kernel-<subpackage>-devel package.
Pablo Greco 7b2c62
#	%%kernel_devel_package <subpackage> <pretty-name>
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_devel_package() \
Pablo Greco 7b2c62
%package %{?1:%{1}-}devel\
Pablo Greco 7b2c62
Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\
Pablo Greco 7b2c62
Provides: kernel%{?1:-%{1}}-devel-%{_target_cpu} = %{version}-%{release}\
Pablo Greco 7b2c62
Provides: kernel-devel-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
Pablo Greco 7b2c62
Provides: kernel-devel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Pablo Greco 7b2c62
Provides: installonlypkg(kernel)\
Pablo Greco 7b2c62
AutoReqProv: no\
Pablo Greco 7b2c62
Requires(pre): findutils\
Pablo Greco 7b2c62
Requires: findutils\
Pablo Greco 7b2c62
Requires: perl-interpreter\
Pablo Greco 7b2c62
%description %{?1:%{1}-}devel\
Pablo Greco 7b2c62
This package provides kernel headers and makefiles sufficient to build modules\
Pablo Greco 7b2c62
against the %{?2:%{2} }kernel package.\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# kernel-<variant>-ipaclones-internal package
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_ipaclones_package() \
Pablo Greco 7b2c62
%package %{?1:%{1}-}ipaclones-internal\
Pablo Greco 7b2c62
Summary: *.ipa-clones files generated by -fdump-ipa-clones for kernel%{?1:-%{1}}\
Pablo Greco 7b2c62
Group: System Environment/Kernel\
Pablo Greco 7b2c62
AutoReqProv: no\
Pablo Greco 7b2c62
%description %{?1:%{1}-}ipaclones-internal\
Pablo Greco 7b2c62
This package provides *.ipa-clones files.\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro creates a kernel-<subpackage>-modules-internal package.
Pablo Greco 7b2c62
#	%%kernel_modules_internal_package <subpackage> <pretty-name>
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_modules_internal_package() \
Pablo Greco 7b2c62
%package %{?1:%{1}-}modules-internal\
Pablo Greco 7b2c62
Summary: Extra kernel modules to match the %{?2:%{2} }kernel\
Pablo Greco 7b2c62
Group: System Environment/Kernel\
Pablo Greco 7b2c62
Provides: kernel%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{version}-%{release}\
Pablo Greco 7b2c62
Provides: kernel%{?1:-%{1}}-modules-internal-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
Pablo Greco 7b2c62
Provides: kernel%{?1:-%{1}}-modules-internal = %{version}-%{release}%{?1:+%{1}}\
Pablo Greco 7b2c62
Provides: installonlypkg(kernel-module)\
Pablo Greco 7b2c62
Provides: kernel%{?1:-%{1}}-modules-internal-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Pablo Greco 7b2c62
Requires: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Pablo Greco 7b2c62
Requires: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Pablo Greco 7b2c62
AutoReq: no\
Pablo Greco 7b2c62
AutoProv: yes\
Pablo Greco 7b2c62
%description %{?1:%{1}-}modules-internal\
Pablo Greco 7b2c62
This package provides kernel modules for the %{?2:%{2} }kernel package for Red Hat internal usage.\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro creates a kernel-<subpackage>-modules-extra package.
Pablo Greco 7b2c62
#	%%kernel_modules_extra_package <subpackage> <pretty-name>
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_modules_extra_package() \
Pablo Greco 7b2c62
%package %{?1:%{1}-}modules-extra\
Pablo Greco 7b2c62
Summary: Extra kernel modules to match the %{?2:%{2} }kernel\
Pablo Greco 7b2c62
Provides: kernel%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}\
Pablo Greco 7b2c62
Provides: kernel%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
Pablo Greco 7b2c62
Provides: kernel%{?1:-%{1}}-modules-extra = %{version}-%{release}%{?1:+%{1}}\
Pablo Greco 7b2c62
Provides: installonlypkg(kernel-module)\
Pablo Greco 7b2c62
Provides: kernel%{?1:-%{1}}-modules-extra-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Pablo Greco 7b2c62
Requires: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Pablo Greco 7b2c62
Requires: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Pablo Greco 7b2c62
AutoReq: no\
Pablo Greco 7b2c62
AutoProv: yes\
Pablo Greco 7b2c62
%description %{?1:%{1}-}modules-extra\
Pablo Greco 7b2c62
This package provides less commonly used kernel modules for the %{?2:%{2} }kernel package.\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro creates a kernel-<subpackage>-modules package.
Pablo Greco 7b2c62
#	%%kernel_modules_package <subpackage> <pretty-name>
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_modules_package() \
Pablo Greco 7b2c62
%package %{?1:%{1}-}modules\
Pablo Greco 7b2c62
Summary: kernel modules to match the %{?2:%{2}-}core kernel\
Pablo Greco 7b2c62
Provides: kernel%{?1:-%{1}}-modules-%{_target_cpu} = %{version}-%{release}\
Pablo Greco 7b2c62
Provides: kernel-modules-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
Pablo Greco 7b2c62
Provides: kernel-modules = %{version}-%{release}%{?1:+%{1}}\
Pablo Greco 7b2c62
Provides: installonlypkg(kernel-module)\
Pablo Greco 7b2c62
Provides: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Pablo Greco 7b2c62
Requires: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Pablo Greco 7b2c62
AutoReq: no\
Pablo Greco 7b2c62
AutoProv: yes\
Pablo Greco 7b2c62
%description %{?1:%{1}-}modules\
Pablo Greco 7b2c62
This package provides commonly used kernel modules for the %{?2:%{2}-}core kernel package.\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# this macro creates a kernel-<subpackage> meta package.
Pablo Greco 7b2c62
#	%%kernel_meta_package <subpackage>
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_meta_package() \
Pablo Greco 7b2c62
%package %{1}\
Pablo Greco 7b2c62
summary: kernel meta-package for the %{1} kernel\
Pablo Greco 7b2c62
Requires: kernel-%{1}-core-uname-r = %{KVERREL}%{?variant}+%{1}\
Pablo Greco 7b2c62
Requires: kernel-%{1}-modules-uname-r = %{KVERREL}%{?variant}+%{1}\
Pablo Greco 7b2c62
Provides: installonlypkg(kernel)\
Pablo Greco 7b2c62
%description %{1}\
Pablo Greco 7b2c62
The meta-package for the %{1} kernel\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro creates a kernel-<subpackage> and its -devel and -debuginfo too.
Pablo Greco 7b2c62
#	%%define variant_summary The Linux kernel compiled for <configuration>
Pablo Greco 7b2c62
#	%%kernel_variant_package [-n <pretty-name>] <subpackage>
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_variant_package(n:) \
Pablo Greco 7b2c62
%package %{?1:%{1}-}core\
Pablo Greco 7b2c62
Summary: %{variant_summary}\
Pablo Greco 7b2c62
Provides: kernel-%{?1:%{1}-}core-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Pablo Greco 7b2c62
Provides: installonlypkg(kernel)\
Pablo Greco 7b2c62
%ifarch ppc64le\
Pablo Greco 7b2c62
Obsoletes: kernel-bootwrapper\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%{expand:%%kernel_reqprovconf}\
Pablo Greco 7b2c62
%if %{?1:1} %{!?1:0} \
Pablo Greco 7b2c62
%{expand:%%kernel_meta_package %{?1:%{1}}}\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%{expand:%%kernel_devel_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
Pablo Greco 7b2c62
%{expand:%%kernel_modules_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
Pablo Greco 7b2c62
%{expand:%%kernel_modules_extra_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
Pablo Greco 7b2c62
%{expand:%%kernel_modules_internal_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
Pablo Greco 7b2c62
%{expand:%%kernel_debuginfo_package %{?1:%{1}}}\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Now, each variant package.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_pae}
Pablo Greco 7b2c62
%define variant_summary The Linux kernel compiled for Cortex-A15
Pablo Greco 7b2c62
%kernel_variant_package lpae
Pablo Greco 7b2c62
%description lpae-core
Pablo Greco 7b2c62
This package includes a version of the Linux kernel with support for
Pablo Greco 7b2c62
Cortex-A15 devices with LPAE and HW virtualisation support
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_zfcpdump}
Pablo Greco 7b2c62
%define variant_summary The Linux kernel compiled for zfcpdump usage
Pablo Greco 7b2c62
%kernel_variant_package zfcpdump
Pablo Greco 7b2c62
%description zfcpdump-core
Pablo Greco 7b2c62
The kernel package contains the Linux kernel (vmlinuz) for use by the
Pablo Greco 7b2c62
zfcpdump infrastructure.
Pablo Greco 7b2c62
# with_zfcpdump
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%define variant_summary The Linux kernel compiled with extra debugging enabled
Pablo Greco 7b2c62
%kernel_variant_package debug
Pablo Greco 7b2c62
%description debug-core
Pablo Greco 7b2c62
The kernel package contains the Linux kernel (vmlinuz), the core of any
Pablo Greco 7b2c62
Linux operating system.  The kernel handles the basic functions
Pablo Greco 7b2c62
of the operating system:  memory allocation, process allocation, device
Pablo Greco 7b2c62
input and output, etc.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
This variant of the kernel has numerous debugging options enabled.
Pablo Greco 7b2c62
It should only be installed when trying to gather additional information
Pablo Greco 7b2c62
on kernel bugs, as some of these options impact performance noticably.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# And finally the main -core package
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%define variant_summary The Linux kernel
Pablo Greco 7b2c62
%kernel_variant_package
Pablo Greco 7b2c62
%description core
Pablo Greco 7b2c62
The kernel package contains the Linux kernel (vmlinuz), the core of any
Pablo Greco 7b2c62
Linux operating system.  The kernel handles the basic functions
Pablo Greco 7b2c62
of the operating system: memory allocation, process allocation, device
Pablo Greco 7b2c62
input and output, etc.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_ipaclones}
Pablo Greco 7b2c62
%kernel_ipaclones_package
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%prep
Pablo Greco 05f52f
%if 0%{?rhel} == 7
Pablo Greco 05f52f
source scl_source enable devtoolset-8 || :
Pablo Greco 05f52f
source scl_source enable llvm-toolset-7.0 || :
Pablo Greco 05f52f
%endif
Pablo Greco 7b2c62
# do a few sanity-checks for --with *only builds
Pablo Greco 7b2c62
%if %{with_baseonly}
Pablo Greco 7b2c62
%if !%{with_up}%{with_pae}
Pablo Greco 7b2c62
echo "Cannot build --with baseonly, up build is disabled"
Pablo Greco 7b2c62
exit 1
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if "%{baserelease}" == "0"
Pablo Greco 7b2c62
echo "baserelease must be greater than zero"
Pablo Greco 7b2c62
exit 1
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# more sanity checking; do it quietly
Pablo Greco 7b2c62
if [ "%{patches}" != "%%{patches}" ] ; then
Pablo Greco 7b2c62
  for patch in %{patches} ; do
Pablo Greco 7b2c62
    if [ ! -f $patch ] ; then
Pablo Greco 7b2c62
      echo "ERROR: Patch  ${patch##/*/}  listed in specfile but is missing"
Pablo Greco 7b2c62
      exit 1
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
  done
Pablo Greco 7b2c62
fi 2>/dev/null
Pablo Greco 7b2c62
Pablo Greco 7b2c62
patch_command='patch -p1 -F1 -s'
Pablo Greco 7b2c62
ApplyPatch()
Pablo Greco 7b2c62
{
Pablo Greco 7b2c62
  local patch=$1
Pablo Greco 7b2c62
  shift
Pablo Greco 7b2c62
  if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
Pablo Greco 7b2c62
    exit 1
Pablo Greco 7b2c62
  fi
Pablo Greco 7b2c62
  if ! grep -E "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME%%%%%{?variant}}.spec ; then
Pablo Greco 7b2c62
    if [ "${patch:0:8}" != "patch-5." ] ; then
Pablo Greco 7b2c62
      echo "ERROR: Patch  $patch  not listed as a source patch in specfile"
Pablo Greco 7b2c62
      exit 1
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
  fi 2>/dev/null
Pablo Greco 7b2c62
  case "$patch" in
Pablo Greco 7b2c62
  *.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
Pablo Greco 7b2c62
  *.gz)  gunzip  < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
Pablo Greco 7b2c62
  *.xz)  unxz    < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
Pablo Greco 7b2c62
  *) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;;
Pablo Greco 7b2c62
  esac
Pablo Greco 7b2c62
}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# don't apply patch if it's empty
Pablo Greco 7b2c62
ApplyOptionalPatch()
Pablo Greco 7b2c62
{
Pablo Greco 7b2c62
  local patch=$1
Pablo Greco 7b2c62
  shift
Pablo Greco 7b2c62
  if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
Pablo Greco 7b2c62
    exit 1
Pablo Greco 7b2c62
  fi
Pablo Greco 7b2c62
  local C=$(wc -l $RPM_SOURCE_DIR/$patch | awk '{print $1}')
Pablo Greco 7b2c62
  if [ "$C" -gt 9 ]; then
Pablo Greco 7b2c62
    ApplyPatch $patch ${1+"$@"}
Pablo Greco 7b2c62
  fi
Pablo Greco 7b2c62
}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# First we unpack the kernel tarball.
Pablo Greco 7b2c62
# If this isn't the first make prep, we use links to the existing clean tarball
Pablo Greco 7b2c62
# which speeds things up quite a bit.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Update to latest upstream.
Pablo Greco 7b2c62
%if 0%{?released_kernel}
Pablo Greco 7b2c62
%define vanillaversion 5.%{base_sublevel}
Pablo Greco 7b2c62
# non-released_kernel case
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%if 0%{?rcrev}
Pablo Greco 7b2c62
%define vanillaversion 5.%{upstream_sublevel}-rc%{rcrev}
Pablo Greco 7b2c62
%if 0%{?gitrev}
Pablo Greco 7b2c62
%define vanillaversion 5.%{upstream_sublevel}-rc%{rcrev}-git%{gitrev}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
# pre-{base_sublevel+1}-rc1 case
Pablo Greco 7b2c62
%if 0%{?gitrev}
Pablo Greco 7b2c62
%define vanillaversion 5.%{base_sublevel}-git%{gitrev}
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%define vanillaversion 5.%{base_sublevel}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# %%{vanillaversion} : the full version name, e.g. 2.6.35-rc6-git3
Pablo Greco 7b2c62
# %%{kversion}       : the base version, e.g. 2.6.34
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Use kernel-%%{kversion}%%{?dist} as the top-level directory name
Pablo Greco 7b2c62
# so we can prep different trees within a single git directory.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Build a list of the other top-level kernel tree directories.
Pablo Greco 7b2c62
# This will be used to hardlink identical vanilla subdirs.
Pablo Greco 7b2c62
sharedirs=$(find "$PWD" -maxdepth 1 -type d -name 'kernel-5.*' \
Pablo Greco 7b2c62
            | grep -x -v "$PWD"/kernel-%{kversion}%{?dist}) ||:
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Delete all old stale trees.
Pablo Greco 7b2c62
if [ -d kernel-%{kversion}%{?dist} ]; then
Pablo Greco 7b2c62
  cd kernel-%{kversion}%{?dist}
Pablo Greco 7b2c62
  for i in linux-*
Pablo Greco 7b2c62
  do
Pablo Greco 7b2c62
     if [ -d $i ]; then
Pablo Greco 7b2c62
       # Just in case we ctrl-c'd a prep already
Pablo Greco 7b2c62
       rm -rf deleteme.%{_target_cpu}
Pablo Greco 7b2c62
       # Move away the stale away, and delete in background.
Pablo Greco 7b2c62
       mv $i deleteme-$i
Pablo Greco 7b2c62
       rm -rf deleteme* &
Pablo Greco 7b2c62
     fi
Pablo Greco 7b2c62
  done
Pablo Greco 7b2c62
  cd ..
Pablo Greco 7b2c62
fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Generate new tree
Pablo Greco 7b2c62
if [ ! -d kernel-%{kversion}%{?dist}/vanilla-%{vanillaversion} ]; then
Pablo Greco 7b2c62
Pablo Greco 7b2c62
  if [ -d kernel-%{kversion}%{?dist}/vanilla-%{kversion} ]; then
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # The base vanilla version already exists.
Pablo Greco 7b2c62
    cd kernel-%{kversion}%{?dist}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Any vanilla-* directories other than the base one are stale.
Pablo Greco 7b2c62
    for dir in vanilla-*; do
Pablo Greco 7b2c62
      [ "$dir" = vanilla-%{kversion} ] || rm -rf $dir &
Pablo Greco 7b2c62
    done
Pablo Greco 7b2c62
Pablo Greco 7b2c62
  else
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    rm -f pax_global_header
Pablo Greco 7b2c62
    # Look for an identical base vanilla dir that can be hardlinked.
Pablo Greco 7b2c62
    for sharedir in $sharedirs ; do
Pablo Greco 7b2c62
      if [[ ! -z $sharedir  &&  -d $sharedir/vanilla-%{kversion} ]] ; then
Pablo Greco 7b2c62
        break
Pablo Greco 7b2c62
      fi
Pablo Greco 7b2c62
    done
Pablo Greco 7b2c62
    if [[ ! -z $sharedir  &&  -d $sharedir/vanilla-%{kversion} ]] ; then
Pablo Greco 7b2c62
%setup -q -n kernel-%{kversion}%{?dist} -c -T
Pablo Greco 7b2c62
      cp -al $sharedir/vanilla-%{kversion} .
Pablo Greco 7b2c62
    else
Pablo Greco 7b2c62
%setup -q -n kernel-%{kversion}%{?dist} -c
Pablo Greco 7b2c62
      mv linux-%{kversion} vanilla-%{kversion}
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
  fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if "%{kversion}" != "%{vanillaversion}"
Pablo Greco 7b2c62
Pablo Greco 7b2c62
  for sharedir in $sharedirs ; do
Pablo Greco 7b2c62
    if [[ ! -z $sharedir  &&  -d $sharedir/vanilla-%{vanillaversion} ]] ; then
Pablo Greco 7b2c62
      break
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
  done
Pablo Greco 7b2c62
  if [[ ! -z $sharedir  &&  -d $sharedir/vanilla-%{vanillaversion} ]] ; then
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    cp -al $sharedir/vanilla-%{vanillaversion} .
Pablo Greco 7b2c62
Pablo Greco 7b2c62
  else
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Need to apply patches to the base vanilla version.
Pablo Greco 7b2c62
    cp -al vanilla-%{kversion} vanilla-%{vanillaversion}
Pablo Greco 7b2c62
    cd vanilla-%{vanillaversion}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
cp %{SOURCE12} .
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Update vanilla to the latest upstream.
Pablo Greco 7b2c62
# (non-released_kernel case only)
Pablo Greco 7b2c62
%if 0%{?rcrev}
Pablo Greco 7b2c62
    xzcat %{SOURCE5000} | patch -p1 -F1 -s
Pablo Greco 7b2c62
%if 0%{?gitrev}
Pablo Greco 7b2c62
    xzcat %{SOURCE5001} | patch -p1 -F1 -s
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
# pre-{base_sublevel+1}-rc1 case
Pablo Greco 7b2c62
%if 0%{?gitrev}
Pablo Greco 7b2c62
    xzcat %{SOURCE5000} | patch -p1 -F1 -s
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
    git init
Pablo Greco 7b2c62
    git config user.email "kernel-team@fedoraproject.org"
Pablo Greco 7b2c62
    git config user.name "Fedora Kernel Team"
Pablo Greco 7b2c62
    git config gc.auto 0
Pablo Greco 7b2c62
    git add .
Pablo Greco 7b2c62
    git commit -a -q -m "baseline"
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    cd ..
Pablo Greco 7b2c62
Pablo Greco 7b2c62
  fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
else
Pablo Greco 7b2c62
Pablo Greco 7b2c62
  # We already have all vanilla dirs, just change to the top-level directory.
Pablo Greco 7b2c62
  cd kernel-%{kversion}%{?dist}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Now build the fedora kernel tree.
Pablo Greco 7b2c62
cp -al vanilla-%{vanillaversion} linux-%{KVERREL}
26035c
cp -v %{SOURCE9000} linux-%{KVERREL}/certs/rhel.pem
Pablo Greco 7b2c62
Pablo Greco 7b2c62
cd linux-%{KVERREL}
Pablo Greco 7b2c62
if [ ! -d .git ]; then
Pablo Greco 7b2c62
    git init
Pablo Greco 7b2c62
    git config user.email "kernel-team@fedoraproject.org"
Pablo Greco 7b2c62
    git config user.name "Fedora Kernel Team"
Pablo Greco 7b2c62
    git config gc.auto 0
Pablo Greco 7b2c62
    git add .
Pablo Greco 7b2c62
    git commit -a -q -m "baseline"
Pablo Greco 7b2c62
fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# released_kernel with possible stable updates
Pablo Greco 7b2c62
%if 0%{?stable_base}
Pablo Greco 7b2c62
# This is special because the kernel spec is hell and nothing is consistent
Pablo Greco 7b2c62
xzcat %{SOURCE5000} | patch -p1 -F1 -s
Pablo Greco 7b2c62
git commit -a -m "Stable update"
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Note: Even in the "nopatches" path some patches (build tweaks and compile
Pablo Greco 7b2c62
# fixes) will always get applied; see patch defition above for details
Pablo Greco 7b2c62
Pablo Greco 7b2c62
git am %{patches}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# END OF PATCH APPLICATIONS
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Any further pre-build tree manipulations happen here.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
chmod +x scripts/checkpatch.pl
Pablo Greco 7b2c62
mv COPYING COPYING-%{version}-%{release}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# This Prevents scripts/setlocalversion from mucking with our version numbers.
Pablo Greco 7b2c62
touch .scmversion
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Mangle /usr/bin/python shebangs to /usr/bin/python3
Pablo Greco 7b2c62
# Mangle all Python shebangs to be Python 3 explicitly
Pablo Greco 7b2c62
# -p preserves timestamps
Pablo Greco 7b2c62
# -n prevents creating ~backup files
Pablo Greco 7b2c62
# -i specifies the interpreter for the shebang
Pablo Greco 7b2c62
# This fixes errors such as
Pablo Greco 7b2c62
# *** ERROR: ambiguous python shebang in /usr/bin/kvm_stat: #!/usr/bin/python. Change it to python3 (or python2) explicitly.
Pablo Greco 7b2c62
# We patch all sources below for which we got a report/error.
Pablo Greco 7b2c62
pathfix.py -i "%{__python3} %{py3_shbang_opts}" -p -n \
Pablo Greco 7b2c62
	tools/kvm/kvm_stat/kvm_stat \
Pablo Greco 7b2c62
	scripts/show_delta \
Pablo Greco 7b2c62
	scripts/diffconfig \
Pablo Greco 7b2c62
	scripts/bloat-o-meter \
Pablo Greco 7b2c62
	scripts/jobserver-exec \
Pablo Greco 7b2c62
	tools/perf/tests/attr.py \
Pablo Greco 7b2c62
	tools/perf/scripts/python/stat-cpi.py \
Pablo Greco 7b2c62
	tools/perf/scripts/python/sched-migration.py \
Pablo Greco 418f01
	tools/testing/selftests/drivers/net/mlxsw/sharedbuffer_configuration.py \
Pablo Greco 7b2c62
	Documentation \
Pablo Greco 418f01
	scripts/clang-tools/*.py
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# only deal with configs if we are going to build for the arch
Pablo Greco 7b2c62
%ifnarch %nobuildarches
Pablo Greco 7b2c62
Pablo Greco 7b2c62
if [ -L configs ]; then
Pablo Greco 7b2c62
	rm -f configs
Pablo Greco 7b2c62
fi
Pablo Greco 7b2c62
# Deal with configs stuff
Pablo Greco 7b2c62
mkdir configs
Pablo Greco 7b2c62
cd configs
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Drop some necessary files from the source dir into the buildroot
Pablo Greco 7b2c62
cp $RPM_SOURCE_DIR/kernel-*.config .
Pablo Greco 7b2c62
cp %{SOURCE1000} .
Pablo Greco 7b2c62
cp %{SOURCE55} .
Pablo Greco 7b2c62
cp %{SOURCE51} .
Pablo Greco 7b2c62
VERSION=%{version} ./generate_all_configs.sh %{primary_target} %{debugbuildsenabled}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Merge in any user-provided local config option changes
Pablo Greco 7b2c62
%ifnarch %nobuildarches
Pablo Greco 7b2c62
for i in %{all_arch_configs}
Pablo Greco 7b2c62
do
Pablo Greco 7b2c62
  mv $i $i.tmp
Pablo Greco 7b2c62
  ./merge.pl %{SOURCE1000} $i.tmp > $i
Pablo Greco 7b2c62
  rm $i.tmp
Pablo Greco 7b2c62
done
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if !%{debugbuildsenabled}
Pablo Greco 7b2c62
rm -f kernel-%{version}-*debug.config
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# enable GCOV kernel config options if gcov is on
Pablo Greco 7b2c62
%if %{with_gcov}
Pablo Greco 7b2c62
for i in *.config
Pablo Greco 7b2c62
do
Pablo Greco 7b2c62
  sed -i 's/# CONFIG_GCOV_KERNEL is not set/CONFIG_GCOV_KERNEL=y\nCONFIG_GCOV_PROFILE_ALL=y\n/' $i
Pablo Greco 7b2c62
done
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
cp %{SOURCE52} .
Pablo Greco 7b2c62
OPTS=""
Pablo Greco 7b2c62
%if %{with_configchecks}
Pablo Greco 7b2c62
	OPTS="$OPTS -w -n -c"
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
./process_configs.sh $OPTS kernel %{rpmversion}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
cp %{SOURCE56} .
Pablo Greco 7b2c62
RPM_SOURCE_DIR=$RPM_SOURCE_DIR ./update_scripts.sh %{primary_target}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# end of kernel config
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
cd ..
Pablo Greco 7b2c62
# # End of Configs stuff
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# get rid of unwanted files resulting from patch fuzz
Pablo Greco 7b2c62
find . \( -name "*.orig" -o -name "*~" \) -delete >/dev/null
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# remove unnecessary SCM files
Pablo Greco 7b2c62
find . -name .gitignore -delete >/dev/null
Pablo Greco 7b2c62
Pablo Greco 7b2c62
cd ..
Pablo Greco 7b2c62
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
### build
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
%build
Pablo Greco 05f52f
%if 0%{?rhel} == 7
Pablo Greco 05f52f
source scl_source enable devtoolset-8 || :
Pablo Greco 05f52f
source scl_source enable llvm-toolset-7.0 || :
Pablo Greco 05f52f
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_sparse}
Pablo Greco 7b2c62
%define sparse_mflags	C=1
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
cp_vmlinux()
Pablo Greco 7b2c62
{
Pablo Greco 7b2c62
  eu-strip --remove-comment -o "$2" "$1"
Pablo Greco 7b2c62
}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# These are for host programs that get built as part of the kernel and
Pablo Greco 7b2c62
# are required to be packaged in kernel-devel for building external modules.
Pablo Greco 7b2c62
# Since they are userspace binaries, they are required to pickup the hardening
Pablo Greco 7b2c62
# flags defined in the macros. The --build-id=uuid is a trick to get around
Pablo Greco 7b2c62
# debuginfo limitations: Typically, find-debuginfo.sh will update the build
Pablo Greco 7b2c62
# id of all binaries to allow for parllel debuginfo installs. The kernel
Pablo Greco 7b2c62
# can't use this because it breaks debuginfo for the vDSO so we have to
Pablo Greco 7b2c62
# use a special mechanism for kernel and modules to be unique. Unfortunately,
Pablo Greco 7b2c62
# we still have userspace binaries which need unique debuginfo and because
Pablo Greco 7b2c62
# they come from the kernel package, we can't just use find-debuginfo.sh to
Pablo Greco 7b2c62
# rewrite only those binaries. The easiest option right now is just to have
Pablo Greco 7b2c62
# the build id be a uuid for the host programs.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# Note we need to disable these flags for cross builds because the flags
Pablo Greco 7b2c62
# from redhat-rpm-config assume that host == target so target arch
Pablo Greco 7b2c62
# flags cause issues with the host compiler.
Pablo Greco 7b2c62
%if !%{with_cross}
Pablo Greco 7b2c62
%define build_hostcflags  %{?build_cflags}
Pablo Greco 7b2c62
%define build_hostldflags %{?build_ldflags}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%define make make %{?cross_opts} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}"
Pablo Greco 7b2c62
Pablo Greco 7b2c62
BuildKernel() {
Pablo Greco 7b2c62
    MakeTarget=$1
Pablo Greco 7b2c62
    KernelImage=$2
Pablo Greco 7b2c62
    Flavour=$4
Pablo Greco 7b2c62
    DoVDSO=$3
Pablo Greco 7b2c62
    Flav=${Flavour:++${Flavour}}
Pablo Greco 7b2c62
    InstallName=${5:-vmlinuz}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    DoModules=1
Pablo Greco 7b2c62
    if [ "$Flavour" = "zfcpdump" ]; then
Pablo Greco 7b2c62
	    DoModules=0
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Pick the right config file for the kernel we're building
Pablo Greco 7b2c62
    Config=kernel-%{version}-%{_target_cpu}${Flavour:+-${Flavour}}.config
Pablo Greco 7b2c62
    DevelDir=/usr/src/kernels/%{KVERREL}${Flav}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # When the bootable image is just the ELF kernel, strip it.
Pablo Greco 7b2c62
    # We already copy the unstripped file into the debuginfo package.
Pablo Greco 7b2c62
    if [ "$KernelImage" = vmlinux ]; then
Pablo Greco 7b2c62
      CopyKernel=cp_vmlinux
Pablo Greco 7b2c62
    else
Pablo Greco 7b2c62
      CopyKernel=cp
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    KernelVer=%{version}-%{release}.%{_target_cpu}${Flav}
Pablo Greco 7b2c62
    echo BUILDING A KERNEL FOR ${Flavour} %{_target_cpu}...
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    %if 0%{?stable_update}
Pablo Greco 7b2c62
    # make sure SUBLEVEL is incremented on a stable release.  Sigh 3.x.
Pablo Greco 7b2c62
    perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{?stablerev}/" Makefile
Pablo Greco 7b2c62
    %endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # make sure EXTRAVERSION says what we want it to say
Pablo Greco 7b2c62
    perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_target_cpu}${Flav}/" Makefile
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # if pre-rc1 devel kernel, must fix up PATCHLEVEL for our versioning scheme
Pablo Greco 7b2c62
    %if !0%{?rcrev}
Pablo Greco 7b2c62
    %if 0%{?gitrev}
Pablo Greco 7b2c62
    perl -p -i -e 's/^PATCHLEVEL.*/PATCHLEVEL = %{upstream_sublevel}/' Makefile
Pablo Greco 7b2c62
    %endif
Pablo Greco 7b2c62
    %endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # and now to start the build process
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    %{make} %{?_smp_mflags} mrproper
Pablo Greco 7b2c62
    cp configs/$Config .config
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    %if %{signkernel}%{signmodules}
Pablo Greco 7b2c62
    cp $RPM_SOURCE_DIR/x509.genkey certs/.
Pablo Greco 7b2c62
    %endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    Arch=`head -1 .config | cut -b 3-`
Pablo Greco 7b2c62
    echo USING ARCH=$Arch
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    KCFLAGS="%{?kcflags}"
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # add kpatch flags for base kernel
Pablo Greco 7b2c62
    if [ "$Flavour" == "" ]; then
Pablo Greco 7b2c62
        KCFLAGS="$KCFLAGS %{?kpatch_kcflags}"
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    %{make} ARCH=$Arch olddefconfig >/dev/null
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # This ensures build-ids are unique to allow parallel debuginfo
Pablo Greco 7b2c62
    perl -p -i -e "s/^CONFIG_BUILD_SALT.*/CONFIG_BUILD_SALT=\"%{KVERREL}\"/" .config
Pablo Greco 7b2c62
    %{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags}
Pablo Greco 7b2c62
    if [ $DoModules -eq 1 ]; then
Pablo Greco 7b2c62
	%{make} ARCH=$Arch KCFLAGS="$KCFLAGS" WITH_GCOV="%{?with_gcov}" %{?_smp_mflags} modules %{?sparse_mflags} || exit 1
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
Pablo Greco 7b2c62
%if %{with_debuginfo}
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/%{image_install_path}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifarch %{arm} aarch64
Pablo Greco 7b2c62
    %{make} ARCH=$Arch dtbs INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
Pablo Greco 7b2c62
    %{make} ARCH=$Arch dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
Pablo Greco 7b2c62
    cp -r $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/dtb
Pablo Greco 7b2c62
    find arch/$Arch/boot/dts -name '*.dtb' -type f -delete
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Start installing the results
Pablo Greco 7b2c62
    install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
Pablo Greco 7b2c62
    install -m 644 .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/config
Pablo Greco 7b2c62
    install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer
Pablo Greco 7b2c62
    install -m 644 System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/System.map
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # We estimate the size of the initramfs because rpm needs to take this size
Pablo Greco 7b2c62
    # into consideration when performing disk space calculations. (See bz #530778)
Pablo Greco 7b2c62
    dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-$KernelVer.img bs=1M count=20
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    if [ -f arch/$Arch/boot/zImage.stub ]; then
Pablo Greco 7b2c62
      cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
Pablo Greco 7b2c62
      cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/lib/modules/$KernelVer/zImage.stub-$KernelVer || :
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    %if %{signkernel}
Pablo Greco 7b2c62
    if [ "$KernelImage" = vmlinux ]; then
Pablo Greco 7b2c62
        # We can't strip and sign $KernelImage in place, because
Pablo Greco 7b2c62
        # we need to preserve original vmlinux for debuginfo.
Pablo Greco 7b2c62
        # Use a copy for signing.
Pablo Greco 7b2c62
        $CopyKernel $KernelImage $KernelImage.tosign
Pablo Greco 7b2c62
        KernelImage=$KernelImage.tosign
Pablo Greco 7b2c62
        CopyKernel=cp
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Sign the image if we're using EFI
Pablo Greco 7b2c62
    # aarch64 kernels are gziped EFI images
Pablo Greco 7b2c62
    KernelExtension=${KernelImage##*.}
Pablo Greco 7b2c62
    if [ "$KernelExtension" == "gz" ]; then
Pablo Greco 7b2c62
        SignImage=${KernelImage%.*}
Pablo Greco 7b2c62
    else
Pablo Greco 7b2c62
        SignImage=$KernelImage
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    %ifarch x86_64 aarch64
Pablo Greco 7b2c62
    %pesign -s -i $SignImage -o vmlinuz.tmp -a %{secureboot_ca_0} -c %{secureboot_key_0} -n %{pesign_name_0}
Pablo Greco 7b2c62
    %pesign -s -i vmlinuz.tmp -o vmlinuz.signed -a %{secureboot_ca_1} -c %{secureboot_key_1} -n %{pesign_name_1}
Pablo Greco 7b2c62
    rm vmlinuz.tmp
Pablo Greco 7b2c62
    %endif
Pablo Greco 7b2c62
    %ifarch s390x ppc64le
Pablo Greco 7b2c62
    if [ -x /usr/bin/rpm-sign ]; then
Pablo Greco 7b2c62
	rpm-sign --key "%{pesign_name_0}" --lkmsign $SignImage --output vmlinuz.signed
Pablo Greco 7b2c62
    elif [ $DoModules -eq 1 ]; then
Pablo Greco 7b2c62
	chmod +x scripts/sign-file
Pablo Greco 7b2c62
	./scripts/sign-file -p sha256 certs/signing_key.pem certs/signing_key.x509 $SignImage vmlinuz.signed
Pablo Greco 7b2c62
    else
Pablo Greco 7b2c62
	mv $SignImage vmlinuz.signed
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
    %endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    if [ ! -s vmlinuz.signed ]; then
Pablo Greco 7b2c62
        echo "pesigning failed"
Pablo Greco 7b2c62
        exit 1
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
    mv vmlinuz.signed $SignImage
Pablo Greco 7b2c62
    if [ "$KernelExtension" == "gz" ]; then
Pablo Greco 7b2c62
        gzip -f9 $SignImage
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
    # signkernel
Pablo Greco 7b2c62
    %endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    $CopyKernel $KernelImage \
Pablo Greco 7b2c62
                $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
Pablo Greco 7b2c62
    chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
Pablo Greco 7b2c62
    cp $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/$InstallName
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # hmac sign the kernel for FIPS
Pablo Greco 7b2c62
    echo "Creating hmac file: $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac"
Pablo Greco 7b2c62
    ls -l $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
Pablo Greco 7b2c62
    sha512hmac $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer | sed -e "s,$RPM_BUILD_ROOT,," > $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac;
Pablo Greco 7b2c62
    cp $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac $RPM_BUILD_ROOT/lib/modules/$KernelVer/.vmlinuz.hmac
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    if [ $DoModules -eq 1 ]; then
Pablo Greco 7b2c62
	# Override $(mod-fw) because we don't want it to install any firmware
Pablo Greco 7b2c62
	# we'll get it from the linux-firmware package and we don't want conflicts
Pablo Greco 7b2c62
	%{make} %{?_smp_mflags} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT %{?_smp_mflags} modules_install KERNELRELEASE=$KernelVer mod-fw=
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_gcov}
Pablo Greco 7b2c62
    # install gcov-needed files to $BUILDROOT/$BUILD/...:
Pablo Greco 7b2c62
    #   gcov_info->filename is absolute path
Pablo Greco 7b2c62
    #   gcno references to sources can use absolute paths (e.g. in out-of-tree builds)
Pablo Greco 7b2c62
    #   sysfs symlink targets (set up at compile time) use absolute paths to BUILD dir
Pablo Greco 7b2c62
    find . \( -name '*.gcno' -o -name '*.[chS]' \) -exec install -D '{}' "$RPM_BUILD_ROOT/$(pwd)/{}" \;
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # add an a noop %%defattr statement 'cause rpm doesn't like empty file list files
Pablo Greco 7b2c62
    echo '%%defattr(-,-,-)' > ../kernel${Flavour:+-${Flavour}}-ldsoconf.list
Pablo Greco 7b2c62
    if [ $DoVDSO -ne 0 ]; then
Pablo Greco 7b2c62
        %{make} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
Pablo Greco 7b2c62
        if [ -s ldconfig-kernel.conf ]; then
Pablo Greco 7b2c62
             install -D -m 444 ldconfig-kernel.conf \
Pablo Greco 7b2c62
                $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf
Pablo Greco 7b2c62
	     echo /etc/ld.so.conf.d/kernel-$KernelVer.conf >> ../kernel${Flavour:+-${Flavour}}-ldsoconf.list
Pablo Greco 7b2c62
        fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
        rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # And save the headers/makefiles etc for building modules against
Pablo Greco 7b2c62
    #
Pablo Greco 7b2c62
    # This all looks scary, but the end result is supposed to be:
Pablo Greco 7b2c62
    # * all arch relevant include/ files
Pablo Greco 7b2c62
    # * all Makefile/Kconfig files
Pablo Greco 7b2c62
    # * all script/ files
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
    (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source)
Pablo Greco 7b2c62
    # dirs for additional modules per module-init-tools, kbuild/modules.txt
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/internal
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates
Pablo Greco 7b2c62
%if 0%{!?fedora:1}
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/weak-updates
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
    # CONFIG_KERNEL_HEADER_TEST generates some extra files in the process of
Pablo Greco 7b2c62
    # testing so just delete
Pablo Greco 7b2c62
    find . -name *.h.s -delete
Pablo Greco 7b2c62
    # first copy everything
Pablo Greco 7b2c62
    cp --parents `find  -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
    cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
    cp System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
    if [ -s Module.markers ]; then
Pablo Greco 7b2c62
      cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # create the kABI metadata for use in packaging
Pablo Greco 7b2c62
    # NOTENOTE: the name symvers is used by the rpm backend
Pablo Greco 7b2c62
    # NOTENOTE: to discover and run the /usr/lib/rpm/fileattrs/kabi.attr
Pablo Greco 7b2c62
    # NOTENOTE: script which dynamically adds exported kernel symbol
Pablo Greco 7b2c62
    # NOTENOTE: checksums to the rpm metadata provides list.
Pablo Greco 7b2c62
    # NOTENOTE: if you change the symvers name, update the backend too
Pablo Greco 7b2c62
    echo "**** GENERATING kernel ABI metadata ****"
Pablo Greco 7b2c62
    gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-$KernelVer.gz
Pablo Greco 7b2c62
    cp $RPM_BUILD_ROOT/boot/symvers-$KernelVer.gz $RPM_BUILD_ROOT/lib/modules/$KernelVer/symvers.gz
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_kabichk}
Pablo Greco 7b2c62
    echo "**** kABI checking is enabled in kernel SPEC file. ****"
Pablo Greco 7b2c62
    chmod 0755 $RPM_SOURCE_DIR/check-kabi
Pablo Greco 7b2c62
    if [ -e $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Flavour ]; then
Pablo Greco 7b2c62
        cp $RPM_SOURCE_DIR/Module.kabi_%{_target_cpu}$Flavour $RPM_BUILD_ROOT/Module.kabi
Pablo Greco 7b2c62
        $RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1
Pablo Greco 7b2c62
        # for now, don't keep it around.
Pablo Greco 7b2c62
        rm $RPM_BUILD_ROOT/Module.kabi
Pablo Greco 7b2c62
    else
Pablo Greco 7b2c62
        echo "**** NOTE: Cannot find reference Module.kabi file. ****"
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_kabidupchk}
Pablo Greco 7b2c62
    echo "**** kABI DUP checking is enabled in kernel SPEC file. ****"
Pablo Greco 7b2c62
    if [ -e $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Flavour ]; then
Pablo Greco 7b2c62
        cp $RPM_SOURCE_DIR/Module.kabi_dup_%{_target_cpu}$Flavour $RPM_BUILD_ROOT/Module.kabi
Pablo Greco 7b2c62
        $RPM_SOURCE_DIR/check-kabi -k $RPM_BUILD_ROOT/Module.kabi -s Module.symvers || exit 1
Pablo Greco 7b2c62
        # for now, don't keep it around.
Pablo Greco 7b2c62
        rm $RPM_BUILD_ROOT/Module.kabi
Pablo Greco 7b2c62
    else
Pablo Greco 7b2c62
        echo "**** NOTE: Cannot find DUP reference Module.kabi file. ****"
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_kabidw_base}
Pablo Greco 7b2c62
    # Don't build kabi base for debug kernels
Pablo Greco 7b2c62
    if [ "$Flavour" != "kdump" -a "$Flavour" != "debug" ]; then
Pablo Greco 7b2c62
        mkdir -p $RPM_BUILD_ROOT/kabi-dwarf
Pablo Greco 7b2c62
        tar xjvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf
Pablo Greco 7b2c62
Pablo Greco 7b2c62
        mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/whitelists
Pablo Greco 7b2c62
        tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/whitelists
Pablo Greco 7b2c62
Pablo Greco 7b2c62
        echo "**** GENERATING DWARF-based kABI baseline dataset ****"
Pablo Greco 7b2c62
        chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh
Pablo Greco 7b2c62
        $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \
Pablo Greco 7b2c62
            "$RPM_BUILD_ROOT/kabi-dwarf/whitelists/kabi-current/kabi_whitelist_%{_target_cpu}" \
Pablo Greco 7b2c62
            "$(pwd)" \
Pablo Greco 7b2c62
            "$RPM_BUILD_ROOT/kabidw-base/%{_target_cpu}${Flavour:+.${Flavour}}" || :
Pablo Greco 7b2c62
Pablo Greco 7b2c62
        rm -rf $RPM_BUILD_ROOT/kabi-dwarf
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_kabidwchk}
Pablo Greco 7b2c62
    if [ "$Flavour" != "kdump" ]; then
Pablo Greco 7b2c62
        mkdir -p $RPM_BUILD_ROOT/kabi-dwarf
Pablo Greco 7b2c62
        tar xjvf %{SOURCE301} -C $RPM_BUILD_ROOT/kabi-dwarf
Pablo Greco 7b2c62
        if [ -d "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}" ]; then
Pablo Greco 7b2c62
            mkdir -p $RPM_BUILD_ROOT/kabi-dwarf/whitelists
Pablo Greco 7b2c62
            tar xjvf %{SOURCE300} -C $RPM_BUILD_ROOT/kabi-dwarf/whitelists
Pablo Greco 7b2c62
Pablo Greco 7b2c62
            echo "**** GENERATING DWARF-based kABI dataset ****"
Pablo Greco 7b2c62
            chmod 0755 $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh
Pablo Greco 7b2c62
            $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh generate \
Pablo Greco 7b2c62
                "$RPM_BUILD_ROOT/kabi-dwarf/whitelists/kabi-current/kabi_whitelist_%{_target_cpu}" \
Pablo Greco 7b2c62
                "$(pwd)" \
Pablo Greco 7b2c62
                "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}.tmp" || :
Pablo Greco 7b2c62
Pablo Greco 7b2c62
            echo "**** kABI DWARF-based comparison report ****"
Pablo Greco 7b2c62
            $RPM_BUILD_ROOT/kabi-dwarf/run_kabi-dw.sh compare \
Pablo Greco 7b2c62
                "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}" \
Pablo Greco 7b2c62
                "$RPM_BUILD_ROOT/kabi-dwarf/base/%{_target_cpu}${Flavour:+.${Flavour}}.tmp" || :
Pablo Greco 7b2c62
            echo "**** End of kABI DWARF-based comparison report ****"
Pablo Greco 7b2c62
        else
Pablo Greco 7b2c62
            echo "**** Baseline dataset for kABI DWARF-BASED comparison report not found ****"
Pablo Greco 7b2c62
        fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
        rm -rf $RPM_BUILD_ROOT/kabi-dwarf
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # then drop all but the needed Makefiles/Kconfig files
Pablo Greco 7b2c62
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
Pablo Greco 7b2c62
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
Pablo Greco 7b2c62
    cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
    cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/tracing
Pablo Greco 7b2c62
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/spdxcheck.py
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Files for 'make scripts' to succeed with kernel-devel.
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/security/selinux/include
Pablo Greco 7b2c62
    cp -a --parents security/selinux/include/classmap.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
    cp -a --parents security/selinux/include/initial_sid_to_string.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/include/tools
Pablo Greco 7b2c62
    cp -a --parents tools/include/tools/be_byteshift.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
    cp -a --parents tools/include/tools/le_byteshift.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    if [ -f tools/objtool/objtool ]; then
Pablo Greco 7b2c62
      cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/ || :
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
    if [ -d arch/$Arch/scripts ]; then
Pablo Greco 7b2c62
      cp -a arch/$Arch/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || :
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
    if [ -f arch/$Arch/*lds ]; then
Pablo Greco 7b2c62
      cp -a arch/$Arch/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || :
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
    if [ -f arch/%{asmarch}/kernel/module.lds ]; then
Pablo Greco 7b2c62
      cp -a --parents arch/%{asmarch}/kernel/module.lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o
Pablo Greco 7b2c62
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o
Pablo Greco 7b2c62
%ifarch ppc64le
Pablo Greco 7b2c62
    cp -a --parents arch/powerpc/lib/crtsavres.[So] $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
    if [ -d arch/%{asmarch}/include ]; then
Pablo Greco 7b2c62
      cp -a --parents arch/%{asmarch}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
%ifarch aarch64
Pablo Greco 7b2c62
    # arch/arm64/include/asm/xen references arch/arm
Pablo Greco 7b2c62
    cp -a --parents arch/arm/include/asm/xen $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    # arch/arm64/include/asm/opcodes.h references arch/arm
Pablo Greco 7b2c62
    cp -a --parents arch/arm/include/asm/opcodes.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
    # include the machine specific headers for ARM variants, if available.
Pablo Greco 7b2c62
%ifarch %{arm}
Pablo Greco 7b2c62
    if [ -d arch/%{asmarch}/mach-${Flavour}/include ]; then
Pablo Greco 7b2c62
      cp -a --parents arch/%{asmarch}/mach-${Flavour}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
    # include a few files for 'make prepare'
Pablo Greco 7b2c62
    cp -a --parents arch/arm/tools/gen-mach-types $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/arm/tools/mach-types $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
    cp -a include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
Pablo Greco 7b2c62
%ifarch i686 x86_64
Pablo Greco 7b2c62
    # files for 'make prepare' to succeed with kernel-devel
Pablo Greco 7b2c62
    cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/entry/syscalls/syscalltbl.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/entry/syscalls/syscallhdr.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/entry/syscalls/syscall_64.tbl $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/tools/relocs_32.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/tools/relocs_64.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/tools/relocs.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/tools/relocs_common.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/tools/relocs.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents tools/include/tools/le_byteshift.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/purgatory/purgatory.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/purgatory/stack.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/purgatory/setup-x86_64.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/purgatory/entry64.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/boot/string.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/boot/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
    cp -a --parents arch/x86/boot/ctype.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
    # Make sure the Makefile and version.h have a matching timestamp so that
Pablo Greco 7b2c62
    # external modules can be built
Pablo Greco 7b2c62
    touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/generated/uapi/linux/version.h
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
Pablo Greco 7b2c62
    cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_debuginfo}
Pablo Greco 7b2c62
    eu-readelf -n vmlinux | grep "Build ID" | awk '{print $NF}' > vmlinux.id
Pablo Greco 7b2c62
    cp vmlinux.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.id
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    #
Pablo Greco 7b2c62
    # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
Pablo Greco 7b2c62
    #
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
Pablo Greco 7b2c62
    cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # mark modules executable so that strip-to-file can strip them
Pablo Greco 7b2c62
    xargs --no-run-if-empty chmod u+x < modnames
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Generate a list of modules for block and networking.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA |
Pablo Greco 7b2c62
    sed -n 's,^.*/\([^/]*\.ko\):  *U \(.*\)$,\1 \2,p' > drivers.undef
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    collect_modules_list()
Pablo Greco 7b2c62
    {
Pablo Greco 7b2c62
      sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
Pablo Greco 7b2c62
        LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
Pablo Greco 7b2c62
      if [ ! -z "$3" ]; then
Pablo Greco 7b2c62
        sed -r -e "/^($3)\$/d" -i $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
Pablo Greco 7b2c62
      fi
Pablo Greco 7b2c62
    }
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    collect_modules_list networking \
Pablo Greco 7b2c62
      'register_netdev|ieee80211_register_hw|usbnet_probe|phy_driver_register|rt(l_|2x00)(pci|usb)_probe|register_netdevice'
Pablo Greco 7b2c62
    collect_modules_list block \
Pablo Greco 7b2c62
      'ata_scsi_ioctl|scsi_add_host|scsi_add_host_with_dma|blk_alloc_queue|blk_init_queue|register_mtd_blktrans|scsi_esp_register|scsi_register_device_handler|blk_queue_physical_block_size' 'pktcdvd.ko|dm-mod.ko'
Pablo Greco 7b2c62
    collect_modules_list drm \
Pablo Greco 7b2c62
      'drm_open|drm_init'
Pablo Greco 7b2c62
    collect_modules_list modesetting \
Pablo Greco 7b2c62
      'drm_crtc_init'
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # detect missing or incorrect license tags
Pablo Greco 7b2c62
    ( find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name '*.ko' | xargs /sbin/modinfo -l | \
Pablo Greco 7b2c62
        grep -E -v 'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' ) && exit 1
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # remove files that will be auto generated by depmod at rpm -i time
Pablo Greco 7b2c62
    pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/
Pablo Greco 7b2c62
        rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep}
Pablo Greco 7b2c62
    popd
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Call the modules-extra script to move things around
Pablo Greco 7b2c62
    %{SOURCE24} $RPM_BUILD_ROOT/lib/modules/$KernelVer $RPM_SOURCE_DIR/mod-extra.list
Pablo Greco 7b2c62
    # Blacklist net autoloadable modules in modules-extra
Pablo Greco 7b2c62
    %{SOURCE19} $RPM_BUILD_ROOT lib/modules/$KernelVer
Pablo Greco 7b2c62
    # Call the modules-extra script for internal modules
Pablo Greco 7b2c62
    %{SOURCE24} $RPM_BUILD_ROOT/lib/modules/$KernelVer %{SOURCE54} internal
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    #
Pablo Greco 7b2c62
    # Generate the kernel-core and kernel-modules files lists
Pablo Greco 7b2c62
    #
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Copy the System.map file for depmod to use, and create a backup of the
Pablo Greco 7b2c62
    # full module tree so we can restore it after we're done filtering
Pablo Greco 7b2c62
    cp System.map $RPM_BUILD_ROOT/.
Pablo Greco 7b2c62
    pushd $RPM_BUILD_ROOT
Pablo Greco 7b2c62
    mkdir restore
Pablo Greco 7b2c62
    cp -r lib/modules/$KernelVer/* restore/.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # don't include anything going into k-m-e and k-m-i in the file lists
Pablo Greco 7b2c62
    rm -rf lib/modules/$KernelVer/{extra,internal}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    if [ $DoModules -eq 1 ]; then
Pablo Greco 7b2c62
	# Find all the module files and filter them out into the core and
Pablo Greco 7b2c62
	# modules lists.  This actually removes anything going into -modules
Pablo Greco 7b2c62
	# from the dir.
Pablo Greco 7b2c62
	find lib/modules/$KernelVer/kernel -name *.ko | sort -n > modules.list
Pablo Greco 7b2c62
	cp $RPM_SOURCE_DIR/filter-*.sh .
Pablo Greco 7b2c62
	./filter-modules.sh modules.list %{_target_cpu}
Pablo Greco 7b2c62
	rm filter-*.sh
Pablo Greco 7b2c62
Pablo Greco 7b2c62
	# Run depmod on the resulting module tree and make sure it isn't broken
Pablo Greco 7b2c62
	depmod -b . -aeF ./System.map $KernelVer &> depmod.out
Pablo Greco 7b2c62
	if [ -s depmod.out ]; then
Pablo Greco 7b2c62
	    echo "Depmod failure"
Pablo Greco 7b2c62
	    cat depmod.out
Pablo Greco 7b2c62
	    exit 1
Pablo Greco 7b2c62
	else
Pablo Greco 7b2c62
	    rm depmod.out
Pablo Greco 7b2c62
	fi
Pablo Greco 7b2c62
    else
Pablo Greco 7b2c62
	# Ensure important files/directories exist to let the packaging succeed
Pablo Greco 7b2c62
	echo '%%defattr(-,-,-)' > modules.list
Pablo Greco 7b2c62
	echo '%%defattr(-,-,-)' > k-d.list
Pablo Greco 7b2c62
	mkdir -p lib/modules/$KernelVer/kernel
Pablo Greco 7b2c62
	# Add files usually created by make modules, needed to prevent errors
Pablo Greco 7b2c62
	# thrown by depmod during package installation
Pablo Greco 7b2c62
	touch lib/modules/$KernelVer/modules.order
Pablo Greco 7b2c62
	touch lib/modules/$KernelVer/modules.builtin
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # remove files that will be auto generated by depmod at rpm -i time
Pablo Greco 7b2c62
    pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/
Pablo Greco 7b2c62
        rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep}
Pablo Greco 7b2c62
    popd
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Go back and find all of the various directories in the tree.  We use this
Pablo Greco 7b2c62
    # for the dir lists in kernel-core
Pablo Greco 7b2c62
    find lib/modules/$KernelVer/kernel -mindepth 1 -type d | sort -n > module-dirs.list
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Cleanup
Pablo Greco 7b2c62
    rm System.map
Pablo Greco 7b2c62
    cp -r restore/* lib/modules/$KernelVer/.
Pablo Greco 7b2c62
    rm -rf restore
Pablo Greco 7b2c62
    popd
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Make sure the files lists start with absolute paths or rpmbuild fails.
Pablo Greco 7b2c62
    # Also add in the dir entries
Pablo Greco 7b2c62
    sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/k-d.list > ../kernel${Flavour:+-${Flavour}}-modules.list
Pablo Greco 7b2c62
    sed -e 's/^lib*/%dir \/lib/' %{?zipsed} $RPM_BUILD_ROOT/module-dirs.list > ../kernel${Flavour:+-${Flavour}}-core.list
Pablo Greco 7b2c62
    sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/modules.list >> ../kernel${Flavour:+-${Flavour}}-core.list
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Cleanup
Pablo Greco 7b2c62
    rm -f $RPM_BUILD_ROOT/k-d.list
Pablo Greco 7b2c62
    rm -f $RPM_BUILD_ROOT/modules.list
Pablo Greco 7b2c62
    rm -f $RPM_BUILD_ROOT/module-dirs.list
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{signmodules}
Pablo Greco 7b2c62
    if [ $DoModules -eq 1 ]; then
Pablo Greco 7b2c62
	# Save the signing keys so we can sign the modules in __modsign_install_post
Pablo Greco 7b2c62
	cp certs/signing_key.pem certs/signing_key.pem.sign${Flav}
Pablo Greco 7b2c62
	cp certs/signing_key.x509 certs/signing_key.x509.sign${Flav}
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Move the devel headers out of the root file system
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
Pablo Greco 7b2c62
    mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # This is going to create a broken link during the build, but we don't use
Pablo Greco 7b2c62
    # it after this point.  We need the link to actually point to something
Pablo Greco 7b2c62
    # when kernel-devel is installed, and a relative link doesn't work across
Pablo Greco 7b2c62
    # the F17 UsrMove feature.
Pablo Greco 7b2c62
    ln -sf $DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # prune junk from kernel-devel
Pablo Greco 7b2c62
    find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # build a BLS config for this kernel
Pablo Greco 7b2c62
    %{SOURCE53} "$KernelVer" "$RPM_BUILD_ROOT" "%{?variant}"
Pablo Greco 7b2c62
Pablo Greco 7b2c62
    # Red Hat UEFI Secure Boot CA cert, which can be used to authenticate the kernel
Pablo Greco 7b2c62
    mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer
Pablo Greco 7b2c62
    %ifarch x86_64 aarch64
Pablo Greco 7b2c62
       install -m 0644 %{secureboot_ca_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca-20200609.cer
Pablo Greco 7b2c62
       install -m 0644 %{secureboot_ca_1} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca-20140212.cer
Pablo Greco 7b2c62
       ln -s kernel-signing-ca-20200609.cer $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer
Pablo Greco 7b2c62
    %else
Pablo Greco 7b2c62
       install -m 0644 %{secureboot_ca_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer
Pablo Greco 7b2c62
    %endif
Pablo Greco 7b2c62
    %ifarch s390x ppc64le
Pablo Greco 7b2c62
    if [ $DoModules -eq 1 ]; then
Pablo Greco 7b2c62
	if [ -x /usr/bin/rpm-sign ]; then
Pablo Greco 7b2c62
	    install -m 0644 %{secureboot_key_0} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename}
Pablo Greco 7b2c62
	else
Pablo Greco 7b2c62
	    install -m 0644 certs/signing_key.x509.sign${Flav} $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/kernel-signing-ca.cer
Pablo Greco 7b2c62
	    openssl x509 -in certs/signing_key.pem.sign${Flav} -outform der -out $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename}
Pablo Greco 7b2c62
	    chmod 0644 $RPM_BUILD_ROOT%{_datadir}/doc/kernel-keys/$KernelVer/%{signing_key_filename}
Pablo Greco 7b2c62
	fi
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
    %endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_ipaclones}
Pablo Greco 7b2c62
    MAXPROCS=$(echo %{?_smp_mflags} | sed -n 's/-j\s*\([0-9]\+\)/\1/p')
Pablo Greco 7b2c62
    if [ -z "$MAXPROCS" ]; then
Pablo Greco 7b2c62
        MAXPROCS=1
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
    if [ "$Flavour" == "" ]; then
Pablo Greco 7b2c62
        mkdir -p $RPM_BUILD_ROOT/$DevelDir-ipaclones
Pablo Greco 7b2c62
        find . -name '*.ipa-clones' | xargs -i{} -r -n 1 -P $MAXPROCS install -m 644 -D "{}" "$RPM_BUILD_ROOT/$DevelDir-ipaclones/{}"
Pablo Greco 7b2c62
    fi
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
# DO it...
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# prepare directories
Pablo Greco 7b2c62
rm -rf $RPM_BUILD_ROOT
Pablo Greco 7b2c62
mkdir -p $RPM_BUILD_ROOT/boot
Pablo Greco 7b2c62
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
cd linux-%{KVERREL}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_debug}
Pablo Greco 7b2c62
BuildKernel %make_target %kernel_image %{_use_vdso} debug
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_zfcpdump}
Pablo Greco 7b2c62
BuildKernel %make_target %kernel_image %{_use_vdso} zfcpdump
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_pae}
Pablo Greco 7b2c62
BuildKernel %make_target %kernel_image %{use_vdso} lpae
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_up}
Pablo Greco 7b2c62
BuildKernel %make_target %kernel_image %{_use_vdso}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%global perf_make \
Pablo Greco 7b2c62
  make -s EXTRA_CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/perf V=1 NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 prefix=%{_prefix} PYTHON=%{__python3}
Pablo Greco 7b2c62
%if %{with_perf}
Pablo Greco 7b2c62
# perf
Pablo Greco 7b2c62
# make sure check-headers.sh is executable
Pablo Greco 7b2c62
chmod +x tools/perf/check-headers.sh
Pablo Greco 7b2c62
%{perf_make} DESTDIR=$RPM_BUILD_ROOT all
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%global tools_make \
Pablo Greco 7b2c62
  %{make} CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" V=1
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_tools}
Pablo Greco 7b2c62
%ifarch %{cpupowerarchs}
Pablo Greco 7b2c62
# cpupower
Pablo Greco 7b2c62
# make sure version-gen.sh is executable.
Pablo Greco 7b2c62
chmod +x tools/power/cpupower/utils/version-gen.sh
Pablo Greco 7b2c62
%{tools_make} %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false
Pablo Greco 7b2c62
%ifarch x86_64
Pablo Greco 7b2c62
    pushd tools/power/cpupower/debug/x86_64
Pablo Greco 7b2c62
    %{tools_make} %{?_smp_mflags} centrino-decode powernow-k8-decode
Pablo Greco 7b2c62
    popd
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%ifarch x86_64
Pablo Greco 7b2c62
   pushd tools/power/x86/x86_energy_perf_policy/
Pablo Greco 7b2c62
   %{tools_make}
Pablo Greco 7b2c62
   popd
Pablo Greco 7b2c62
   pushd tools/power/x86/turbostat
Pablo Greco 7b2c62
   %{tools_make}
Pablo Greco 7b2c62
   popd
Pablo Greco 7b2c62
   pushd tools/power/x86/intel-speed-select
Pablo Greco 7b2c62
   %{make}
Pablo Greco 7b2c62
   popd
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
pushd tools/thermal/tmon/
Pablo Greco 7b2c62
%{tools_make}
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
pushd tools/iio/
Pablo Greco 7b2c62
%{make}
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
pushd tools/gpio/
Pablo Greco 7b2c62
%{make}
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%global bpftool_make \
Pablo Greco 7b2c62
  make EXTRA_CFLAGS="${RPM_OPT_FLAGS}" EXTRA_LDFLAGS="%{__global_ldflags}" DESTDIR=$RPM_BUILD_ROOT V=1
Pablo Greco 7b2c62
%if %{with_bpftool}
Pablo Greco 7b2c62
pushd tools/bpf/bpftool
Pablo Greco 7b2c62
%{bpftool_make}
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_selftests}
Pablo Greco 7b2c62
%{make} -s ARCH=$Arch V=1 samples/bpf/
Pablo Greco 7b2c62
pushd tools/testing/selftests
Pablo Greco 7b2c62
# We need to install here because we need to call make with ARCH set which
Pablo Greco 7b2c62
# doesn't seem possible to do in the install section.
Pablo Greco 7b2c62
%{make} -s ARCH=$Arch V=1 TARGETS="bpf livepatch net" INSTALL_PATH=%{buildroot}%{_libexecdir}/kselftests install
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_doc}
Pablo Greco 7b2c62
# Make the HTML pages.
Pablo Greco 7b2c62
make PYTHON=/usr/bin/python3 htmldocs || %{doc_build_fail}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# sometimes non-world-readable files sneak into the kernel source tree
Pablo Greco 7b2c62
chmod -R a=rX Documentation
Pablo Greco 7b2c62
find Documentation -type d | xargs chmod u+w
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# In the modsign case, we do 3 things.  1) We check the "flavour" and hard
Pablo Greco 7b2c62
# code the value in the following invocations.  This is somewhat sub-optimal
Pablo Greco 7b2c62
# but we're doing this inside of an RPM macro and it isn't as easy as it
Pablo Greco 7b2c62
# could be because of that.  2) We restore the .tmp_versions/ directory from
Pablo Greco 7b2c62
# the one we saved off in BuildKernel above.  This is to make sure we're
Pablo Greco 7b2c62
# signing the modules we actually built/installed in that flavour.  3) We
Pablo Greco 7b2c62
# grab the arch and invoke mod-sign.sh command to actually sign the modules.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# We have to do all of those things _after_ find-debuginfo runs, otherwise
Pablo Greco 7b2c62
# that will strip the signature off of the modules.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# Don't sign modules for the zfcpdump flavour as it is monolithic.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%define __modsign_install_post \
Pablo Greco 7b2c62
  if [ "%{signmodules}" -eq "1" ]; then \
Pablo Greco 7b2c62
    if [ "%{with_pae}" -ne "0" ]; then \
Pablo Greco 7b2c62
       %{modsign_cmd} certs/signing_key.pem.sign+lpae certs/signing_key.x509.sign+lpae $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+lpae/ \
Pablo Greco 7b2c62
    fi \
Pablo Greco 7b2c62
    if [ "%{with_debug}" -ne "0" ]; then \
Pablo Greco 7b2c62
      %{modsign_cmd} certs/signing_key.pem.sign+debug certs/signing_key.x509.sign+debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+debug/ \
Pablo Greco 7b2c62
    fi \
Pablo Greco 7b2c62
    if [ "%{with_up}" -ne "0" ]; then \
Pablo Greco 7b2c62
      %{modsign_cmd} certs/signing_key.pem.sign certs/signing_key.x509.sign $RPM_BUILD_ROOT/lib/modules/%{KVERREL}/ \
Pablo Greco 7b2c62
    fi \
Pablo Greco 7b2c62
  fi \
Pablo Greco 7b2c62
  if [ "%{zipmodules}" -eq "1" ]; then \
Pablo Greco 7b2c62
    find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs -P%{zcpu} xz; \
Pablo Greco 7b2c62
  fi \
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
### Special hacks for debuginfo subpackages.
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# This macro is used by %%install, so we must redefine it before that.
Pablo Greco 7b2c62
%define debug_package %{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_debuginfo}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifnarch noarch
Pablo Greco 7b2c62
%global __debug_package 1
Pablo Greco 7b2c62
%files -f debugfiles.list debuginfo-common-%{_target_cpu}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# We don't want to package debuginfo for self-tests and samples but
Pablo Greco 7b2c62
# we have to delete them to avoid an error messages about unpackaged
Pablo Greco 7b2c62
# files.
Pablo Greco 7b2c62
# Delete the debuginfo for for kernel-devel files
Pablo Greco 7b2c62
%define __remove_unwanted_dbginfo_install_post \
Pablo Greco 7b2c62
  if [ "%{with_selftests}" -ne "0" ]; then \
Pablo Greco 7b2c62
    rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/libexec/ksamples; \
Pablo Greco 7b2c62
    rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/libexec/kselftests; \
Pablo Greco 7b2c62
  fi \
Pablo Greco 7b2c62
  rm -rf $RPM_BUILD_ROOT/usr/lib/debug/usr/src; \
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# Disgusting hack alert! We need to ensure we sign modules *after* all
Pablo Greco 7b2c62
# invocations of strip occur, which is in __debug_install_post if
Pablo Greco 7b2c62
# find-debuginfo.sh runs, and __os_install_post if not.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define __spec_install_post \
Pablo Greco 7b2c62
  %{?__debug_package:%{__debug_install_post}}\
Pablo Greco 7b2c62
  %{__arch_install_post}\
Pablo Greco 7b2c62
  %{__os_install_post}\
Pablo Greco 7b2c62
  %{__remove_unwanted_dbginfo_install_post}\
Pablo Greco 7b2c62
  %{__modsign_install_post}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
### install
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%install
Pablo Greco 05f52f
%if 0%{?rhel} == 7
Pablo Greco 05f52f
source scl_source enable devtoolset-8 || :
Pablo Greco 05f52f
source scl_source enable llvm-toolset-7.0 || :
Pablo Greco 05f52f
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
cd linux-%{KVERREL}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_doc}
Pablo Greco 7b2c62
docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-doc-%{rpmversion}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# copy the source over
Pablo Greco 7b2c62
mkdir -p $docdir
Pablo Greco 7b2c62
tar -h -f - --exclude=man --exclude='.*' -c Documentation | tar xf - -C $docdir
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# with_doc
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# We have to do the headers install before the tools install because the
Pablo Greco 7b2c62
# kernel headers_install will remove any header files in /usr/include that
Pablo Greco 7b2c62
# it doesn't install itself.
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_headers}
Pablo Greco 7b2c62
# Install kernel headers
Pablo Greco 7b2c62
make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install
Pablo Greco 7b2c62
Pablo Greco 7b2c62
find $RPM_BUILD_ROOT/usr/include \
Pablo Greco 7b2c62
     \( -name .install -o -name .check -o \
Pablo Greco 7b2c62
        -name ..install.cmd -o -name ..check.cmd \) -delete
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_cross_headers}
Pablo Greco 7b2c62
%if 0%{?fedora}
Pablo Greco 7b2c62
HDR_ARCH_LIST='arm arm64 powerpc s390 x86'
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
HDR_ARCH_LIST='arm64 powerpc s390 x86'
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
mkdir -p $RPM_BUILD_ROOT/usr/tmp-headers
Pablo Greco 7b2c62
Pablo Greco 7b2c62
for arch in $HDR_ARCH_LIST; do
Pablo Greco 7b2c62
	mkdir $RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch}
Pablo Greco 7b2c62
	make ARCH=${arch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch} headers_install
Pablo Greco 7b2c62
done
Pablo Greco 7b2c62
Pablo Greco 7b2c62
find $RPM_BUILD_ROOT/usr/tmp-headers \
Pablo Greco 7b2c62
     \( -name .install -o -name .check -o \
Pablo Greco 7b2c62
        -name ..install.cmd -o -name ..check.cmd \) -delete
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# Copy all the architectures we care about to their respective asm directories
Pablo Greco 7b2c62
for arch in $HDR_ARCH_LIST ; do
Pablo Greco 7b2c62
	mkdir -p $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include
Pablo Greco 7b2c62
	mv $RPM_BUILD_ROOT/usr/tmp-headers/arch-${arch}/include/* $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/
Pablo Greco 7b2c62
done
Pablo Greco 7b2c62
Pablo Greco 7b2c62
rm -rf $RPM_BUILD_ROOT/usr/tmp-headers
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_kernel_abi_whitelists}
Pablo Greco 7b2c62
# kabi directory
Pablo Greco 7b2c62
INSTALL_KABI_PATH=$RPM_BUILD_ROOT/lib/modules/
Pablo Greco 7b2c62
mkdir -p $INSTALL_KABI_PATH
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# install kabi releases directories
Pablo Greco 7b2c62
tar xjvf %{SOURCE300} -C $INSTALL_KABI_PATH
Pablo Greco 7b2c62
# with_kernel_abi_whitelists
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_perf}
Pablo Greco 7b2c62
# perf tool binary and supporting scripts/binaries
Pablo Greco 7b2c62
%{perf_make} DESTDIR=$RPM_BUILD_ROOT lib=%{_lib} install-bin install-traceevent-plugins
Pablo Greco 7b2c62
# remove the 'trace' symlink.
Pablo Greco 7b2c62
rm -f %{buildroot}%{_bindir}/trace
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# For both of the below, yes, this should be using a macro but right now
Pablo Greco 7b2c62
# it's hard coded and we don't actually want it anyway right now.
Pablo Greco 7b2c62
# Whoever wants examples can fix it up!
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# remove examples
Pablo Greco 7b2c62
rm -rf %{buildroot}/usr/lib/perf/examples
Pablo Greco 7b2c62
# remove the stray files that somehow got packaged
Pablo Greco 7b2c62
rm -rf %{buildroot}/usr/lib/perf/include/bpf/bpf.h
Pablo Greco 7b2c62
rm -rf %{buildroot}/usr/lib/perf/include/bpf/stdio.h
Pablo Greco 7b2c62
rm -rf %{buildroot}/usr/lib/perf/include/bpf/linux/socket.h
Pablo Greco 7b2c62
rm -rf %{buildroot}/usr/lib/perf/include/bpf/pid_filter.h
Pablo Greco 7b2c62
rm -rf %{buildroot}/usr/lib/perf/include/bpf/unistd.h
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# python-perf extension
Pablo Greco 7b2c62
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-python_ext
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# perf man pages (note: implicit rpm magic compresses them later)
Pablo Greco 7b2c62
mkdir -p %{buildroot}/%{_mandir}/man1
Pablo Greco 7b2c62
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-man
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_tools}
Pablo Greco 7b2c62
%ifarch %{cpupowerarchs}
Pablo Greco 7b2c62
%{make} -C tools/power/cpupower DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
Pablo Greco 7b2c62
rm -f %{buildroot}%{_libdir}/*.{a,la}
Pablo Greco 7b2c62
%find_lang cpupower
Pablo Greco 7b2c62
mv cpupower.lang ../
Pablo Greco 7b2c62
%ifarch x86_64
Pablo Greco 7b2c62
    pushd tools/power/cpupower/debug/x86_64
Pablo Greco 7b2c62
    install -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode
Pablo Greco 7b2c62
    install -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode
Pablo Greco 7b2c62
    popd
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
chmod 0755 %{buildroot}%{_libdir}/libcpupower.so*
Pablo Greco 7b2c62
mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig
Pablo Greco 7b2c62
install -m644 %{SOURCE2000} %{buildroot}%{_unitdir}/cpupower.service
Pablo Greco 7b2c62
install -m644 %{SOURCE2001} %{buildroot}%{_sysconfdir}/sysconfig/cpupower
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%ifarch x86_64
Pablo Greco 7b2c62
   mkdir -p %{buildroot}%{_mandir}/man8
Pablo Greco 7b2c62
   pushd tools/power/x86/x86_energy_perf_policy
Pablo Greco 7b2c62
   %{tools_make} DESTDIR=%{buildroot} install
Pablo Greco 7b2c62
   popd
Pablo Greco 7b2c62
   pushd tools/power/x86/turbostat
Pablo Greco 7b2c62
   %{tools_make} DESTDIR=%{buildroot} install
Pablo Greco 7b2c62
   popd
Pablo Greco 7b2c62
   pushd tools/power/x86/intel-speed-select
Pablo Greco 7b2c62
   %{tools_make} CFLAGS+="-D_GNU_SOURCE -Iinclude" DESTDIR=%{buildroot} install
Pablo Greco 7b2c62
   popd
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
pushd tools/thermal/tmon
Pablo Greco 7b2c62
%{tools_make} INSTALL_ROOT=%{buildroot} install
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
pushd tools/iio
Pablo Greco 7b2c62
make DESTDIR=%{buildroot} install
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
pushd tools/gpio
Pablo Greco 7b2c62
make DESTDIR=%{buildroot} install
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
pushd tools/kvm/kvm_stat
Pablo Greco 7b2c62
make INSTALL_ROOT=%{buildroot} install-tools
Pablo Greco 7b2c62
make INSTALL_ROOT=%{buildroot} install-man
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_bpftool}
Pablo Greco 7b2c62
pushd tools/bpf/bpftool
Pablo Greco 7b2c62
%{bpftool_make} prefix=%{_prefix} bash_compdir=%{_sysconfdir}/bash_completion.d/ mandir=%{_mandir} install doc-install
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_selftests}
Pablo Greco 7b2c62
pushd samples
Pablo Greco 7b2c62
install -d %{buildroot}%{_libexecdir}/ksamples
Pablo Greco 7b2c62
# install bpf samples
Pablo Greco 7b2c62
pushd bpf
Pablo Greco 7b2c62
install -d %{buildroot}%{_libexecdir}/ksamples/bpf
Pablo Greco 7b2c62
find -type f -executable -exec install -m755 {} %{buildroot}%{_libexecdir}/ksamples/bpf \;
Pablo Greco 7b2c62
install -m755 *.sh %{buildroot}%{_libexecdir}/ksamples/bpf
Pablo Greco 7b2c62
# test_lwt_bpf.sh compiles test_lwt_bpf.c when run; this works only from the
Pablo Greco 7b2c62
# kernel tree. Just remove it.
Pablo Greco 7b2c62
rm %{buildroot}%{_libexecdir}/ksamples/bpf/test_lwt_bpf.sh
Pablo Greco 7b2c62
install -m644 tcp_bpf.readme %{buildroot}%{_libexecdir}/ksamples/bpf
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
# install pktgen samples
Pablo Greco 7b2c62
pushd pktgen
Pablo Greco 7b2c62
install -d %{buildroot}%{_libexecdir}/ksamples/pktgen
Pablo Greco 7b2c62
find . -type f -executable -exec install -m755 {} %{buildroot}%{_libexecdir}/ksamples/pktgen/{} \;
Pablo Greco 7b2c62
find . -type f ! -executable -exec install -m644 {} %{buildroot}%{_libexecdir}/ksamples/pktgen/{} \;
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
# install drivers/net/mlxsw selftests
Pablo Greco 7b2c62
pushd tools/testing/selftests/drivers/net/mlxsw
Pablo Greco 7b2c62
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \;
Pablo Greco 7b2c62
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \;
Pablo Greco 7b2c62
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/drivers/net/mlxsw/{} \;
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
# install net/forwarding selftests
Pablo Greco 7b2c62
pushd tools/testing/selftests/net/forwarding
Pablo Greco 7b2c62
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \;
Pablo Greco 7b2c62
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \;
Pablo Greco 7b2c62
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/net/forwarding/{} \;
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
# install tc-testing selftests
Pablo Greco 7b2c62
pushd tools/testing/selftests/tc-testing
Pablo Greco 7b2c62
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \;
Pablo Greco 7b2c62
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \;
Pablo Greco 7b2c62
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/tc-testing/{} \;
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
# install livepatch selftests
Pablo Greco 7b2c62
pushd tools/testing/selftests/livepatch
Pablo Greco 7b2c62
find -type d -exec install -d %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \;
Pablo Greco 7b2c62
find -type f -executable -exec install -D -m755 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \;
Pablo Greco 7b2c62
find -type f ! -executable -exec install -D -m644 {} %{buildroot}%{_libexecdir}/kselftests/livepatch/{} \;
Pablo Greco 7b2c62
popd
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# We have to do the headers checksum calculation after the tools install because
Pablo Greco 7b2c62
# these might end up installing their own set of headers on top of kernel's
Pablo Greco 7b2c62
%if %{with_headers}
Pablo Greco 7b2c62
# compute a content hash to export as Provides: kernel-headers-checksum
Pablo Greco 7b2c62
HEADERS_CHKSUM=$(export LC_ALL=C; find $RPM_BUILD_ROOT/usr/include -type f -name "*.h" \
Pablo Greco 7b2c62
			! -path $RPM_BUILD_ROOT/usr/include/linux/version.h | \
Pablo Greco 7b2c62
		 sort | xargs cat | sha1sum - | cut -f 1 -d ' ');
Pablo Greco 7b2c62
# export the checksum via usr/include/linux/version.h, so the dynamic
Pablo Greco 7b2c62
# find-provides can grab the hash to update it accordingly
Pablo Greco 7b2c62
echo "#define KERNEL_HEADERS_CHECKSUM \"$HEADERS_CHKSUM\"" >> $RPM_BUILD_ROOT/usr/include/linux/version.h
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
### clean
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
### scripts
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_tools}
Pablo Greco 7b2c62
%post -n kernel-tools-libs
Pablo Greco 7b2c62
/sbin/ldconfig
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%postun -n kernel-tools-libs
Pablo Greco 7b2c62
/sbin/ldconfig
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro defines a %%post script for a kernel*-devel package.
Pablo Greco 7b2c62
#	%%kernel_devel_post [<subpackage>]
Pablo Greco 7b2c62
# Note we don't run hardlink if ostree is in use, as ostree is
Pablo Greco 7b2c62
# a far more sophisticated hardlink implementation.
Pablo Greco 7b2c62
# https://github.com/projectatomic/rpm-ostree/commit/58a79056a889be8814aa51f507b2c7a4dccee526
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_devel_post() \
Pablo Greco 7b2c62
%{expand:%%post %{?1:%{1}-}devel}\
Pablo Greco 7b2c62
if [ -f /etc/sysconfig/kernel ]\
Pablo Greco 7b2c62
then\
Pablo Greco 7b2c62
    . /etc/sysconfig/kernel || exit $?\
Pablo Greco 7b2c62
fi\
Pablo Greco 7b2c62
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink -a ! -e /run/ostree-booted ] \
Pablo Greco 7b2c62
then\
Pablo Greco 7b2c62
    (cd /usr/src/kernels/%{KVERREL}%{?1:+%{1}} &&\
Pablo Greco 7b2c62
     /usr/bin/find . -type f | while read f; do\
Pablo Greco 7b2c62
       hardlink -c /usr/src/kernels/*%{?dist}.*/$f $f\
Pablo Greco 7b2c62
     done)\
Pablo Greco 7b2c62
fi\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro defines a %%post script for a kernel*-modules-extra package.
Pablo Greco 7b2c62
# It also defines a %%postun script that does the same thing.
Pablo Greco 7b2c62
#	%%kernel_modules_extra_post [<subpackage>]
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_modules_extra_post() \
Pablo Greco 7b2c62
%{expand:%%post %{?1:%{1}-}modules-extra}\
Pablo Greco 7b2c62
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
Pablo Greco 7b2c62
%{nil}\
Pablo Greco 7b2c62
%{expand:%%postun %{?1:%{1}-}modules-extra}\
Pablo Greco 7b2c62
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro defines a %%post script for a kernel*-modules-internal package.
Pablo Greco 7b2c62
# It also defines a %%postun script that does the same thing.
Pablo Greco 7b2c62
#	%%kernel_modules_internal_post [<subpackage>]
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_modules_internal_post() \
Pablo Greco 7b2c62
%{expand:%%post %{?1:%{1}-}modules-internal}\
Pablo Greco 7b2c62
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
Pablo Greco 7b2c62
%{nil}\
Pablo Greco 7b2c62
%{expand:%%postun %{?1:%{1}-}modules-internal}\
Pablo Greco 7b2c62
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro defines a %%post script for a kernel*-modules package.
Pablo Greco 7b2c62
# It also defines a %%postun script that does the same thing.
Pablo Greco 7b2c62
#	%%kernel_modules_post [<subpackage>]
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_modules_post() \
Pablo Greco 7b2c62
%{expand:%%post %{?1:%{1}-}modules}\
Pablo Greco 7b2c62
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
Pablo Greco 7b2c62
%{nil}\
Pablo Greco 7b2c62
%{expand:%%postun %{?1:%{1}-}modules}\
Pablo Greco 7b2c62
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# This macro defines a %%posttrans script for a kernel package.
Pablo Greco 7b2c62
#	%%kernel_variant_posttrans [<subpackage>]
Pablo Greco 7b2c62
# More text can follow to go at the end of this variant's %%post.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_variant_posttrans() \
Pablo Greco 7b2c62
%{expand:%%posttrans %{?1:%{1}-}core}\
Pablo Greco 7b2c62
%if 0%{!?fedora:1}\
Pablo Greco 7b2c62
if [ -x %{_sbindir}/weak-modules ]\
Pablo Greco 7b2c62
then\
Pablo Greco 7b2c62
    %{_sbindir}/weak-modules --add-kernel %{KVERREL}%{?1:+%{1}} || exit $?\
Pablo Greco 7b2c62
fi\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
/bin/kernel-install add %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $?\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro defines a %%post script for a kernel package and its devel package.
Pablo Greco 7b2c62
#	%%kernel_variant_post [-v <subpackage>] [-r <replace>]
Pablo Greco 7b2c62
# More text can follow to go at the end of this variant's %%post.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_variant_post(v:r:) \
Pablo Greco 7b2c62
%{expand:%%kernel_devel_post %{?-v*}}\
Pablo Greco 7b2c62
%{expand:%%kernel_modules_post %{?-v*}}\
Pablo Greco 7b2c62
%{expand:%%kernel_modules_extra_post %{?-v*}}\
Pablo Greco 7b2c62
%{expand:%%kernel_modules_internal_post %{?-v*}}\
Pablo Greco 7b2c62
%{expand:%%kernel_variant_posttrans %{?-v*}}\
Pablo Greco 7b2c62
%{expand:%%post %{?-v*:%{-v*}-}core}\
Pablo Greco 7b2c62
%{-r:\
Pablo Greco 7b2c62
if [ `uname -i` == "x86_64" -o `uname -i` == "i386" ] &&\
Pablo Greco 7b2c62
   [ -f /etc/sysconfig/kernel ]; then\
Pablo Greco 7b2c62
  /bin/sed -r -i -e 's/^DEFAULTKERNEL=%{-r*}$/DEFAULTKERNEL=kernel%{?-v:-%{-v*}}/' /etc/sysconfig/kernel || exit $?\
Pablo Greco 7b2c62
fi}\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro defines a %%preun script for a kernel package.
Pablo Greco 7b2c62
#	%%kernel_variant_preun <subpackage>
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_variant_preun() \
Pablo Greco 7b2c62
%{expand:%%preun %{?1:%{1}-}core}\
Pablo Greco 7b2c62
/bin/kernel-install remove %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $?\
Pablo Greco 7b2c62
%if 0%{!?fedora:1}\
Pablo Greco 7b2c62
if [ -x %{_sbindir}/weak-modules ]\
Pablo Greco 7b2c62
then\
Pablo Greco 7b2c62
    %{_sbindir}/weak-modules --remove-kernel %{KVERREL}%{?1:+%{1}} || exit $?\
Pablo Greco 7b2c62
fi\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%kernel_variant_preun
Pablo Greco 7b2c62
%kernel_variant_post -r kernel-smp
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_pae}
Pablo Greco 7b2c62
%kernel_variant_preun lpae
Pablo Greco 7b2c62
%kernel_variant_post -v lpae -r (kernel|kernel-smp)
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%kernel_variant_preun debug
Pablo Greco 7b2c62
%kernel_variant_post -v debug
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_zfcpdump}
Pablo Greco 7b2c62
%kernel_variant_preun zfcpdump
Pablo Greco 7b2c62
%kernel_variant_post -v zfcpdump
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
if [ -x /sbin/ldconfig ]
Pablo Greco 7b2c62
then
Pablo Greco 7b2c62
    /sbin/ldconfig -X || exit $?
Pablo Greco 7b2c62
fi
Pablo Greco 7b2c62
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
### file lists
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_headers}
Pablo Greco 7b2c62
%files headers
Pablo Greco 7b2c62
/usr/include/*
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_cross_headers}
Pablo Greco 7b2c62
%files cross-headers
Pablo Greco 7b2c62
/usr/*-linux-gnu/include/*
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_kernel_abi_whitelists}
Pablo Greco 7b2c62
%files -n kernel-abi-whitelists
Pablo Greco 7b2c62
/lib/modules/kabi-*
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_kabidw_base}
Pablo Greco 7b2c62
%ifarch x86_64 s390x ppc64 ppc64le aarch64
Pablo Greco 7b2c62
%files kabidw-base
Pablo Greco 7b2c62
%defattr(-,root,root)
Pablo Greco 7b2c62
/kabidw-base/%{_target_cpu}/*
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# only some architecture builds need kernel-doc
Pablo Greco 7b2c62
%if %{with_doc}
Pablo Greco 7b2c62
%files doc
Pablo Greco 7b2c62
%defattr(-,root,root)
Pablo Greco 7b2c62
%{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation/*
Pablo Greco 7b2c62
%dir %{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation
Pablo Greco 7b2c62
%dir %{_datadir}/doc/kernel-doc-%{rpmversion}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_perf}
Pablo Greco 7b2c62
%files -n perf
Pablo Greco 7b2c62
%{_bindir}/perf
Pablo Greco 7b2c62
%{_libdir}/libperf-jvmti.so
Pablo Greco 7b2c62
%dir %{_libdir}/traceevent/plugins
Pablo Greco 7b2c62
%{_libdir}/traceevent/plugins/*
Pablo Greco 7b2c62
%dir %{_libexecdir}/perf-core
Pablo Greco 7b2c62
%{_libexecdir}/perf-core/*
Pablo Greco 7b2c62
%{_datadir}/perf-core/*
Pablo Greco 7b2c62
%{_mandir}/man[1-8]/perf*
Pablo Greco 7b2c62
%{_sysconfdir}/bash_completion.d/perf
Pablo Greco 7b2c62
%doc linux-%{KVERREL}/tools/perf/Documentation/examples.txt
Pablo Greco 7b2c62
%{_docdir}/perf-tip/tips.txt
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%files -n python3-perf
Pablo Greco 7b2c62
%{python3_sitearch}/*
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_debuginfo}
Pablo Greco 7b2c62
%files -f perf-debuginfo.list -n perf-debuginfo
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%files -f python3-perf-debuginfo.list -n python3-perf-debuginfo
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
# with_perf
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_tools}
Pablo Greco 7b2c62
%ifnarch %{cpupowerarchs}
Pablo Greco 7b2c62
%files -n kernel-tools
Pablo Greco 7b2c62
%else
Pablo Greco 7b2c62
%files -n kernel-tools -f cpupower.lang
Pablo Greco 7b2c62
%{_bindir}/cpupower
Pablo Greco 7b2c62
%{_datadir}/bash-completion/completions/cpupower
Pablo Greco 7b2c62
%ifarch x86_64
Pablo Greco 7b2c62
%{_bindir}/centrino-decode
Pablo Greco 7b2c62
%{_bindir}/powernow-k8-decode
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%{_unitdir}/cpupower.service
Pablo Greco 7b2c62
%{_mandir}/man[1-8]/cpupower*
Pablo Greco 7b2c62
%config(noreplace) %{_sysconfdir}/sysconfig/cpupower
Pablo Greco 7b2c62
%ifarch x86_64
Pablo Greco 7b2c62
%{_bindir}/x86_energy_perf_policy
Pablo Greco 7b2c62
%{_mandir}/man8/x86_energy_perf_policy*
Pablo Greco 7b2c62
%{_bindir}/turbostat
Pablo Greco 7b2c62
%{_mandir}/man8/turbostat*
Pablo Greco 7b2c62
%{_bindir}/intel-speed-select
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
# cpupowerarchs
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%{_bindir}/tmon
Pablo Greco 7b2c62
%{_bindir}/iio_event_monitor
Pablo Greco 7b2c62
%{_bindir}/iio_generic_buffer
Pablo Greco 7b2c62
%{_bindir}/lsiio
Pablo Greco 7b2c62
%{_bindir}/lsgpio
Pablo Greco 7b2c62
%{_bindir}/gpio-hammer
Pablo Greco 7b2c62
%{_bindir}/gpio-event-mon
Pablo Greco 418f01
%{_bindir}/gpio-watch
Pablo Greco 7b2c62
%{_mandir}/man1/kvm_stat*
Pablo Greco 7b2c62
%{_bindir}/kvm_stat
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_debuginfo}
Pablo Greco 7b2c62
%files -f kernel-tools-debuginfo.list -n kernel-tools-debuginfo
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%ifarch %{cpupowerarchs}
Pablo Greco 7b2c62
%files -n kernel-tools-libs
Pablo Greco 7b2c62
%{_libdir}/libcpupower.so.0
Pablo Greco 7b2c62
%{_libdir}/libcpupower.so.0.0.1
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%files -n kernel-tools-libs-devel
Pablo Greco 7b2c62
%{_libdir}/libcpupower.so
Pablo Greco 7b2c62
%{_includedir}/cpufreq.h
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
# with_tools
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_bpftool}
Pablo Greco 7b2c62
%files -n bpftool
Pablo Greco 7b2c62
%{_sbindir}/bpftool
Pablo Greco 7b2c62
%{_sysconfdir}/bash_completion.d/bpftool
Pablo Greco 7b2c62
%{_mandir}/man8/bpftool-cgroup.8.gz
Pablo Greco 7b2c62
%{_mandir}/man8/bpftool-gen.8.gz
Justin M. Forbes 6e0d31
%{_mandir}/man8/bpftool-iter.8.gz
Justin M. Forbes 6e0d31
%{_mandir}/man8/bpftool-link.8.gz
Pablo Greco 7b2c62
%{_mandir}/man8/bpftool-map.8.gz
Pablo Greco 7b2c62
%{_mandir}/man8/bpftool-prog.8.gz
Pablo Greco 7b2c62
%{_mandir}/man8/bpftool-perf.8.gz
Pablo Greco 7b2c62
%{_mandir}/man8/bpftool.8.gz
Pablo Greco 7b2c62
%{_mandir}/man7/bpf-helpers.7.gz
Pablo Greco 7b2c62
%{_mandir}/man8/bpftool-net.8.gz
Pablo Greco 7b2c62
%{_mandir}/man8/bpftool-feature.8.gz
Pablo Greco 7b2c62
%{_mandir}/man8/bpftool-btf.8.gz
Pablo Greco 418f01
%{_mandir}/man8/bpftool-struct_ops.8.gz
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_debuginfo}
Pablo Greco 7b2c62
%files -f bpftool-debuginfo.list -n bpftool-debuginfo
Pablo Greco 7b2c62
%defattr(-,root,root)
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_selftests}
Pablo Greco 7b2c62
%files selftests-internal
Pablo Greco 7b2c62
%{_libexecdir}/ksamples
Pablo Greco 7b2c62
%{_libexecdir}/kselftests
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# empty meta-package
Pablo Greco 7b2c62
%ifnarch %nobuildarches noarch
Pablo Greco 7b2c62
%files
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%if %{with_gcov}
Pablo Greco 7b2c62
%ifarch x86_64 s390x ppc64le aarch64
Pablo Greco 7b2c62
%files gcov
Pablo Greco 7b2c62
%{_builddir}
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
%endif
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# This is %%{image_install_path} on an arch where that includes ELF files,
Pablo Greco 7b2c62
# or empty otherwise.
Pablo Greco 7b2c62
%define elf_image_install_path %{?kernel_image_elf:%{image_install_path}}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
# This macro defines the %%files sections for a kernel package
Pablo Greco 7b2c62
# and its devel and debuginfo packages.
Pablo Greco 7b2c62
#	%%kernel_variant_files [-k vmlinux] <condition> <subpackage> <without_modules>
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%define kernel_variant_files(k:) \
Pablo Greco 7b2c62
%if %{2}\
Pablo Greco 7b2c62
%{expand:%%files -f kernel-%{?3:%{3}-}core.list %{?1:-f kernel-%{?3:%{3}-}ldsoconf.list} %{?3:%{3}-}core}\
Pablo Greco 7b2c62
%{!?_licensedir:%global license %%doc}\
Pablo Greco 7b2c62
%license linux-%{KVERREL}/COPYING-%{version}-%{release}\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}\
Pablo Greco 7b2c62
%ghost /%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?3:+%{3}}\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/.vmlinuz.hmac \
Pablo Greco 7b2c62
%ghost /%{image_install_path}/.vmlinuz-%{KVERREL}%{?3:+%{3}}.hmac \
Pablo Greco 7b2c62
%ifarch %{arm} aarch64\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/dtb \
Pablo Greco 7b2c62
%ghost /%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%attr(600,root,root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\
Pablo Greco 7b2c62
%ghost /boot/System.map-%{KVERREL}%{?3:+%{3}}\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/symvers.gz\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/config\
Pablo Greco 05f52f
%if 0%{?rhel} == 7\
Pablo Greco 05f52f
/boot/symvers-%{KVERREL}%{?3:+%{3}}.gz\
Pablo Greco 05f52f
%else\
Pablo Greco 7b2c62
%ghost /boot/symvers-%{KVERREL}%{?3:+%{3}}.gz\
Pablo Greco 05f52f
%endif\
Pablo Greco 7b2c62
%ghost /boot/config-%{KVERREL}%{?3:+%{3}}\
Pablo Greco 7b2c62
%ghost /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\
Pablo Greco 7b2c62
%dir /lib/modules\
Pablo Greco 7b2c62
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}\
Pablo Greco 7b2c62
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/build\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/source\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/updates\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/bls.conf\
Pablo Greco 7b2c62
%if 0%{!?fedora:1}\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/weak-updates\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}/kernel-signing-ca*.cer\
Pablo Greco 7b2c62
%ifarch s390x ppc64le\
Pablo Greco 7b2c62
%if 0%{!?4:1}\
Pablo Greco 7b2c62
%{_datadir}/doc/kernel-keys/%{KVERREL}%{?3:+%{3}}/%{signing_key_filename} \
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%if %{1}\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.*\
Pablo Greco 7b2c62
%{expand:%%files -f kernel-%{?3:%{3}-}modules.list %{?3:%{3}-}modules}\
Pablo Greco 7b2c62
%{expand:%%files %{?3:%{3}-}devel}\
Pablo Greco 7b2c62
%defverify(not mtime)\
Pablo Greco 7b2c62
/usr/src/kernels/%{KVERREL}%{?3:+%{3}}\
Pablo Greco 7b2c62
%{expand:%%files %{?3:%{3}-}modules-extra}\
Pablo Greco 7b2c62
%config(noreplace) /etc/modprobe.d/*-blacklist.conf\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/extra\
Pablo Greco 7b2c62
%{expand:%%files %{?3:%{3}-}modules-internal}\
Pablo Greco 7b2c62
/lib/modules/%{KVERREL}%{?3:+%{3}}/internal\
Pablo Greco 7b2c62
%if %{with_debuginfo}\
Pablo Greco 7b2c62
%ifnarch noarch\
Pablo Greco 7b2c62
%{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%if %{?3:1} %{!?3:0}\
Pablo Greco 7b2c62
%{expand:%%files %{3}}\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%kernel_variant_files %{_use_vdso} %{with_up}
Pablo Greco 7b2c62
%kernel_variant_files %{_use_vdso} %{with_debug} debug
Pablo Greco 7b2c62
%kernel_variant_files %{use_vdso} %{with_pae} lpae
Pablo Greco 7b2c62
%kernel_variant_files %{_use_vdso} %{with_zfcpdump} zfcpdump 1
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%define kernel_variant_ipaclones(k:) \
Pablo Greco 7b2c62
%if %{1}\
Pablo Greco 7b2c62
%if %{with_ipaclones}\
Pablo Greco 7b2c62
%{expand:%%files %{?2:%{2}-}ipaclones-internal}\
Pablo Greco 7b2c62
%defattr(-,root,root)\
Pablo Greco 7b2c62
%defverify(not mtime)\
Pablo Greco 7b2c62
/usr/src/kernels/%{KVERREL}%{?2:+%{2}}-ipaclones\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%endif\
Pablo Greco 7b2c62
%{nil}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
%kernel_variant_ipaclones %{with_up}
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# plz don't put in a version string unless you're going to tag
Pablo Greco 7b2c62
# and build.
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
#
Pablo Greco 7b2c62
%changelog
Pablo Greco 7d3c43
* Sat May  1 2021 Pablo Greco <pgreco@centosproject.org> - 5.10.33-200
Pablo Greco 7d3c43
- Linux v5.10.33
Pablo Greco 7d3c43
- Fix ethernet in armhfp devices
Pablo Greco 7d3c43
Pablo Greco c2a9d1
* Sun Apr 11 2021 Pablo Greco <pgreco@centosproject.org> - 5.10.29-200
Pablo Greco c2a9d1
- Linux v5.10.29
Pablo Greco c2a9d1
- Fixes to build in CentOS 7 and CentOS 8
Pablo Greco c2a9d1
Pablo Greco 7b2c62
* Thu Mar 11 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.23-200
Pablo Greco 7b2c62
- Linux v5.10.23
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue Mar 09 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.22-200
Pablo Greco 7b2c62
- Linux v5.10.22
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sun Mar 07 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.21-200
Pablo Greco 7b2c62
- Linux v5.10.21
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Mar 04 2021 Hans de Goede <hdegoede@redhat.com>
Pablo Greco 7b2c62
- Fix broadwell-rt286 sound (rhbz#1933229)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Mar 04 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.20-200
Pablo Greco 7b2c62
- Linux v5.10.20
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Feb 26 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.19-200
Pablo Greco 7b2c62
- Linux v5.10.19
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Feb 25 2021 Justin M. Forbes <jforbes@fedoraproject.org>
Pablo Greco 7b2c62
- Some i915 fixes for 5.10 (rhbz 1925346)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue Feb 23 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.18-200
Pablo Greco 7b2c62
- Linux v5.10.18
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Feb 18 2021 Hans de Goede <hdegoede@redhat.com>
Pablo Greco 7b2c62
- Fix various QCA bluetooth devices no longer working (rhbz#1916104)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Feb 17 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.17-200
Pablo Greco 7b2c62
- Linux v5.10.17
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sat Feb 13 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.16-200
Pablo Greco 7b2c62
- Linux v5.10.16
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Feb 10 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.15-200
Pablo Greco 7b2c62
- Linux v5.10.15
Pablo Greco 7b2c62
- Fixes CVE-2021-20194 (rhbz 1912683 1926781)
Pablo Greco 7b2c62
- Fixes rhbz 1916674
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sun Feb 07 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.14-200
Pablo Greco 7b2c62
- Linux v5.10.14
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Feb 04 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.13-200
Pablo Greco 7b2c62
- Linux v5.10.13
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Feb 01 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.12-200
Pablo Greco 7b2c62
- Linux v5.10.12
Pablo Greco 7b2c62
Pablo Greco 750710
* Wed Jan 27 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.11-200
Pablo Greco 7b2c62
- Linux v5.10.11
Pablo Greco 7b2c62
- Fix URB buffer allocation of pwc driver (rhbz 1918778)
Pablo Greco 7b2c62
- Fix wacom touchscreens (rhbz 1918486)
Pablo Greco 7b2c62
Pablo Greco 750710
* Sun Jan 24 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.10-200
Pablo Greco 7b2c62
- Linux v5.10.10
Pablo Greco 7b2c62
- Fixes CVE-2021-3178 (rhbz 1918179 1918181)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Jan 20 2021 Peter Robinson <pbrobinson@fedoraproject.org> - 5.10.9-201
Pablo Greco 7b2c62
- Fix for ARMv7 builder pause issue
Pablo Greco 7b2c62
Pablo Greco 750710
* Tue Jan 19 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.9-200
Pablo Greco 7b2c62
- Linux v5.10.9
Pablo Greco 7b2c62
Pablo Greco 750710
* Sun Jan 17 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.8-200
Pablo Greco 7b2c62
- Linux v5.10.8
Pablo Greco 7b2c62
Pablo Greco 750710
* Tue Jan 12 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.7-200
Pablo Greco 7b2c62
- Linux v5.10.7
Pablo Greco 7b2c62
Pablo Greco 750710
* Mon Jan 11 2021 Justin M. Forbes <jforbes@fedoraproject.org> - 5.10.6-200
Pablo Greco 7b2c62
- Linux v5.10.6 rebase
Pablo Greco 7b2c62
- Fix bluetooth controller initialization (rhbz 1898495)
Pablo Greco 7b2c62
- Fix CVE-2020-36158 (rhbz 1913348 1913349)
Pablo Greco 7b2c62
Pablo Greco 750710
* Mon Dec 21 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.9.16-200
Pablo Greco 7b2c62
- Linux v5.9.16
Pablo Greco 7b2c62
Pablo Greco 750710
* Wed Dec 16 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.9.15-200
Pablo Greco 7b2c62
- Linux v5.9.15
Pablo Greco 7b2c62
Pablo Greco 750710
* Fri Dec 11 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.9.14-200
Pablo Greco 7b2c62
- Linux v5.9.14
Pablo Greco 7b2c62
- Fixes CVE-2020-29660 (rhbz 1906522 1906523)
Pablo Greco 7b2c62
- Fixes CVE-2020-29661 (rhbz 1906525 1906526)
Pablo Greco 7b2c62
Pablo Greco 750710
* Tue Dec  8 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.9.13-200
Pablo Greco 7b2c62
- Linux v5.9.13
Pablo Greco 7b2c62
Pablo Greco 750710
* Wed Dec  2 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.9.12-200
Pablo Greco 7b2c62
- Linux v5.9.12
Pablo Greco 7b2c62
Pablo Greco 750710
* Tue Nov 24 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.9.11-200
Pablo Greco 7b2c62
- Linux v5.9.11
Pablo Greco 7b2c62
Pablo Greco 750710
* Mon Nov 23 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.9.10-200
Pablo Greco 7b2c62
- Linux v5.9.10
Pablo Greco 7b2c62
- Fix CVE-2020-28941 (rhbz 1899985 1899986)
Pablo Greco 7b2c62
- Fix CVE-2020-4788 (rhbz 1888433 1900437)
Pablo Greco 7b2c62
Pablo Greco 750710
* Thu Nov 19 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.9.9-200
Pablo Greco 7b2c62
- Linux v5.9.9
Pablo Greco 7b2c62
- Enable NANDSIM (rhbz 1898638)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Nov 12 2020 Justin M. Forbes <jforbes@fedoraproject.org>
Pablo Greco 7b2c62
- Fix bluetooth device disconnect issues. (rhbz 1897038)
Pablo Greco 7b2c62
Pablo Greco 750710
* Tue Nov 10 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.9.8-200
Pablo Greco 7b2c62
- Linux v5.9.8
Pablo Greco 7b2c62
- Fixes CVE-2020-8694 (rhbz 1828580 1896525)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue Nov 10 2020 <jforbes@fedoraproject.org> - 5.9.7-200
Pablo Greco 7b2c62
- Linux v5.9.7 rebase
Pablo Greco 7b2c62
- Fixes CVE-2020-25668 (rhbz 1893287 1893288)
Pablo Greco 7b2c62
- Fixes CVE-2020-27673 (rhbz 1891110 1891112)
Pablo Greco 7b2c62
- Fixes CVE-2020-25704 (rhbz 1895951 1895963)
Pablo Greco 7b2c62
Pablo Greco 750710
* Mon Nov  2 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.18-300
Pablo Greco 7b2c62
- Linux v5.8.18
Pablo Greco 7b2c62
Pablo Greco 750710
* Thu Oct 29 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.17-300
Pablo Greco 7b2c62
- Linux v5.8.17
Pablo Greco 7b2c62
- Fix CVE-2020-27675 (rhbz 1891114 1891115)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Oct 28 2020 Peter Robinson <pbrobinson@fedoraproject.org>
Pablo Greco 7b2c62
- Fixes for AllWinner wired network issues due to Realtek PHY driver change (rhbz 1889090)
Pablo Greco 7b2c62
Pablo Greco 750710
* Mon Oct 19 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.16-300
Pablo Greco 7b2c62
- Linux v5.8.16
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Oct 16 2020 Hans de Goede <hdegoede@redhat.com>
Pablo Greco 7b2c62
- Fix Micrsoft Surface Go series boot regression (rhbz 1886249)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Oct 15 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.15-301
Pablo Greco 7b2c62
- Fix BleedingTooth CVE-2020-12351 CVE-2020-12352 (rhbz 1886521 1888439 1886529 1888440)
Pablo Greco 7b2c62
Pablo Greco 750710
* Wed Oct 14 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.15-300
Pablo Greco 7b2c62
- Linux v5.8.15
Pablo Greco 7b2c62
- Fix CVE-2020-16119 (rhbz 1886374 1888083)
Pablo Greco 7b2c62
Pablo Greco 750710
* Wed Oct  7 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.14-300
Pablo Greco 7b2c62
- Linux v5.8.14
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Oct  7 2020 Peter Robinson <pbrobinson@fedoraproject.org>
Pablo Greco 7b2c62
- Fix aarch64 boot crash on BTI capable systems
Pablo Greco 7b2c62
- Fix boot crash on aarch64 Ampere eMAG systems (rhbz #1874117)
Pablo Greco 7b2c62
Pablo Greco 750710
* Thu Oct  1 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.13-300
Pablo Greco 7b2c62
- Linux v5.8.13
Pablo Greco 7b2c62
Pablo Greco 750710
* Mon Sep 28 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.12-300
Pablo Greco 7b2c62
- Linux v5.8.12
Pablo Greco 7b2c62
Pablo Greco 750710
* Wed Sep 23 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.11-300
Pablo Greco 7b2c62
- Linux v5.8.11
Pablo Greco 7b2c62
- Fix (rhbz 1821946)
Pablo Greco 7b2c62
Pablo Greco 750710
* Thu Sep 17 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.10-300
Pablo Greco 7b2c62
- Linux v5.8.10
Pablo Greco 7b2c62
- Fix (rhbz 1873720 1876997)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Sep 14 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.9-301
Pablo Greco 7b2c62
- Fix error code in bdev_del_part (rhbz 1878858)
Pablo Greco 7b2c62
Pablo Greco 750710
* Mon Sep 14 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.9-300
Pablo Greco 7b2c62
- Linux v5.8.9
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sat Sep 12 2020 Peter Robinson <pbrobinson@fedoraproject.org>
Pablo Greco 7b2c62
- Fix for SDIO speed issue
Pablo Greco 7b2c62
- Fix for certain mSD cards on Raspberry Pi 4
Pablo Greco 7b2c62
- Fix for older brcm sdio WiFi modules
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Sep 10 2020 Justin M. Forbes <jforbes@fedoraproject.org>
Pablo Greco 7b2c62
- Fix CVE-2020-25211 (rhbz 1877571 1877572)
Pablo Greco 7b2c62
Pablo Greco 750710
* Wed Sep  9 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.8-300
Pablo Greco 7b2c62
- Linux v5.8.8
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Sep 07 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.7-300
Pablo Greco 7b2c62
- Linux v5.8.7
Pablo Greco 7b2c62
- Fix CVE-2020-14386 (rhbz 1875699 1876349)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Sep 03 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.6-301
Pablo Greco 7b2c62
- Linux v5.8.6
Pablo Greco 7b2c62
- Fix CVE-2020-14385 (rhbz 1874800 1874811)
Pablo Greco 7b2c62
- Move CONFIG_USB_XHCI_PCI_RENESAS to inline (rhbz 1874300)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Aug 27 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.5-300
Pablo Greco 7b2c62
- Linux v5.8.5
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Aug 26 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.4-300
Pablo Greco 7b2c62
- Linux v5.8.4
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Aug 21 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.3-300
Pablo Greco 7b2c62
- Linux v5.8.3
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Aug 19 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.2-300.rpi1
Pablo Greco 7b2c62
- Linux v5.8.2
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Aug 12 2020 Justin M. Forbes <jforbes@fedoraproject.org> - 5.8.0-1.1
Pablo Greco 7b2c62
- Linux v5.8.1
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Aug 03 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-1]
Pablo Greco 7b2c62
- v5.8 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on ac3a0c847296 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sun Aug 02 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc7.20200802gitac3a0c847296.1]
Pablo Greco 7b2c62
- ac3a0c847296 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 7dc6fd0f3b84 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sat Aug 01 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc7.20200801git7dc6fd0f3b84.1]
Pablo Greco 7b2c62
- 7dc6fd0f3b84 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 417385c47ef7 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Jul 31 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc7.20200731git417385c47ef7.1]
Pablo Greco 7b2c62
- 417385c47ef7 rebase
Pablo Greco 7b2c62
- Add new certs for dual signing with boothole ("Justin M. Forbes")
Pablo Greco 7b2c62
- Update secureboot signing for dual keys ("Justin M. Forbes")
Pablo Greco 7b2c62
- Updated changelog for the release based on d3590ebf6f91 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Jul 30 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc7.20200730gitd3590ebf6f91.1]
Pablo Greco 7b2c62
- d3590ebf6f91 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 6ba1b005ffc3 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Jul 29 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc7.20200729git6ba1b005ffc3.1]
Pablo Greco 7b2c62
- 6ba1b005ffc3 rebase
Pablo Greco 7b2c62
- Revert "dt-bindings: Add doc for Pine64 Pinebook Pro" (Peter Robinson)
Pablo Greco 7b2c62
- fedora: enable LEDS_SGM3140 for arm configs (Peter Robinson)
Pablo Greco 7b2c62
- Updated changelog for the release based on v5.8-rc7 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Jul 27 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc7.1]
Pablo Greco 7b2c62
- v5.8-rc7 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 04300d66f0a0 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sun Jul 26 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc6.20200726git04300d66f0a0.1]
Pablo Greco 7b2c62
- 04300d66f0a0 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 23ee3e4e5bd2 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sat Jul 25 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc6.20200725git23ee3e4e5bd2.1]
Pablo Greco 7b2c62
- 23ee3e4e5bd2 rebase
Pablo Greco 7b2c62
- Enable CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG ("Justin M. Forbes")
Pablo Greco 7b2c62
- Updated changelog for the release based on f37e99aca03f (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Jul 24 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc6.20200724gitf37e99aca03f.1]
Pablo Greco 7b2c62
- f37e99aca03f rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on d15be546031c (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Jul 23 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc6.20200723gitd15be546031c.1]
Pablo Greco 7b2c62
- d15be546031c rebase
Pablo Greco 7b2c62
- fedora: arm: Update some meson config options (Peter Robinson)
Pablo Greco 7b2c62
- Updated changelog for the release based on 4fa640dc5230 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue Jul 21 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc6.20200721git4fa640dc5230.1]
Pablo Greco 7b2c62
- 4fa640dc5230 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 5714ee50bb43 (Fedora Kernel Team)
Pablo Greco 7b2c62
- redhat/docs: Add Fedora RPM tagging date (Prarit Bhargava)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Jul 20 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc6.20200720git5714ee50bb43.1]
Pablo Greco 7b2c62
- 5714ee50bb43 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on f932d58abc38 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sun Jul 19 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc5.20200719gitf932d58abc38.1]
Pablo Greco 7b2c62
- f932d58abc38 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 6a70f89cc58f (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sat Jul 18 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc5.20200718git6a70f89cc58f.1]
Pablo Greco 7b2c62
- 6a70f89cc58f rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 07a56bb875af (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Jul 17 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc5.20200717git07a56bb875af.1]
Pablo Greco 7b2c62
- 07a56bb875af rebase
Pablo Greco 7b2c62
- redhat/configs: Fix common CONFIGs (Prarit Bhargava)
Pablo Greco 7b2c62
- redhat/configs: General CONFIG cleanups (Prarit Bhargava)
Pablo Greco 7b2c62
- redhat/configs: Update & generalize evaluate_configs (Prarit Bhargava)
Pablo Greco 7b2c62
- arch/x86: Remove vendor specific CPU ID checks (Prarit Bhargava)
Pablo Greco 7b2c62
- Updated changelog for the release based on e9919e11e219 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Jul 15 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc5.20200715gite9919e11e219.1]
Pablo Greco 7b2c62
- e9919e11e219 rebase
Pablo Greco 7b2c62
- arm64: dts: sun50i-a64-pinephone: Add touchscreen support (Ondrej Jirman)
Pablo Greco 7b2c62
- arm64: dts: sun50i-a64-pinephone: Enable LCD support on PinePhone (Icenowy Zheng)
Pablo Greco 7b2c62
- drm/panel: st7703: Assert reset prior to powering down the regulators (Ondrej Jirman)
Pablo Greco 7b2c62
- drm/panel: st7703: Enter sleep after display off (Ondrej Jirman)
Pablo Greco 7b2c62
- drm/panel: st7703: Add support for Xingbangda XBD599 (Ondrej Jirman)
Pablo Greco 7b2c62
- drm/panel: st7703: Move generic part of init sequence to enable callback (Ondrej Jirman)
Pablo Greco 7b2c62
- drm/panel: st7703: Move code specific to jh057n closer together (Ondrej Jirman)
Pablo Greco 7b2c62
- drm/panel: st7703: Prepare for supporting multiple panels (Ondrej Jirman)
Pablo Greco 7b2c62
- drm/panel: st7703: Rename functions from jh057n prefix to st7703 (Ondrej Jirman)
Pablo Greco 7b2c62
- drm/panel: rocktech-jh057n00900: Rename the driver to st7703 (Ondrej Jirman)
Pablo Greco 7b2c62
- dt-bindings: panel: Add compatible for Xingbangda XBD599 panel (Ondrej Jirman)
Pablo Greco 7b2c62
- dt-bindings: panel: Convert rocktech, jh057n00900 to yaml (Ondrej Jirman)
Pablo Greco 7b2c62
- dt-bindings: vendor-prefixes: Add Xingbangda (Icenowy Zheng)
Pablo Greco 7b2c62
- Revert "arm64: allwinner: dts: a64: add LCD-related device nodes for PinePhone" (Peter Robinson)
Pablo Greco 7b2c62
- Revert "drm/sun4i: sun6i_mipi_dsi: fix horizontal timing calculation" (Peter Robinson)
Pablo Greco 7b2c62
- Revert "drm: panel: add Xingbangda XBD599 panel" (Peter Robinson)
Pablo Greco 7b2c62
- Revert "dt-bindings: panel: add binding for Xingbangda XBD599 panel" (Peter Robinson)
Pablo Greco 7b2c62
- selinux: allow reading labels before policy is loaded (Jonathan Lebon)
Pablo Greco 7b2c62
- Fixes "acpi: prefer booting with ACPI over DTS" to be RHEL only (Peter Robinson)
Pablo Greco 7b2c62
- Update config for renamed panel driver. (Peter Robinson)
Pablo Greco 7b2c62
- Enable SERIAL_SC16IS7XX for SPI interfaces (Peter Robinson)
Pablo Greco 7b2c62
- Updated changelog for the release based on dcde237b9b0e (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Jul 08 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc4.20200708gitdcde237b9b0e.1]
Pablo Greco 7b2c62
- dcde237b9b0e rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on v5.8-rc4 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Jul 06 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc4.1]
Pablo Greco 7b2c62
- v5.8-rc4 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on cd77006e01b3 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Jul 02 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc3.20200702gitcd77006e01b3.1]
Pablo Greco 7b2c62
- cd77006e01b3 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on v5.8-rc3 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Jun 29 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc3.1]
Pablo Greco 7b2c62
- v5.8-rc3 rebase
Pablo Greco 7b2c62
- s390x-zfcpdump: Handle missing Module.symvers file (Don Zickus)
Pablo Greco 7b2c62
- Updated changelog for the release based on 8be3a53e18e0 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Jun 25 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc2.20200625git8be3a53e18e0.1]
Pablo Greco 7b2c62
- 8be3a53e18e0 rebase
Pablo Greco 7b2c62
- redhat: Replace hardware.redhat.com link in Unsupported message (Prarit Bhargava)
Pablo Greco 7b2c62
- redhat/configs: Add .tmp files to .gitignore (Prarit Bhargava)
Pablo Greco 7b2c62
- disable uncommon TCP congestion control algorithms (Davide Caratti)
Pablo Greco 7b2c62
- Updated changelog for the release based on dd0d718152e4 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue Jun 23 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc2.20200623gitdd0d718152e4.1]
Pablo Greco 7b2c62
- dd0d718152e4 rebase
Pablo Greco 7b2c62
- Add new bpf man pages ("Justin M. Forbes")
Pablo Greco 7b2c62
- Add default option for CONFIG_ARM64_BTI_KERNEL to pending-common so that eln kernels build ("Justin M. Forbes")
Pablo Greco 7b2c62
- Updated changelog for the release based on 625d3449788f (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Jun 22 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc2.20200622git625d3449788f.1]
Pablo Greco 7b2c62
- 625d3449788f rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 1b5044021070 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Jun 18 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc1.20200618git1b5044021070.1]
Pablo Greco 7b2c62
- 1b5044021070 rebase
Pablo Greco 7b2c62
- redhat/Makefile: Add fedora-configs and rh-configs make targets (Prarit Bhargava)
Pablo Greco 7b2c62
- Updated changelog for the release based on 69119673bd50 (Fedora Kernel Team)
Pablo Greco 7b2c62
- redhat/configs: Use SHA512 for module signing (Prarit Bhargava)
Pablo Greco 7b2c62
- genspec.sh: 'touch' empty Patchlist file for single tarball (Don Zickus)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Jun 17 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc1.20200617git69119673bd50.1]
Pablo Greco 7b2c62
- 69119673bd50 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on a5dc8300df75 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue Jun 16 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc1.20200616gita5dc8300df75.1]
Pablo Greco 7b2c62
- a5dc8300df75 rebase
Pablo Greco 7b2c62
- Fedora config update for rc1 ("Justin M. Forbes")
Pablo Greco 7b2c62
- Updated changelog for the release based on v5.8-rc1 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sun Jun 14 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc1.1]
Pablo Greco 7b2c62
- v5.8-rc1 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on df2fbf5bfa0e (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sat Jun 13 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc0.20200613gitdf2fbf5bfa0e.1]
Pablo Greco 7b2c62
- df2fbf5bfa0e rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on b791d1bdf921 (Fedora Kernel Team)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Jun 12 2020 Fedora Kernel Team <kernel-team@fedoraproject.org> [5.8.0-0.rc0.20200612gitb791d1bdf921.1]
Pablo Greco 7b2c62
- b791d1bdf921 rebase
Pablo Greco 7b2c62
- PCI: tegra: Revert raw_violation_fixup for tegra124 (Nicolas Chauvet)
Pablo Greco 7b2c62
- One more Fedora config update ("Justin M. Forbes")
Pablo Greco 7b2c62
- Change ark CONFIG_COMMON_CLK to yes, it is selected already by other options ("Justin M. Forbes")
Pablo Greco 7b2c62
- Fix PATCHLEVEL for merge window ("Justin M. Forbes")
Pablo Greco 7b2c62
- More module filtering for Fedora ("Justin M. Forbes")
Pablo Greco 7b2c62
- Update filters for rnbd in Fedora ("Justin M. Forbes")
Pablo Greco 7b2c62
- redhat/Makefile.common: fix RPMKSUBLEVEL condition (Ondrej Mosnacek)
Pablo Greco 7b2c62
- redhat/Makefile: silence KABI tar output (Ondrej Mosnacek)
Pablo Greco 7b2c62
- Fix up module filtering for 5.8 ("Justin M. Forbes")
Pablo Greco 7b2c62
- More Fedora config work ("Justin M. Forbes")
Pablo Greco 7b2c62
- RTW88BE and CE have been extracted to their own modules ("Justin M. Forbes")
Pablo Greco 7b2c62
- Set CONFIG_BLK_INLINE_ENCRYPTION_FALLBACK for Fedora ("Justin M. Forbes")
Pablo Greco 7b2c62
- Arm64 Use Branch Target Identification for kernel ("Justin M. Forbes")
Pablo Greco 7b2c62
- Fedora config updates ("Justin M. Forbes")
Pablo Greco 7b2c62
- Change value of CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE ("Justin M. Forbes")
Pablo Greco 7b2c62
- Fix configs for Fedora ("Justin M. Forbes")
Pablo Greco 7b2c62
- Fix update_scripts.sh unselective pattern sub (David Howells)
Pablo Greco 7b2c62
- Updated changelog for the release based on b0c3ba31be3e ("CKI@GitLab")
Pablo Greco 7b2c62
- Drop the static path configuration for the Sphinx docs (Jeremy Cline)
Pablo Greco 7b2c62
- Sign off generated configuration patches (Jeremy Cline)
Pablo Greco 7b2c62
- Use __make macro instead of make (Tom Stellard)
Pablo Greco 7b2c62
- redhat/configs: Enable CONFIG_SMC91X and disable CONFIG_SMC911X (Prarit Bhargava) [http://bugzilla.redhat.com/1722136]
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu May 28 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc7.20200528gitb0c3ba31be3e.1]
Pablo Greco 7b2c62
- b0c3ba31be3e rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 444fc5cde643 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed May 27 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc7.20200527git444fc5cde643.1]
Pablo Greco 7b2c62
- 444fc5cde643 rebase
Pablo Greco 7b2c62
- platform/x86: sony-laptop: SNC calls should handle BUFFER types (Mattia Dongili)
Pablo Greco 7b2c62
- virt: vbox: Log unknown ioctl requests as error (Hans de Goede)
Pablo Greco 7b2c62
- virt: vbox: Add a few new vmmdev request types to the userspace whitelist (Hans de Goede)
Pablo Greco 7b2c62
- virt: vbox: Add support for the new VBG_IOCTL_ACQUIRE_GUEST_CAPABILITIES ioctl (Hans de Goede)
Pablo Greco 7b2c62
- virt: vbox: Add vbg_set_host_capabilities() helper function (Hans de Goede)
Pablo Greco 7b2c62
- virt: vbox: Rename guest_caps struct members to set_guest_caps (Hans de Goede)
Pablo Greco 7b2c62
- virt: vbox: Fix guest capabilities mask check (Hans de Goede)
Pablo Greco 7b2c62
- virt: vbox: Fix VBGL_IOCTL_VMMDEV_REQUEST_BIG and _LOG req numbers to match upstream (Hans de Goede)
Pablo Greco 7b2c62
- kms/nv50-: Share DP SST mode_valid() handling with MST (Lyude Paul)
Pablo Greco 7b2c62
- kms/nv50-: Move 8BPC limit for MST into nv50_mstc_get_modes() (Lyude Paul)
Pablo Greco 7b2c62
- kms/gv100-: Add support for interlaced modes (Lyude Paul)
Pablo Greco 7b2c62
- kms/nv50-: Probe SOR and PIOR caps for DP interlacing support (Lyude Paul)
Pablo Greco 7b2c62
- kms/nv50-: Initialize core channel in nouveau_display_create() (Lyude Paul)
Pablo Greco 7b2c62
- disp/hda/gv100-: NV_PDISP_SF_AUDIO_CNTRL0 register moved (Ben Skeggs)
Pablo Greco 7b2c62
- disp/hda/gf119-: select HDA device entry based on bound head (Ben Skeggs)
Pablo Greco 7b2c62
- disp/hda/gf119-: add HAL for programming device entry in SF (Ben Skeggs)
Pablo Greco 7b2c62
- disp/hda/gt215-: pass head to nvkm_ior.hda.eld() (Ben Skeggs)
Pablo Greco 7b2c62
- disp/nv50-: increase timeout on pio channel free() polling (Ben Skeggs)
Pablo Greco 7b2c62
- kms: Fix regression by audio component transition (Takashi Iwai)
Pablo Greco 7b2c62
- device: use regular PRI accessors in chipset detection (Ben Skeggs)
Pablo Greco 7b2c62
- device: detect vGPUs (Karol Herbst)
Pablo Greco 7b2c62
- device: detect if changing endianness failed (Karol Herbst)
Pablo Greco 7b2c62
- device: rework mmio mapping code to get rid of second map (Karol Herbst)
Pablo Greco 7b2c62
- mmu: Remove unneeded semicolon (Zheng Bin)
Pablo Greco 7b2c62
- drm: Use generic helper to check _PR3 presence (Kai-Heng Feng)
Pablo Greco 7b2c62
- acr: Use kmemdup instead of kmalloc and memcpy (Zou Wei)
Pablo Greco 7b2c62
- core/memory: remove redundant assignments to variable ret (Colin Ian King)
Pablo Greco 7b2c62
- disp/gv100-: expose capabilities class (Ben Skeggs)
Pablo Greco 7b2c62
- Remove typoed config file aarch64CONFIG_SM_GCC_8150 ("Justin M. Forbes")
Pablo Greco 7b2c62
- Updated changelog for the release based on v5.7-rc7 ("CKI@GitLab")
Pablo Greco 7b2c62
- redhat: Add dummy-module kernel module (Prarit Bhargava)
Pablo Greco 7b2c62
- redhat: enable CONFIG_LWTUNNEL_BPF (Jiri Benc)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon May 25 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc7.1]
Pablo Greco 7b2c62
- v5.7-rc7 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on caffb99b6929 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sun May 24 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc6.20200524gitcaffb99b6929.1]
Pablo Greco 7b2c62
- caffb99b6929 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 444565650a5f ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sat May 23 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc6.20200523git444565650a5f.1]
Pablo Greco 7b2c62
- 444565650a5f rebase
Pablo Greco 7b2c62
- x86: Fix compile issues with rh_check_supported() (Don Zickus)
Pablo Greco 7b2c62
- redhat/Makefile: Fix RHEL8 python warning (Prarit Bhargava)
Pablo Greco 7b2c62
- kernel.spec: fix 'make scripts' for kernel-devel package (Brian Masney)
Pablo Greco 7b2c62
- Makefile: correct help text for dist-cross-<arch>-rpms (Brian Masney)
Pablo Greco 7b2c62
- Add Documentation back to kernel-devel as it has Kconfig now ("Justin M. Forbes")
Pablo Greco 7b2c62
- Updated changelog for the release based on 642b151f45dd ("CKI@GitLab")
Pablo Greco 7b2c62
- redhat: Change Makefile target names to dist- (Prarit Bhargava)
Pablo Greco 7b2c62
- configs: Disable Serial IR driver (Prarit Bhargava)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue May 19 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc6.20200519git642b151f45dd.1]
Pablo Greco 7b2c62
- 642b151f45dd rebase
Pablo Greco 7b2c62
- pwm: lpss: Fix get_state runtime-pm reference handling (Hans de Goede)
Pablo Greco 7b2c62
- Updated changelog for the release based on v5.7-rc6 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon May 18 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc6.1]
Pablo Greco 7b2c62
- v5.7-rc6 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 3d1c1e5931ce ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sun May 17 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc5.20200517git3d1c1e5931ce.1]
Pablo Greco 7b2c62
- 3d1c1e5931ce rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 12bf0b632ed0 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sat May 16 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc5.20200516git12bf0b632ed0.1]
Pablo Greco 7b2c62
- 12bf0b632ed0 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 1ae7efb38854 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri May 15 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc5.20200515git1ae7efb38854.1]
Pablo Greco 7b2c62
- 1ae7efb38854 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 24085f70a6e1 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed May 13 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc5.20200513git24085f70a6e1.1]
Pablo Greco 7b2c62
- 24085f70a6e1 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 152036d1379f ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue May 12 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc5.20200512git152036d1379f.1]
Pablo Greco 7b2c62
- 152036d1379f rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on v5.7-rc5 ("CKI@GitLab")
Pablo Greco 7b2c62
- Fix "multiple files for package kernel-tools" (Pablo Greco)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon May 11 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc5.1]
Pablo Greco 7b2c62
- v5.7-rc5 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on e99332e7b4cd ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sun May 10 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc4.20200510gite99332e7b4cd.1]
Pablo Greco 7b2c62
- e99332e7b4cd rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on d5eeab8d7e26 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sat May 09 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc4.20200509gitd5eeab8d7e26.1]
Pablo Greco 7b2c62
- d5eeab8d7e26 rebase
Pablo Greco 7b2c62
- Add zero-commit to format-patch options ("Justin M. Forbes")
Pablo Greco 7b2c62
- Updated changelog for the release based on 79dede78c057 ("CKI@GitLab")
Pablo Greco 7b2c62
- Introduce a Sphinx documentation project (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri May 08 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc4.20200508git79dede78c057.1]
Pablo Greco 7b2c62
- 79dede78c057 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on a811c1fa0a02 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu May 07 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc4.20200507gita811c1fa0a02.1]
Pablo Greco 7b2c62
- a811c1fa0a02 rebase
Pablo Greco 7b2c62
- perf cs-etm: Move defined of traceid_list (Leo Yan)
Pablo Greco 7b2c62
- Updated changelog for the release based on dc56c5acd850 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed May 06 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc4.20200506gitdc56c5acd850.1]
Pablo Greco 7b2c62
- dc56c5acd850 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 47cf1b422e60 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue May 05 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc4.20200505git47cf1b422e60.1]
Pablo Greco 7b2c62
- 47cf1b422e60 rebase
Pablo Greco 7b2c62
- Build ARK against ELN (Don Zickus)
Pablo Greco 7b2c62
- Updated changelog for the release based on v5.7-rc4 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon May 04 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc4.1]
Pablo Greco 7b2c62
- v5.7-rc4 rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on f66ed1ebbfde ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sun May 03 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc3.20200503gitf66ed1ebbfde.1]
Pablo Greco 7b2c62
- f66ed1ebbfde rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 690e2aba7beb ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Sat May 02 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc3.20200502git690e2aba7beb.1]
Pablo Greco 7b2c62
- 690e2aba7beb rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on c45e8bccecaf ("CKI@GitLab")
Pablo Greco 7b2c62
- Drop the requirement to have a remote called linus (Jeremy Cline)
Pablo Greco 7b2c62
- Rename 'internal' branch to 'os-build' (Don Zickus)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri May 01 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc3.20200501gitc45e8bccecaf.1]
Pablo Greco 7b2c62
- c45e8bccecaf rebase
Pablo Greco 7b2c62
- Updated changelog for the release based on 1d2cc5ac6f66 ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Apr 29 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc3.20200429git1d2cc5ac6f66.1]
Pablo Greco 7b2c62
- 1d2cc5ac6f66 rebase
Pablo Greco 7b2c62
- Add cec to the filter overrides ("Justin M. Forbes")
Pablo Greco 7b2c62
- Add overrides to filter-modules.sh ("Justin M. Forbes")
Pablo Greco 7b2c62
- Copy Makefile.rhelver as a source file rather than a patch (Jeremy Cline)
Pablo Greco 7b2c62
- Move the sed to clear the patch templating outside of conditionals ("Justin M. Forbes")
Pablo Greco 7b2c62
- Only include open merge requests with "Include in Releases" label (Jeremy Cline)
Pablo Greco 7b2c62
- Exit non-zero if the tag already exists for a release (Jeremy Cline)
Pablo Greco 7b2c62
- Adjust the changelog update script to not push anything (Jeremy Cline)
Pablo Greco 7b2c62
- Drop --target noarch from the rh-rpms make target (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Apr 24 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc2.20200424gitb4f633221f0a.1]
Pablo Greco 7b2c62
- b4f633221f0a rebase
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Apr 23 2020 CKI@GitLab <cki-project@redhat.com> [5.7.0-0.rc2.20200423git7adc4b399952.1]
Pablo Greco 7b2c62
- 7adc4b399952 rebase
Pablo Greco 7b2c62
- Match template format in kernel.spec.template ("Justin M. Forbes")
Pablo Greco 7b2c62
- Break out the Patches into individual files for dist-git ("Justin M. Forbes")
Pablo Greco 7b2c62
- Break the Red Hat patch into individual commits (Jeremy Cline)
Pablo Greco 7b2c62
- Adjust module filtering so CONFIG_DRM_DP_CEC can be set (Jeremy Cline)
Pablo Greco 7b2c62
- Add a script to generate release tags and branches (Jeremy Cline)
Pablo Greco 7b2c62
- Set CONFIG_VDPA for fedora ("Justin M. Forbes")
Pablo Greco 7b2c62
- Provide defaults in ark-rebase-patches.sh (Jeremy Cline)
Pablo Greco 7b2c62
- Default ark-rebase-patches.sh to not report issues (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Apr 20 2020 Jeremy Cline <jcline@redhat.com> [5.7.0-0.rc2.2]
Pablo Greco 7b2c62
- Package gpio-watch in kernel-tools (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Apr 20 2020 Jeremy Cline <jcline@redhat.com> [5.7.0-0.rc2.1]
Pablo Greco 7b2c62
- v5.7-rc2 rebase
Pablo Greco 7b2c62
- Add a README to the dist-git repository (Jeremy Cline)
Pablo Greco 7b2c62
- Copy distro files rather than moving them (Jeremy Cline)
Pablo Greco 7b2c62
- Drop DIST from release commits and tags (Jeremy Cline)
Pablo Greco 7b2c62
- Place the buildid before the dist in the release (Jeremy Cline)
Pablo Greco 7b2c62
- Sync up with Fedora arm configuration prior to merging (Jeremy Cline)
Pablo Greco 7b2c62
- Disable CONFIG_PROTECTED_VIRTUALIZATION_GUEST for zfcpdump (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue Apr 14 2020 Jeremy Cline <jcline@redhat.com> [5.7.0-0.rc1.3.fc33]
Pablo Greco 7b2c62
- Include bpftool-struct_ops man page in the bpftool package (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Apr 13 2020 Jeremy Cline <jcline@redhat.com> [5.7.0-0.rc1.2.fc33]
Pablo Greco 7b2c62
- Add sharedbuffer_configuration.py to the pathfix.py script (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Apr 13 2020 Jeremy Cline <jcline@redhat.com> [5.7.0-0.rc1.1.fc33]
Pablo Greco 7b2c62
- v5.7-rc1 rebase
Pablo Greco 7b2c62
- tty/sysrq: Export sysrq_mask() (Dmitry Safonov)
Pablo Greco 7b2c62
- e1000e: bump up timeout to wait when ME un-configure ULP mode (Aaron Ma)
Pablo Greco 7b2c62
- Drop RH_FEDORA in favor of the now-merged RHEL_DIFFERENCES (Jeremy Cline)
Pablo Greco 7b2c62
- Sync up Fedora configs from the first week of the merge window (Jeremy Cline)
Pablo Greco 7b2c62
- Add a script to test if all commits are signed off (Jeremy Cline)
Pablo Greco 7b2c62
- Fix a painfully obvious YAML syntax error in .gitlab-ci.yml (Jeremy Cline)
Pablo Greco 7b2c62
- Migrate blacklisting floppy.ko to mod-blacklist.sh (Don Zickus)
Pablo Greco 7b2c62
- kernel packaging: Combine mod-blacklist.sh and mod-extra-blacklist.sh (Don Zickus)
Pablo Greco 7b2c62
- kernel packaging: Fix extra namespace collision (Don Zickus)
Pablo Greco 7b2c62
- mod-extra.sh: Rename to mod-blacklist.sh (Don Zickus)
Pablo Greco 7b2c62
- mod-extra.sh: Make file generic (Don Zickus)
Pablo Greco 7b2c62
- Fix make rh-configs-arch (Don Zickus)
Pablo Greco 7b2c62
- Add in armv7hl kernel header support (Don Zickus)
Pablo Greco 7b2c62
- Disable all BuildKernel commands when only building headers (Don Zickus)
Pablo Greco 7b2c62
- Add RHMAINTAINERS file and supporting conf (Don Zickus)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Mar 30 2020 Jeremy Cline <jcline@redhat.com> [5.6.0-0.rc7.1.elrdy]
Pablo Greco 7b2c62
- v5.6-rc7 rebase
Pablo Greco 7b2c62
- Drop any gitlab-ci patches from ark-patches (Jeremy Cline)
Pablo Greco 7b2c62
- Build the srpm for internal branch CI using the vanilla tree (Jeremy Cline)
Pablo Greco 7b2c62
- arm64: allwinner: dts: a64: add LCD-related device nodes for PinePhone (Icenowy Zheng)
Pablo Greco 7b2c62
- drm/sun4i: sun6i_mipi_dsi: fix horizontal timing calculation (Icenowy Zheng)
Pablo Greco 7b2c62
- drm: panel: add Xingbangda XBD599 panel (Icenowy Zheng)
Pablo Greco 7b2c62
- dt-bindings: panel: add binding for Xingbangda XBD599 panel (Icenowy Zheng)
Pablo Greco 7b2c62
- Pull in the latest ARM configurations for Fedora (Jeremy Cline)
Pablo Greco 7b2c62
- USB: pci-quirks: Add Raspberry Pi 4 quirk (Nicolas Saenz Julienne)
Pablo Greco 7b2c62
- PCI: brcmstb: Wait for Raspberry Pi's firmware when present (Nicolas Saenz Julienne)
Pablo Greco 7b2c62
- firmware: raspberrypi: Introduce vl805 init routine (Nicolas Saenz Julienne)
Pablo Greco 7b2c62
- soc: bcm2835: Sync xHCI reset firmware property with downstream (Nicolas Saenz Julienne)
Pablo Greco 7b2c62
- drm/i915: Force DPCD backlight mode for some Dell CML 2020 panels (Lyude Paul)
Pablo Greco 7b2c62
- drm/i915: Force DPCD backlight mode on X1 Extreme 2nd Gen 4K AMOLED panel (Lyude Paul)
Pablo Greco 7b2c62
- drm/dp: Introduce EDID-based quirks (Lyude Paul)
Pablo Greco 7b2c62
- drm/i915: Auto detect DPCD backlight support by default (Lyude Paul)
Pablo Greco 7b2c62
- drm/i915: Fix DPCD register order in intel_dp_aux_enable_backlight() (Lyude Paul)
Pablo Greco 7b2c62
- drm/i915: Assume 100 brightness when not in DPCD control mode (Lyude Paul)
Pablo Greco 7b2c62
- drm/i915: Fix eDP DPCD aux max backlight calculations (Lyude Paul)
Pablo Greco 7b2c62
- drm/dp_mst: Fix drm_dp_check_mstb_guid() return code (Lyude Paul)
Pablo Greco 7b2c62
- drm/dp_mst: Make drm_dp_mst_dpcd_write() consistent with drm_dp_dpcd_write() (Lyude Paul)
Pablo Greco 7b2c62
- drm/dp_mst: Fix W=1 warnings (Benjamin Gaignard)
Pablo Greco 7b2c62
- ARM: fix __get_user_check() in case uaccess_* calls are not inlined (Masahiro Yamada)
Pablo Greco 7b2c62
- mm/kmemleak: skip late_init if not skip disable (Murphy Zhou)
Pablo Greco 7b2c62
- KEYS: Make use of platform keyring for module signature verify (Robert Holmes)
Pablo Greco 7b2c62
- Drop that for now (Laura Abbott)
Pablo Greco 7b2c62
- Input: rmi4 - remove the need for artificial IRQ in case of HID (Benjamin Tissoires)
Pablo Greco 7b2c62
- arm64: dts: rockchip: Add initial support for Pinebook Pro (Tobias Schramm)
Pablo Greco 7b2c62
- dt-bindings: Add doc for Pine64 Pinebook Pro (Emmanuel Vadot)
Pablo Greco 7b2c62
- arm64: dts: allwinner: Add initial support for Pine64 PinePhone (Ondrej Jirman)
Pablo Greco 7b2c62
- dt-bindings: arm: sunxi: Add PinePhone 1.0 and 1.1 bindings (Ondrej Jirman)
Pablo Greco 7b2c62
- arm64: dts: sun50i-a64: Add i2c2 pins (Ondrej Jirman)
Pablo Greco 7b2c62
- arm64: dts: allwinner: a64: add support for PineTab (Icenowy Zheng)
Pablo Greco 7b2c62
- dt-bindings: arm: sunxi: add binding for PineTab tablet (Icenowy Zheng)
Pablo Greco 7b2c62
- arm64: allwinner: a64: enable LCD-related hardware for Pinebook (Icenowy Zheng)
Pablo Greco 7b2c62
- drm/panel: simple: Add NewEast Optoelectronics CO., LTD WJFH116008A panel support (Vasily Khoruzhick)
Pablo Greco 7b2c62
- dt-bindings: display: simple: Add NewEast Optoelectronics WJFH116008A compatible (Vasily Khoruzhick)
Pablo Greco 7b2c62
- dt-bindings: Add Guangdong Neweast Optoelectronics CO. LTD vendor prefix (Vasily Khoruzhick)
Pablo Greco 7b2c62
- drm/bridge: anx6345: don't print error message if regulator is not ready (Vasily Khoruzhick)
Pablo Greco 7b2c62
- drm/bridge: anx6345: Fix getting anx6345 regulators (Samuel Holland)
Pablo Greco 7b2c62
- arm64: dts: allwinner: a64: Add MBUS controller node (Jernej Skrabec)
Pablo Greco 7b2c62
- dt-bindings: interconnect: sunxi: Add A64 MBUS compatible (Jernej Skrabec)
Pablo Greco 7b2c62
- arm64: dts: allwinner: pinebook: Remove unused AXP803 regulators (Samuel Holland)
Pablo Greco 7b2c62
- arm64: dts: allwinner: pinebook: Fix 5v0 boost regulator (Samuel Holland)
Pablo Greco 7b2c62
- arm64: dts: allwinner: pinebook: Fix backlight regulator (Samuel Holland)
Pablo Greco 7b2c62
- arm64: dts: allwinner: pinebook: Add GPIO port regulators (Samuel Holland)
Pablo Greco 7b2c62
- arm64: dts: allwinner: pinebook: Document MMC0 CD pin name (Samuel Holland)
Pablo Greco 7b2c62
- arm64: dts: allwinner: pinebook: Make simplefb more consistent (Samuel Holland)
Pablo Greco 7b2c62
- arm64: dts: allwinner: pinebook: Sort device tree nodes (Samuel Holland)
Pablo Greco 7b2c62
- arm64: dts: allwinner: pinebook: Remove unused vcc3v3 regulator (Samuel Holland)
Pablo Greco 7b2c62
- arm64: dts: imx8mq-phanbell: Add support for ethernet (Alifer Moraes)
Pablo Greco 7b2c62
- backlight: lp855x: Ensure regulators are disabled on probe failure (Jon Hunter)
Pablo Greco 7b2c62
- regulator: pwm: Don't warn on probe deferral (Jon Hunter)
Pablo Greco 7b2c62
- ARM64: tegra: Fix Tegra194 PCIe compatible string ("Signed-off-by: Jon Hunter")
Pablo Greco 7b2c62
- serial: 8250_tegra: Create Tegra specific 8250 driver (Jeff Brasen)
Pablo Greco 7b2c62
- ARM64: tegra: Populate LP8557 backlight regulator (Jon Hunter)
Pablo Greco 7b2c62
- ARM64: tegra: Fix Tegra186 SOR supply (Jon Hunter)
Pablo Greco 7b2c62
- ARM64: tegra: Add EEPROM supplies (Jon Hunter)
Pablo Greco 7b2c62
- ARM64: Tegra: Enable I2C controller for EEPROM (Jon Hunter)
Pablo Greco 7b2c62
- ARM: dts: bcm2711: Move emmc2 into its own bus (Nicolas Saenz Julienne)
Pablo Greco 7b2c62
- irqchip/bcm2835: Quiesce IRQs left enabled by bootloader (Lukas Wunner)
Pablo Greco 7b2c62
- ARM: dts: bcm2711-rpi-4-b: Add SoC GPIO labels (Stefan Wahren)
Pablo Greco 7b2c62
- pinctrl: bcm2835: Add support for all GPIOs on BCM2711 (Stefan Wahren)
Pablo Greco 7b2c62
- pinctrl: bcm2835: Refactor platform data (Stefan Wahren)
Pablo Greco 7b2c62
- pinctrl: bcm2835: Drop unused define (Stefan Wahren)
Pablo Greco 7b2c62
- ARM: tegra: usb no reset (Peter Robinson)
Pablo Greco 7b2c62
- arm: make CONFIG_HIGHPTE optional without CONFIG_EXPERT (Jon Masters)
Pablo Greco 7b2c62
- Revert "Add a SysRq option to lift kernel lockdown" (Jeremy Cline)
Pablo Greco 7b2c62
- Fix xz memory usage issue (Neil Horman)
Pablo Greco 7b2c62
- Use ark-latest instead of master for update script (Jeremy Cline)
Pablo Greco 7b2c62
- Move the CI jobs back into the ARK repository (Jeremy Cline)
Pablo Greco 7b2c62
- Revert "[redhat] Apply a second patch set in Fedora build roots" (Jeremy Cline)
Pablo Greco 7b2c62
- Sync up ARK's Fedora config with the dist-git repository (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Mar 09 2020 Jeremy Cline <jcline@redhat.com> [5.6.0-0.rc5.1.elrdy]
Pablo Greco 7b2c62
- v5.6-rc5 rebase
Pablo Greco 7b2c62
- Pull in the latest configuration changes from Fedora (Jeremy Cline)
Pablo Greco 7b2c62
- configs: enable CONFIG_NET_SCH_CBS (Marcelo Ricardo Leitner)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Mar 06 2020 Jeremy Cline <jcline@redhat.com> [5.6.0-0.rc4.2.elrdy]
Pablo Greco 7b2c62
- Disable CONFIG_DRM_DP_CEC temporarily (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Mar 06 2020 Jeremy Cline <jcline@redhat.com> [5.6.0-0.rc4.1.elrdy]
Pablo Greco 7b2c62
- v5.6-rc4 rebase
Pablo Greco 7b2c62
- redhat: rh_kabi: deduplication friendly structs (Jiri Benc)
Pablo Greco 7b2c62
- redhat: rh_kabi add a comment with warning about RH_KABI_EXCLUDE usage (Jiri Benc)
Pablo Greco 7b2c62
- redhat: rh_kabi: introduce RH_KABI_EXTEND_WITH_SIZE (Jiri Benc)
Pablo Greco 7b2c62
- redhat: rh_kabi: Indirect EXTEND macros so nesting of other macros will resolve. (Don Dutile)
Pablo Greco 7b2c62
- redhat: rh_kabi: Fix RH_KABI_SET_SIZE to use dereference operator (Tony Camuso)
Pablo Greco 7b2c62
- redhat: rh_kabi: Add macros to size and extend structs (Prarit Bhargava)
Pablo Greco 7b2c62
- mptsas: pci-id table changes (Laura Abbott)
Pablo Greco 7b2c62
- mptsas: Taint kernel if mptsas is loaded (Laura Abbott)
Pablo Greco 7b2c62
- mptspi: pci-id table changes (Laura Abbott)
Pablo Greco 7b2c62
- mptspi: Taint kernel if mptspi is loaded (Laura Abbott)
Pablo Greco 7b2c62
- kernel: add SUPPORT_REMOVED kernel taint (Tomas Henzl) [1602033]
Pablo Greco 7b2c62
- Rename RH_DISABLE_DEPRECATED to RHEL_DIFFERENCES (Don Zickus)
Pablo Greco 7b2c62
- Revert "Drop references to SCSI PCI IDs we remove" (Don Zickus)
Pablo Greco 7b2c62
- Revert "mpt*: remove certain deprecated pci-ids" (Don Zickus)
Pablo Greco 7b2c62
- Revert "megaraid_sas: remove deprecated pci-ids" (Don Zickus)
Pablo Greco 7b2c62
- Revert "aacraid: Remove depreciated device and vendor PCI id's" (Don Zickus)
Pablo Greco 7b2c62
- Revert "qla4xxx: Remove deprecated PCI IDs from RHEL 8" (Don Zickus)
Pablo Greco 7b2c62
- Revert "hpsa: remove old cciss-based smartarray pci ids" (Don Zickus)
Pablo Greco 7b2c62
- Revert "hpsa: modify hpsa driver version" (Don Zickus)
Pablo Greco 7b2c62
- Revert "Removing Obsolete hba pci-ids from rhel8" (Don Zickus)
Pablo Greco 7b2c62
- Revert "be2iscsi: remove unsupported device IDs" (Don Zickus)
Pablo Greco 7b2c62
- Revert "be2iscsi: remove BE3 family support" (Don Zickus)
Pablo Greco 7b2c62
- Revert "qla2xxx: Remove PCI IDs of deprecated adapter" (Don Zickus)
Pablo Greco 7b2c62
- Drop configuration options in fedora/ that no longer exist (Jeremy Cline)
Pablo Greco 7b2c62
- Set RH_FEDORA for ARK and Fedora (Jeremy Cline)
Pablo Greco 7b2c62
- Add option of 13 for FORCE_MAX_ZONEORDER (Peter Robinson)
Pablo Greco 7b2c62
- Introduce RH_FEDORA config for Fedora-specific patches (Jeremy Cline)
Pablo Greco 7b2c62
- redhat/kernel.spec: Include the release in the kernel COPYING file (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Feb 17 2020 Jeremy Cline <jcline@redhat.com> [5.6.0-0.rc2.2.elrdy]
Pablo Greco 7b2c62
- Disable CONFIG_DRM_DP_CEC temporarily (Jeremy Cline)
Pablo Greco 7b2c62
- Drop references to SCSI PCI IDs we remove (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Feb 17 2020 Jeremy Cline <jcline@redhat.com> [5.6.0-0.rc2.1.elrdy]
Pablo Greco 7b2c62
- v5.6-rc2 rebase
Pablo Greco 7b2c62
- redhat/kernel.spec: add scripts/jobserver-exec to py3_shbang_opts list (Jeremy Cline)
Pablo Greco 7b2c62
- redhat/kernel.spec: package bpftool-gen man page (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Feb 13 2020 Jeremy Cline <jcline@redhat.com> [5.6.0-0.rc1.4.elrdy]
Pablo Greco 7b2c62
- Package bpftool-gen man page (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Feb 13 2020 Jeremy Cline <jcline@redhat.com> [5.6.0-0.rc1.3.elrdy]
Pablo Greco 7b2c62
- Used Python 3 for scripts/jobserver-exec (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Feb 12 2020 Jeremy Cline <jcline@redhat.com> [5.6.0-0.rc1.2.elrdy]
Pablo Greco 7b2c62
- Disable CONFIG_DRM_DP_CEC temporarily (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Feb 12 2020 Jeremy Cline <jcline@redhat.com> [5.6.0-0.rc1.1.elrdy]
Pablo Greco 7b2c62
- v5.6-rc1 rebase
Pablo Greco 7b2c62
- Fix up the EFI secureboot rebase (Jeremy Cline)
Pablo Greco 7b2c62
- distgit-changelog: handle multiple y-stream BZ numbers (Bruno Meneguele)
Pablo Greco 7b2c62
- redhat/kernel.spec: remove all inline comments (Bruno Meneguele)
Pablo Greco 7b2c62
- redhat/genspec: awk unknown whitespace regex pattern (Bruno Meneguele)
Pablo Greco 7b2c62
- Improve the readability of gen_config_patches.sh (Jeremy Cline)
Pablo Greco 7b2c62
- Fix some awkward edge cases in gen_config_patches.sh (Jeremy Cline)
Pablo Greco 7b2c62
- Updated changelog (Jeremy Cline)
Pablo Greco 7b2c62
- Update the CI environment to use Fedora 31 (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue Jan 28 2020 Jeremy Cline <jcline@redhat.com> [5.5.0-1.elrdy]
Pablo Greco 7b2c62
- v5.5 rebase
Pablo Greco 7b2c62
- Revert "Turn off CONFIG_AX25" (Laura Abbott)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Jan 23 2020 Jeremy Cline <jcline@redhat.com> [5.5.0-0.rc7.1.elrdy]
Pablo Greco 7b2c62
- v5.5-rc7 rebase
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Jan 15 2020 Jeremy Cline <jcline@redhat.com> [5.5.0-0.rc6.1.elrdy]
Pablo Greco 7b2c62
- v5.5-rc6 rebase
Pablo Greco 7b2c62
- s390: Lock down the kernel when the IPL secure flag is set (Jeremy Cline)
Pablo Greco 7b2c62
- configs: Enable CONFIG_KEY_DH_OPERATIONS on ARK (Ondrej Mosnacek)
Pablo Greco 7b2c62
- redhat: drop whitespace from with_gcov macro (Jan Stancek) [INTERNAL]
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Jan 06 2020 Jeremy Cline <jcline@redhat.com> [5.5.0-0.rc5.1.elrdy]
Pablo Greco 7b2c62
- v5.5-rc5 rebase
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Jan 06 2020 Jeremy Cline <jcline@redhat.com> [5.5.0-0.rc4.1.elrdy]
Pablo Greco 7b2c62
- v5.5-rc4 rebase
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Jan 03 2020 Jeremy Cline <jcline@redhat.com> [5.5.0-0.rc3.1.elrdy]
Pablo Greco 7b2c62
- v5.5-rc3 rebase
Pablo Greco 7b2c62
- Turn on BLAKE2B for Fedora (Jeremy Cline)
Pablo Greco 7b2c62
- configs: Adjust CONFIG_MPLS_ROUTING and CONFIG_MPLS_IPTUNNEL (Laura Abbott)
Pablo Greco 7b2c62
- New configs in lib/crypto (Jeremy Cline)
Pablo Greco 7b2c62
- New configs in drivers/char (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Jan 03 2020 Jeremy Cline <jcline@redhat.com> [5.5.0-0.rc2.1.elrdy]
Pablo Greco 7b2c62
- v5.5-rc2 rebase
Pablo Greco 7b2c62
- Convert pr_warning to pr_warn in secureboot.c (Jeremy Cline)
Pablo Greco 7b2c62
- Enable CRYPTO_BLAKE2B as its being selected automatically (Jeremy Cline)
Pablo Greco 7b2c62
- kernel.spec.template: Clean up stray *.h.s files (Laura Abbott)
Pablo Greco 7b2c62
- Build the SRPM in the CI job (Jeremy Cline)
Pablo Greco 7b2c62
- Fix up released_kernel case (Laura Abbott)
Pablo Greco 7b2c62
- Add label so the Gitlab to email bridge ignores the changelog (Jeremy Cline)
Pablo Greco 7b2c62
- New configs in net/tls (Jeremy Cline)
Pablo Greco 7b2c62
- New configs in net/tipc (Jeremy Cline)
Pablo Greco 7b2c62
- New configs in lib/kunit (Jeremy Cline)
Pablo Greco 7b2c62
- New configs in lib/Kconfig.debug (Jeremy Cline)
Pablo Greco 7b2c62
- New configs in drivers/ptp (Jeremy Cline)
Pablo Greco 7b2c62
- New configs in drivers/nvme (Jeremy Cline)
Pablo Greco 7b2c62
- New configs in drivers/net/phy (Jeremy Cline)
Pablo Greco 7b2c62
- New configs in drivers/crypto (Jeremy Cline)
Pablo Greco 7b2c62
- New configs in crypto/Kconfig (Jeremy Cline)
Pablo Greco 7b2c62
- New configs in arch/arm64 (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Dec 13 2019 Jeremy Cline <jcline@redhat.com> [5.5.0-0.rc1.1.elrdy]
Pablo Greco 7b2c62
- v5.5-rc1 rebase
Pablo Greco 7b2c62
- Used Python 3 for scripts/jobserver-exec (Jeremy Cline)
Pablo Greco 7b2c62
- Drop references to SCSI PCI IDs we remove (Jeremy Cline)
Pablo Greco 7b2c62
- Disable documentation build, it is broken. (Jeremy Cline)
Pablo Greco 7b2c62
- Temporarily switch TUNE_DEFAULT to y (Jeremy Cline)
Pablo Greco 7b2c62
- Run config test for merge requests and internal (Jeremy Cline)
Pablo Greco 7b2c62
- Turn off CONFIG_AX25 (Laura Abbott)
Pablo Greco 7b2c62
- Add missing licensedir line (Laura Abbott)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Tue Nov 26 2019 Jeremy Cline <jcline@redhat.com> [5.4.0-1.elrdy]
Pablo Greco 7b2c62
- v5.4 rebase
Pablo Greco 7b2c62
- redhat/scripts: Remove redhat/scripts/rh_get_maintainer.pl (Prarit Bhargava)
Pablo Greco 7b2c62
- configs: Take CONFIG_DEFAULT_MMAP_MIN_ADDR from Fedra (Laura Abbott)
Pablo Greco 7b2c62
- configs: Turn off ISDN (Laura Abbott)
Pablo Greco 7b2c62
- kernel-packaging: Remove kernel files from kernel-modules-extra package (Prarit Bhargava)
Pablo Greco 7b2c62
- Add a script to generate configuration patches (Laura Abbott)
Pablo Greco 7b2c62
- Introduce rh-configs-commit (Laura Abbott)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Fri Nov 22 2019 Jeremy Cline <jcline@redhat.com> [5.4.0-0.rc8.1.elrdy]
Pablo Greco 7b2c62
- v5.4-rc8 rebase
Pablo Greco 7b2c62
- kconfig: Add option to get the full help text with listnewconfig (Laura Abbott)
Pablo Greco 7b2c62
- configs: Enable CONFIG_DEBUG_WX (Laura Abbott)
Pablo Greco 7b2c62
- configs: Disable wireless USB (Laura Abbott)
Pablo Greco 7b2c62
- Clean up some temporary config files (Laura Abbott)
Pablo Greco 7b2c62
- configs: New config in drivers/gpu for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in arch/powerpc for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in crypto for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/usb for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- AUTOMATIC: New configs (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Nov 13 2019 Jeremy Cline <jcline@redhat.com> [5.4.0-0.rc7.1.elrdy]
Pablo Greco 7b2c62
- v5.4-rc7 rebase
Pablo Greco 7b2c62
- Temporarily add VBOXSF_FS config (Jeremy Cline)
Pablo Greco 7b2c62
- Add support for deprecating processors (Laura Abbott)
Pablo Greco 7b2c62
- Add Red Hat tainting (Laura Abbott)
Pablo Greco 7b2c62
- Introduce CONFIG_RH_DISABLE_DEPRECATED (Laura Abbott)
Pablo Greco 7b2c62
- configs: New config in fs/erofs for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in mm for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/md for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in init for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Nov 06 2019 Jeremy Cline <jcline@redhat.com> [5.4.0-0.rc6.2.elrdy]
Pablo Greco 7b2c62
- v5.4-rc6 rebase
Pablo Greco 7b2c62
- iommu/arm-smmu: workaround DMA mode issues (Laura Abbott)
Pablo Greco 7b2c62
- rh_taint: correct loaddable module support dependencies (Philipp Rudo) [1652266]
Pablo Greco 7b2c62
- rh_kabi: introduce RH_KABI_EXCLUDE (Jakub Racek) [1652256]
Pablo Greco 7b2c62
- mark intel knights landing and knights mill unsupported (David Arcari) [1610493]
Pablo Greco 7b2c62
- mark whiskey-lake processor supported (David Arcari) [1609604]
Pablo Greco 7b2c62
- ipmi: do not configure ipmi for HPE m400 (Laura Abbott) [https://bugzilla.redhat.com/show_bug.cgi?id=1670017]
Pablo Greco 7b2c62
- IB/rxe: Mark Soft-RoCE Transport driver as tech-preview (Don Dutile) [1605216]
Pablo Greco 7b2c62
- scsi: smartpqi: add inspur advantech ids (Don Brace) [1503736]
Pablo Greco 7b2c62
- ice: mark driver as tech-preview (Jonathan Toppins) [1495347]
Pablo Greco 7b2c62
- be2iscsi: remove BE3 family support (Maurizio Lombardi) [1598366]
Pablo Greco 7b2c62
- update rh_check_supported processor list (David Arcari) [1595918]
Pablo Greco 7b2c62
- kABI: Add generic kABI macros to use for kABI workarounds (Myron Stowe) [1546831]
Pablo Greco 7b2c62
- add pci_hw_vendor_status() (Maurizio Lombardi) [1590829]
Pablo Greco 7b2c62
- ahci: thunderx2: Fix for errata that affects stop engine (Robert Richter) [1563590]
Pablo Greco 7b2c62
- Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon (Robert Richter) [1563590]
Pablo Greco 7b2c62
- bpf: Add tech preview taint for syscall (Eugene Syromiatnikov) [1559877]
Pablo Greco 7b2c62
- bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter (Eugene Syromiatnikov) [1561171]
Pablo Greco 7b2c62
- add Red Hat-specific taint flags (Eugene Syromiatnikov) [1559877]
Pablo Greco 7b2c62
- kdump: fix a grammar issue in a kernel message (Dave Young) [1507353]
Pablo Greco 7b2c62
- tags.sh: Ignore redhat/rpm (Jeremy Cline)
Pablo Greco 7b2c62
- put RHEL info into generated headers (Laura Abbott) [https://bugzilla.redhat.com/show_bug.cgi?id=1663728]
Pablo Greco 7b2c62
- kdump: add support for crashkernel=auto (Jeremy Cline)
Pablo Greco 7b2c62
- kdump: round up the total memory size to 128M for crashkernel reservation (Dave Young) [1507353]
Pablo Greco 7b2c62
- acpi: prefer booting with ACPI over DTS (Mark Salter) [1576869]
Pablo Greco 7b2c62
- aarch64: acpi scan: Fix regression related to X-Gene UARTs (Mark Salter) [1519554]
Pablo Greco 7b2c62
- ACPI / irq: Workaround firmware issue on X-Gene based m400 (Mark Salter) [1519554]
Pablo Greco 7b2c62
- add rh_check_supported (David Arcari) [1565717]
Pablo Greco 7b2c62
- qla2xxx: Remove PCI IDs of deprecated adapter (Jeremy Cline)
Pablo Greco 7b2c62
- be2iscsi: remove unsupported device IDs (Chris Leech) [1574502]
Pablo Greco 7b2c62
- Removing Obsolete hba pci-ids from rhel8 (Dick Kennedy) [1572321]
Pablo Greco 7b2c62
- hpsa: modify hpsa driver version (Jeremy Cline)
Pablo Greco 7b2c62
- hpsa: remove old cciss-based smartarray pci ids (Joseph Szczypek) [1471185]
Pablo Greco 7b2c62
- rh_taint: add support for marking driver as unsupported (Jonathan Toppins) [1565704]
Pablo Greco 7b2c62
- rh_taint: add support (David Arcari) [1565704]
Pablo Greco 7b2c62
- qla4xxx: Remove deprecated PCI IDs from RHEL 8 (Chad Dupuis) [1518874]
Pablo Greco 7b2c62
- aacraid: Remove depreciated device and vendor PCI id's (Raghava Aditya Renukunta) [1495307]
Pablo Greco 7b2c62
- megaraid_sas: remove deprecated pci-ids (Tomas Henzl) [1509329]
Pablo Greco 7b2c62
- mpt*: remove certain deprecated pci-ids (Jeremy Cline)
Pablo Greco 7b2c62
- modules: add rhelversion MODULE_INFO tag (Laura Abbott)
Pablo Greco 7b2c62
- ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support (Al Stone) [1518076]
Pablo Greco 7b2c62
- configs: New config in fs/fuse for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- merge.pl: Avoid comments but do not skip them (Don Zickus)
Pablo Greco 7b2c62
- configs: New config in drivers/net/ethernet/pensando for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- Update a comment about what released kernel means (Laura Abbott)
Pablo Greco 7b2c62
- Provide both Fedora and RHEL files in the SRPM (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Trim EXTRAVERSION in the Makefile (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Add macros for building with nopatches (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Add some macros for Fedora differences (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Consolodate the options (Laura Abbott)
Pablo Greco 7b2c62
- configs: Add pending direcory to Fedora (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Don't run hardlink if rpm-ostree is in use (Laura Abbott)
Pablo Greco 7b2c62
- configs: New config in net/can for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/net/phy for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- Updated changelog ("CKI@GitLab")
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Mon Oct 28 2019 Jeremy Cline <jcline@redhat.com> [5.4.0-0.rc5.1.elrdy]
Pablo Greco 7b2c62
- v5.4-rc5 rebase
Pablo Greco 7b2c62
- arm: aarch64: Drop the EXPERT setting from ARM64_FORCE_52BIT (Jeremy Cline)
Pablo Greco 7b2c62
- configs: turn on ARM64_FORCE_52BIT for debug builds (Jeremy Cline)
Pablo Greco 7b2c62
- kernel.spec.template: Tweak the python3 mangling (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Add --with verbose option (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Switch to using install instead of __install (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Make the kernel.org URL https (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Update message about secure boot signing (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Move some with flags definitions up (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Update some BuildRequires (Laura Abbott)
Pablo Greco 7b2c62
- kernel.spec.template: Get rid of clean (Laura Abbott)
Pablo Greco 7b2c62
- configs: New config in drivers/char for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in net/sched for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in lib for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in fs/verity for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in arch/aarch64 for v5.4-rc4 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in arch/arm64 for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- Flip off CONFIG_ARM64_VA_BITS_52 so the bundle that turns it on applies (Jeremy Cline)
Pablo Greco 7b2c62
- configs: Increase x86_64 NR_UARTS to 64 (Prarit Bhargava) [http://bugzilla.redhat.com/1730649]
Pablo Greco 7b2c62
- Update changelog (Laura Abbott)
Pablo Greco 7b2c62
- New configuration options for v5.4-rc4 (Jeremy Cline)
Pablo Greco 7b2c62
- Correctly name tarball for single tarball builds (Laura Abbott)
Pablo Greco 7b2c62
- configs: New config in drivers/pci for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- Allow overriding the dist tag on the command line (Laura Abbott)
Pablo Greco 7b2c62
- Allow scratch branch target to be overridden (Laura Abbott)
Pablo Greco 7b2c62
- Remove long dead BUILD_DEFAULT_TARGET (Laura Abbott)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Thu Oct 17 2019 Jeremy Cline <jcline@redhat.com> [5.4.0-0.rc3.1.elrdy]
Pablo Greco 7b2c62
- v5.4-rc3 rebase
Pablo Greco 7b2c62
- Amend the changelog when rebasing (Laura Abbott)
Pablo Greco 7b2c62
- configs: New config in drivers/platform for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/pinctrl for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/net/wireless for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/net/ethernet/mellanox for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/net/can for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/hid for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/dma-buf for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in block for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/cpuidle for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- redhat: configs: Split CONFIG_CRYPTO_SHA512 (Laura Abbott)
Pablo Greco 7b2c62
- redhat: Set Fedora options (Laura Abbott)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
* Wed Oct 09 2019 Jeremy Cline <jcline@redhat.com> [5.4.0-0.rc2.1.elrdy]
Pablo Greco 7b2c62
- Skip ksamples for bpf, they are broken (Jeremy Cline)
Pablo Greco 7b2c62
- Add a SysRq option to lift kernel lockdown (Kyle McMartin)
Pablo Greco 7b2c62
- efi: Lock down the kernel if booted in secure boot mode (David Howells)
Pablo Greco 7b2c62
- efi: Add an EFI_SECURE_BOOT flag to indicate secure boot mode (David Howells)
Pablo Greco 7b2c62
- security: lockdown: expose a hook to lock the kernel down (Jeremy Cline)
Pablo Greco 7b2c62
- Make get_cert_list() use efi_status_to_str() to print error messages. (Peter Jones)
Pablo Greco 7b2c62
- Add efi_status_to_str() and rework efi_status_to_err(). (Peter Jones)
Pablo Greco 7b2c62
- Make get_cert_list() not complain about cert lists that aren't present. (Peter Jones)
Pablo Greco 7b2c62
- [iommu] iommu/arm-smmu: workaround DMA mode issues (Laura Abbott)
Pablo Greco 7b2c62
- [kernel] rh_taint: correct loaddable module support dependencies (Philipp Rudo) [1652266]
Pablo Greco 7b2c62
- [kernel] rh_kabi: introduce RH_KABI_EXCLUDE (Jakub Racek) [1652256]
Pablo Greco 7b2c62
- [x86] mark intel knights landing and knights mill unsupported (David Arcari) [1610493]
Pablo Greco 7b2c62
- [x86] mark whiskey-lake processor supported (David Arcari) [1609604]
Pablo Greco 7b2c62
- [char] ipmi: do not configure ipmi for HPE m400 (Laura Abbott) [https://bugzilla.redhat.com/show_bug.cgi?id=1670017]
Pablo Greco 7b2c62
- [infiniband] IB/rxe: Mark Soft-RoCE Transport driver as tech-preview (Don Dutile) [1605216]
Pablo Greco 7b2c62
- [scsi] scsi: smartpqi: add inspur advantech ids (Don Brace) [1503736]
Pablo Greco 7b2c62
- [netdrv] ice: mark driver as tech-preview (Jonathan Toppins) [1495347]
Pablo Greco 7b2c62
- [scsi] be2iscsi: remove BE3 family support (Maurizio Lombardi) [1598366]
Pablo Greco 7b2c62
- [x86] update rh_check_supported processor list (David Arcari) [1595918]
Pablo Greco 7b2c62
- [kernel] kABI: Add generic kABI macros to use for kABI workarounds (Myron Stowe) [1546831]
Pablo Greco 7b2c62
- [pci] add pci_hw_vendor_status() (Maurizio Lombardi) [1590829]
Pablo Greco 7b2c62
- [ata] ahci: thunderx2: Fix for errata that affects stop engine (Robert Richter) [1563590]
Pablo Greco 7b2c62
- [pci] Vulcan: AHCI PCI bar fix for Broadcom Vulcan early silicon (Robert Richter) [1563590]
Pablo Greco 7b2c62
- [kernel] bpf: Add tech preview taint for syscall (Eugene Syromiatnikov) [1559877]
Pablo Greco 7b2c62
- [kernel] bpf: set unprivileged_bpf_disabled to 1 by default, add a boot parameter (Eugene Syromiatnikov) [1561171]
Pablo Greco 7b2c62
- [kernel] add Red Hat-specific taint flags (Eugene Syromiatnikov) [1559877]
Pablo Greco 7b2c62
- [kernel] kdump: fix a grammar issue in a kernel message (Dave Young) [1507353]
Pablo Greco 7b2c62
- [scripts] tags.sh: Ignore redhat/rpm (Jeremy Cline)
Pablo Greco 7b2c62
- [kernel] put RHEL info into generated headers (Laura Abbott) [https://bugzilla.redhat.com/show_bug.cgi?id=1663728]
Pablo Greco 7b2c62
- [kernel] kdump: add support for crashkernel=auto (Jeremy Cline)
Pablo Greco 7b2c62
- [kernel] kdump: round up the total memory size to 128M for crashkernel reservation (Dave Young) [1507353]
Pablo Greco 7b2c62
- [arm64] acpi: prefer booting with ACPI over DTS (Mark Salter) [1576869]
Pablo Greco 7b2c62
- [acpi] aarch64: acpi scan: Fix regression related to X-Gene UARTs (Mark Salter) [1519554]
Pablo Greco 7b2c62
- [acpi] ACPI / irq: Workaround firmware issue on X-Gene based m400 (Mark Salter) [1519554]
Pablo Greco 7b2c62
- [x86] add rh_check_supported (David Arcari) [1565717]
Pablo Greco 7b2c62
- [scsi] qla2xxx: Remove PCI IDs of deprecated adapter (Jeremy Cline)
Pablo Greco 7b2c62
- [scsi] be2iscsi: remove unsupported device IDs (Chris Leech) [1574502]
Pablo Greco 7b2c62
- [scsi] Removing Obsolete hba pci-ids from rhel8 (Dick Kennedy) [1572321]
Pablo Greco 7b2c62
- [scsi] hpsa: modify hpsa driver version (Jeremy Cline)
Pablo Greco 7b2c62
- [scsi] hpsa: remove old cciss-based smartarray pci ids (Joseph Szczypek) [1471185]
Pablo Greco 7b2c62
- [kernel] rh_taint: add support for marking driver as unsupported (Jonathan Toppins) [1565704]
Pablo Greco 7b2c62
- [kernel] rh_taint: add support (David Arcari) [1565704]
Pablo Greco 7b2c62
- [scsi] qla4xxx: Remove deprecated PCI IDs from RHEL 8 (Chad Dupuis) [1518874]
Pablo Greco 7b2c62
- [scsi] aacraid: Remove depreciated device and vendor PCI id's (Raghava Aditya Renukunta) [1495307]
Pablo Greco 7b2c62
- [scsi] megaraid_sas: remove deprecated pci-ids (Tomas Henzl) [1509329]
Pablo Greco 7b2c62
- [scsi] mpt*: remove certain deprecated pci-ids (Jeremy Cline)
Pablo Greco 7b2c62
- [kernel] modules: add rhelversion MODULE_INFO tag (Laura Abbott)
Pablo Greco 7b2c62
- [acpi] ACPI: APEI: arm64: Ignore broken HPE moonshot APEI support (Al Stone) [1518076]
Pablo Greco 7b2c62
- gitlab: Add CI job for packaging scripts (Major Hayden)
Pablo Greco 7b2c62
- Set CRYPTO_SHA3_*_S390 to builtin on zfcpdump (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/edac for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/firmware for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/hwmon for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/iio for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/mmc for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/tty for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in arch/s390 for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in drivers/bus for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- Add option to allow mismatched configs on the command line (Laura Abbott)
Pablo Greco 7b2c62
- configs: New config in drivers/crypto for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in sound/pci for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: New config in sound/soc for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- Speed up CI with CKI image (Major Hayden)
Pablo Greco 7b2c62
- configs: Fix the pending default for CONFIG_ARM64_VA_BITS_52 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: Turn on OPTIMIZE_INLINING for everything (Jeremy Cline)
Pablo Greco 7b2c62
- configs: Set valid pending defaults for CRYPTO_ESSIV (Jeremy Cline)
Pablo Greco 7b2c62
- Add an initial CI configuration for the internal branch (Jeremy Cline)
Pablo Greco 7b2c62
- New drop of configuration options for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- Disable e1000 driver in ARK (Neil Horman)
Pablo Greco 7b2c62
- New drop of configuration options for v5.4-rc1 (Jeremy Cline)
Pablo Greco 7b2c62
- configs: Adjust CONFIG_FORCE_MAX_ZONEORDER for Fedora (Laura Abbott)
Pablo Greco 7b2c62
- configs: Add README for some other arches (Laura Abbott)
Pablo Greco 7b2c62
- configs: Sync up Fedora configs (Laura Abbott)
Pablo Greco 7b2c62
- Pull the RHEL version defines out of the Makefile (Jeremy Cline)
Pablo Greco 7b2c62
- Sync up the ARK build scripts (Jeremy Cline)
Pablo Greco 7b2c62
- Sync up the Fedora Rawhide configs (Jeremy Cline)
Pablo Greco 7b2c62
- Sync up the ARK config files (Jeremy Cline)
Pablo Greco 7b2c62
- [initial commit] Add structure for building with git (Laura Abbott)
Pablo Greco 7b2c62
- [initial commit] Add Red Hat variables in the top level makefile (Laura Abbott)
Pablo Greco 7b2c62
- [initial commit] Red Hat gitignore and attributes (Laura Abbott)
Pablo Greco 7b2c62
- [initial commit] Add changelog (Laura Abbott)
Pablo Greco 7b2c62
- [initial commit] Add makefile (Laura Abbott)
Pablo Greco 7b2c62
- [initial commit] Add files for generating the kernel.spec (Laura Abbott)
Pablo Greco 7b2c62
- [initial commit] Add rpm directory (Laura Abbott)
Pablo Greco 7b2c62
- [initial commit] Add files for packaging (Laura Abbott)
Pablo Greco 7b2c62
- [initial commit] Add kabi files (Laura Abbott)
Pablo Greco 7b2c62
- [initial commit] Add scripts (Laura Abbott)
Pablo Greco 7b2c62
- [initial commit] Add configs (Laura Abbott)
Pablo Greco 7b2c62
- [initial commit] Add Makefiles (Laura Abbott)
Pablo Greco 7b2c62
Pablo Greco 7b2c62
# The following bit is important for automation so please do not remove
Pablo Greco 7b2c62
# END OF CHANGELOG
Pablo Greco 7b2c62
Pablo Greco 7b2c62
###
Pablo Greco 7b2c62
# The following Emacs magic makes C-c C-e use UTC dates.
Pablo Greco 7b2c62
# Local Variables:
Pablo Greco 7b2c62
# rpm-change-log-uses-utc: t
Pablo Greco 7b2c62
# End:
Pablo Greco 7b2c62
###