Jesse Keating 7a3296
# We have to override the new %%install behavior because, well... the kernel is special.
Jesse Keating 7a3296
%global __spec_install_pre %{___build_pre}
Jesse Keating 7a3296
Jesse Keating 7a3296
Summary: The Linux kernel
Jesse Keating 7a3296
Jesse Keating 7a3296
# For a stable, released kernel, released_kernel should be 1. For rawhide
Jesse Keating 7a3296
# and/or a kernel built from an rc or git snapshot, released_kernel should
Jesse Keating 7a3296
# be 0.
a92862
%global released_kernel 0
Jesse Keating 7a3296
Josh Boyer c2a12c
# Sign modules on x86.  Make sure the config files match this setting if more
Josh Boyer c2a12c
# architectures are added.
Josh Boyer c2a12c
%ifarch %{ix86} x86_64
149275
%global signkernel 1
Josh Boyer c2a12c
%global signmodules 1
Kyle McMartin 892262
%global zipmodules 1
Josh Boyer c2a12c
%else
149275
%global signkernel 0
149275
%global signmodules 1
36ae66
%global zipmodules 1
Kyle McMartin 892262
%endif
Kyle McMartin 892262
Kyle McMartin 892262
%if %{zipmodules}
Kyle McMartin 892262
%global zipsed -e 's/\.ko$/\.ko.xz/'
Josh Boyer c2a12c
%endif
Josh Boyer c2a12c
20fe7a
# define buildid .local
Jesse Keating 7a3296
Roland McGrath 377da6
# baserelease defines which build revision of this kernel version we're
Roland McGrath 377da6
# building.  We used to call this fedora_build, but the magical name
Roland McGrath 377da6
# baserelease is matched by the rpmdev-bumpspec tool, which you should use.
Jesse Keating 7a3296
#
Roland McGrath 377da6
# We used to have some extra magic weirdness to bump this automatically,
Roland McGrath 377da6
# but now we don't.  Just use: rpmdev-bumpspec -c 'comment for changelog'
Roland McGrath 377da6
# When changing base_sublevel below or going from rc to a final kernel,
Roland McGrath 377da6
# reset this by hand to 1 (or to 0 and then use rpmdev-bumpspec).
Roland McGrath 377da6
# scripts/rebase.sh should be made to do that for you, actually.
Roland McGrath 377da6
#
Chuck Ebbert 05e763
# NOTE: baserelease must be > 0 or bad things will happen if you switch
Chuck Ebbert 05e763
#       to a released kernel (released version will be < rc version)
Chuck Ebbert c3126d
#
Chuck Ebbert 05e763
# For non-released -rc kernels, this will be appended after the rcX and
Chuck Ebbert 05e763
# gitX tags, so a 3 here would become part of release "0.rcX.gitX.3"
Chuck Ebbert 05e763
#
aeee93
%global baserelease 1
Roland McGrath 377da6
%global fedora_build %{baserelease}
Jesse Keating 7a3296
Jesse Keating 7a3296
# base_sublevel is the kernel version we're starting with and patching
Dave Jones 34ff8b
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
Dave Jones 34ff8b
# which yields a base_sublevel of 0.
Jeremy Cline 069227
%define base_sublevel 19
Jesse Keating 7a3296
Jesse Keating 7a3296
## If this is a released kernel ##
Jesse Keating 7a3296
%if 0%{?released_kernel}
Jesse Keating 7a3296
Jesse Keating 7a3296
# Do we have a -stable update to apply?
208228
%define stable_update 0
Jesse Keating 7a3296
# Set rpm version accordingly
Jesse Keating 7a3296
%if 0%{?stable_update}
Josh Boyer 740de5
%define stablerev %{stable_update}
Jesse Keating 7a3296
%define stable_base %{stable_update}
Jesse Keating 7a3296
%endif
d72933
%define rpmversion 4.%{base_sublevel}.%{stable_update}
Jesse Keating 7a3296
Jesse Keating 7a3296
## The not-released-kernel case ##
Jesse Keating 7a3296
%else
Jesse Keating 7a3296
# The next upstream release sublevel (base_sublevel+1)
85afd6
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
Jesse Keating 7a3296
# The rc snapshot level
e88e68
%global rcrev 1
Jesse Keating 7a3296
# The git snapshot level
e88e68
%define gitrev 0
Jesse Keating 7a3296
# Set rpm version accordingly
d72933
%define rpmversion 4.%{upstream_sublevel}.0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
# Nb: The above rcrev and gitrev values automagically define Patch00 and Patch01 below.
Jesse Keating 7a3296
Jesse Keating 7a3296
# What parts do we want to build?  We must build at least one kernel.
Jesse Keating 7a3296
# These are the kernels that are built IF the architecture allows it.
Jesse Keating 7a3296
# All should default to 1 (enabled) and be flipped to 0 (disabled)
Jesse Keating 7a3296
# by later arch-specific checks.
Jesse Keating 7a3296
Jesse Keating 7a3296
# The following build options are enabled by default.
Jesse Keating 7a3296
# Use either --without <opt> in your rpmbuild command or force values
Jesse Keating 7a3296
# to 0 in here to disable them.
Jesse Keating 7a3296
#
Jesse Keating 7a3296
# standard kernel
Jesse Keating 7a3296
%define with_up        %{?_without_up:        0} %{?!_without_up:        1}
Kyle McMartin bc5f99
# kernel PAE (only valid for i686 (PAE) and ARM (lpae))
Jarod Wilson 5b0327
%define with_pae       %{?_without_pae:       0} %{?!_without_pae:       1}
Jesse Keating 7a3296
# kernel-debug
Jesse Keating 7a3296
%define with_debug     %{?_without_debug:     0} %{?!_without_debug:     1}
Jesse Keating 7a3296
# kernel-headers
Jesse Keating 7a3296
%define with_headers   %{?_without_headers:   0} %{?!_without_headers:   1}
f65f3f
%define with_cross_headers   %{?_without_cross_headers:   0} %{?!_without_cross_headers:   1}
Jesse Keating 7a3296
# kernel-debuginfo
Kyle McMartin 761d1c
%define with_debuginfo %{?_without_debuginfo: 0} %{?!_without_debuginfo: 1}
Jesse Keating 7a3296
# Want to build a the vsdo directories installed
Jesse Keating 7a3296
%define with_vdso_install %{?_without_vdso_install: 0} %{?!_without_vdso_install: 1}
Chuck Ebbert c6b36e
#
Jesse Keating 7a3296
# Additional options for user-friendly one-off kernel building:
Jesse Keating 7a3296
#
Jesse Keating 7a3296
# Only build the base kernel (--with baseonly):
Jesse Keating 7a3296
%define with_baseonly  %{?_with_baseonly:     1} %{?!_with_baseonly:     0}
Jarod Wilson 5b0327
# Only build the pae kernel (--with paeonly):
Jarod Wilson 5b0327
%define with_paeonly   %{?_with_paeonly:      1} %{?!_with_paeonly:      0}
Jesse Keating 7a3296
# Only build the debug kernel (--with dbgonly):
Jesse Keating 7a3296
%define with_dbgonly   %{?_with_dbgonly:      1} %{?!_with_dbgonly:      0}
Chuck Ebbert c6b36e
#
Jesse Keating 7a3296
# should we do C=1 builds with sparse
Dave Jones 561b24
%define with_sparse    %{?_with_sparse:       1} %{?!_with_sparse:       0}
Chuck Ebbert 11ee03
#
Kyle McMartin 43d64b
# Cross compile requested?
Kyle McMartin 43d64b
%define with_cross    %{?_with_cross:         1} %{?!_with_cross:        0}
Kyle McMartin 43d64b
#
Chuck Ebbert 11ee03
# build a release kernel on rawhide
Chuck Ebbert 11ee03
%define with_release   %{?_with_release:      1} %{?!_with_release:      0}
Jesse Keating 7a3296
2fb3e7
# verbose build, i.e. no silent rules and V=1
2fb3e7
%define with_verbose %{?_with_verbose:        1} %{?!_with_verbose:      0}
2fb3e7
Jesse Keating 7a3296
# Set debugbuildsenabled to 1 for production (build separate debug kernels)
Jesse Keating 7a3296
#  and 0 for rawhide (all kernels are debug kernels).
Jesse Keating 7a3296
# See also 'make debug' and 'make release'.
572e50
%define debugbuildsenabled 1
Jesse Keating 7a3296
eba4a7
# Kernel headers are being split out into a separate package
259405
%if 0%{fedora}
eba4a7
%define with_headers 0
eba4a7
%define with_cross_headers 0
259405
%endif
eba4a7
2fb3e7
%if %{with_verbose}
2fb3e7
%define make_opts V=1
2fb3e7
%else
2fb3e7
%define make_opts -s
2fb3e7
%endif
2fb3e7
Jesse Keating 7a3296
# Want to build a vanilla kernel build without any non-upstream patches?
Jesse Keating 7a3296
%define with_vanilla %{?_with_vanilla: 1} %{?!_with_vanilla: 0}
Jesse Keating 7a3296
Jesse Keating 7a3296
# pkg_release is what we'll fill in for the rpm Release: field
Jesse Keating 7a3296
%if 0%{?released_kernel}
Jesse Keating 7a3296
Chuck Ebbert e6236b
%define pkg_release %{fedora_build}%{?buildid}%{?dist}
Jesse Keating 7a3296
Jesse Keating 7a3296
%else
Jesse Keating 7a3296
Jesse Keating 7a3296
# non-released_kernel
Jesse Keating 7a3296
%if 0%{?rcrev}
Jesse Keating 7a3296
%define rctag .rc%rcrev
Jesse Keating 7a3296
%else
Jesse Keating 7a3296
%define rctag .rc0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%if 0%{?gitrev}
Jesse Keating 7a3296
%define gittag .git%gitrev
Jesse Keating 7a3296
%else
Jesse Keating 7a3296
%define gittag .git0
Jesse Keating 7a3296
%endif
Kyle McMartin 66ce81
%define pkg_release 0%{?rctag}%{?gittag}.%{fedora_build}%{?buildid}%{?dist}
Jesse Keating 7a3296
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
# The kernel tarball/base version
85afd6
%define kversion 4.%{base_sublevel}
Jesse Keating 7a3296
Jesse Keating 7a3296
%define make_target bzImage
3ceaf1
%define image_install_path boot
Jesse Keating 7a3296
Jesse Keating 7a3296
%define KVERREL %{version}-%{release}.%{_target_cpu}
Jesse Keating 7a3296
%define hdrarch %_target_cpu
Jesse Keating 7a3296
%define asmarch %_target_cpu
Jesse Keating 7a3296
Jesse Keating 7a3296
%if 0%{!?nopatches:1}
Jesse Keating 7a3296
%define nopatches 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_vanilla}
Jesse Keating 7a3296
%define nopatches 1
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{nopatches}
Jesse Keating 7a3296
%define variant -vanilla
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%if !%{debugbuildsenabled}
Jesse Keating 7a3296
%define with_debug 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%if !%{with_debuginfo}
Jesse Keating 7a3296
%define _enable_debug_packages 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%define debuginfodir /usr/lib/debug
88fc0e
# Needed because we override almost everything involving build-ids
88fc0e
# and debuginfo generation. Currently we rely on the old alldebug setting.
88fc0e
%global _build_id_links alldebug
Jesse Keating 7a3296
21e4b8
# kernel PAE is only built on ARMv7 in rawhide.
21e4b8
# Fedora 27 and earlier still support PAE, so change this on rebases.
21e4b8
# %ifnarch i686 armv7hl
21e4b8
%ifnarch armv7hl
Jesse Keating 7a3296
%define with_pae 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
# if requested, only build base kernel
Jesse Keating 7a3296
%if %{with_baseonly}
Jarod Wilson 5b0327
%define with_pae 0
Jarod Wilson 5b0327
%define with_debug 0
Jarod Wilson 5b0327
%endif
Jarod Wilson 5b0327
Jarod Wilson 5b0327
# if requested, only build pae kernel
Jarod Wilson 5b0327
%if %{with_paeonly}
Jarod Wilson 5b0327
%define with_up 0
Jesse Keating 7a3296
%define with_debug 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
# if requested, only build debug kernel
Jesse Keating 7a3296
%if %{with_dbgonly}
Jesse Keating 7a3296
%if %{debugbuildsenabled}
Jesse Keating 7a3296
%define with_up 0
Jarod Wilson 5b0327
%define with_pae 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%define with_pae 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%define all_x86 i386 i686
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_vdso_install}
df3d8e
%define use_vdso 1
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
# Overrides for generic default options
Jesse Keating 7a3296
Jesse Keating 7a3296
# don't do debug builds on anything but i686 and x86_64
Jesse Keating 7a3296
%ifnarch i686 x86_64
Jesse Keating 7a3296
%define with_debug 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
# don't build noarch kernels or headers (duh)
Jesse Keating 7a3296
%ifarch noarch
Jesse Keating 7a3296
%define with_up 0
Jesse Keating 7a3296
%define with_headers 0
f65f3f
%define with_cross_headers 0
Jesse Keating 7a3296
%define all_arch_configs kernel-%{version}-*.config
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
a3f68e
# sparse blows up on ppc
9a6acd
%ifnarch %{power64}
Jesse Keating 7a3296
%define with_sparse 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
# Per-arch tweaks
Jesse Keating 7a3296
Jesse Keating 7a3296
%ifarch %{all_x86}
Jesse Keating 7a3296
%define asmarch x86
Jesse Keating 7a3296
%define hdrarch i386
Kyle McMartin bc5f99
%define pae PAE
Jesse Keating 7a3296
%define all_arch_configs kernel-%{version}-i?86*.config
Jesse Keating 7a3296
%define kernel_image arch/x86/boot/bzImage
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%ifarch x86_64
Jesse Keating 7a3296
%define asmarch x86
Jesse Keating 7a3296
%define all_arch_configs kernel-%{version}-x86_64*.config
Jesse Keating 7a3296
%define kernel_image arch/x86/boot/bzImage
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
a3f68e
%ifarch %{power64}
Jesse Keating 7a3296
%define asmarch powerpc
Jesse Keating 7a3296
%define hdrarch powerpc
Jesse Keating 7a3296
%define make_target vmlinux
Jesse Keating 7a3296
%define kernel_image vmlinux
Jesse Keating 7a3296
%define kernel_image_elf 1
Josh Boyer 5a7728
%ifarch ppc64le
c9229e
%define all_arch_configs kernel-%{version}-ppc64le*.config
a3f68e
%endif
Josh Boyer 5a7728
%endif
Josh Boyer 5a7728
Jesse Keating 7a3296
%ifarch s390x
Jesse Keating 7a3296
%define asmarch s390
Jesse Keating 7a3296
%define hdrarch s390
Jesse Keating 7a3296
%define all_arch_configs kernel-%{version}-s390x.config
Hendrik Brueckner 517c0b
%define kernel_image arch/s390/boot/bzImage
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%ifarch %{arm}
Jesse Keating 7a3296
%define all_arch_configs kernel-%{version}-arm*.config
df3d8e
%define skip_nonpae_vdso 1
Josh Boyer 8ffa0a
%define asmarch arm
Jesse Keating 7a3296
%define hdrarch arm
Kyle McMartin bc5f99
%define pae lpae
986a9f
%define make_target bzImage
986a9f
%define kernel_image arch/arm/boot/zImage
Kyle McMartin 9b1a4c
# http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/091404.html
Kyle McMartin 9b1a4c
%define kernel_mflags KALLSYMS_EXTRA_PASS=1
43fa71
# we only build headers/perf/tools on the base arm arches
94b006
# just like we used to only build them on i386 for x86
a94069
%ifnarch armv7hl
94b006
%define with_headers 0
f65f3f
%define with_cross_headers 0
94b006
%endif
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Kyle McMartin 575de6
%ifarch aarch64
918c10
%define all_arch_configs kernel-%{version}-aarch64*.config
Kyle McMartin 575de6
%define asmarch arm64
Kyle McMartin 575de6
%define hdrarch arm64
Kyle McMartin 575de6
%define make_target Image.gz
Kyle McMartin 575de6
%define kernel_image arch/arm64/boot/Image.gz
Kyle McMartin 575de6
%endif
Kyle McMartin 575de6
Dave Jones 834dba
# Should make listnewconfig fail if there's config options
Dave Jones 834dba
# printed out?
cff59d
%if %{nopatches}
Dave Jones 834dba
%define listnewconfig_fail 0
a20ad4
%define configmismatch_fail 0
Dave Jones 834dba
%else
Dave Jones 834dba
%define listnewconfig_fail 1
ab0c52
%define configmismatch_fail 1
Dave Jones 834dba
%endif
Dave Jones 834dba
Jesse Keating 7a3296
# To temporarily exclude an architecture from being built, add it to
Dave Jones 166b79
# %%nobuildarches. Do _NOT_ use the ExclusiveArch: line, because if we
Jesse Keating 7a3296
# don't build kernel-headers then the new build system will no longer let
Jesse Keating 7a3296
# us use the previous build of that package -- it'll just be completely AWOL.
Jesse Keating 7a3296
# Which is a BadThing(tm).
Jesse Keating 7a3296
Jesse Keating 7a3296
# We only build kernel-headers on the following...
26ec74
%define nobuildarches i386
Jesse Keating 7a3296
Jesse Keating 7a3296
%ifarch %nobuildarches
Jesse Keating 7a3296
%define with_up 0
Jesse Keating 7a3296
%define with_pae 0
Jesse Keating 7a3296
%define with_debuginfo 0
abad14
%define with_debug 0
Jesse Keating 7a3296
%define _enable_debug_packages 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%define with_pae_debug 0
Jesse Keating 7a3296
%if %{with_pae}
Jesse Keating 7a3296
%define with_pae_debug %{with_debug}
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Josh Boyer 8addb5
# Architectures we build tools/cpupower on
2117ac
%define cpupowerarchs %{ix86} x86_64 %{power64} %{arm} aarch64
Josh Boyer 8addb5
df3d8e
%if %{use_vdso}
df3d8e
df3d8e
%if 0%{?skip_nonpae_vdso}
df3d8e
%define _use_vdso 0
df3d8e
%else
df3d8e
%define _use_vdso 1
df3d8e
%endif
df3d8e
df3d8e
%else
df3d8e
%define _use_vdso 0
df3d8e
%endif
df3d8e
df3d8e
Jesse Keating 7a3296
#
Dave Jones 166b79
# Packages that need to be installed before the kernel is, because the %%post
Jesse Keating 7a3296
# scripts use them.
Jesse Keating 7a3296
#
e07a3b
%define kernel_prereq  coreutils, systemd >= 203-2, /usr/bin/kernel-install
Josh Boyer 6d752a
%define initrd_prereq  dracut >= 027
Jesse Keating 7a3296
Jesse Keating 7a3296
Jesse Keating 7a3296
Name: kernel%{?variant}
Dave Jones 702ef3
License: GPLv2 and Redistributable, no modification permitted
dce627
URL: https://www.kernel.org/
Jesse Keating 7a3296
Version: %{rpmversion}
e093b2
Release: %{pkg_release}
Jesse Keating 7a3296
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
Jesse Keating 7a3296
# SET %%nobuildarches (ABOVE) INSTEAD
bec265
ExclusiveArch: %{all_x86} x86_64 s390x %{arm} aarch64 ppc64le
Jesse Keating 7a3296
ExclusiveOS: Linux
a9cc54
%ifnarch %{nobuildarches}
Jarod Wilson a96d89
Requires: kernel-core-uname-r = %{KVERREL}%{?variant}
Jarod Wilson a96d89
Requires: kernel-modules-uname-r = %{KVERREL}%{?variant}
a9cc54
%endif
Jesse Keating 7a3296
Dave Jones efc71a
Jesse Keating 7a3296
#
Jesse Keating 7a3296
# List the packages used during the kernel build
Jesse Keating 7a3296
#
761bb0
BuildRequires: kmod, patch, bash, tar, git-core
575a9e
BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk
2a778f
BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex
6fed0f
BuildRequires: net-tools, hostname, bc, elfutils-devel, gcc-plugin-devel
Jeremy Cline 1a0811
# Used to mangle unversioned shebangs to be Python 3
Jeremy Cline 1a0811
BuildRequires: /usr/bin/pathfix.py
Jesse Keating 7a3296
%if %{with_sparse}
Kyle McMartin 11dfcd
BuildRequires: sparse
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
BuildConflicts: rhbuildsys(DiskFree) < 500Mb
Jesse Keating 7a3296
%if %{with_debuginfo}
Kyle McMartin 11dfcd
BuildRequires: rpm-build, elfutils
debc7c
BuildConflicts: rpm < 4.13.0.1-19
debc7c
# Most of these should be enabled after more investigation
debc7c
%undefine _include_minidebuginfo
debc7c
%undefine _find_debuginfo_dwz_opts
debc7c
%undefine _unique_build_ids
debc7c
%undefine _unique_debug_names
debc7c
%undefine _unique_debug_srcs
e23cf2
%undefine _debugsource_packages
e23cf2
%undefine _debuginfo_subpackages
36c073
%undefine _include_gdb_index
debc7c
%global _find_debuginfo_opts -r
debc7c
%global _missing_build_ids_terminate_build 1
debc7c
%global _no_recompute_build_ids 1
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
149275
%if %{signkernel}%{signmodules}
c0b697
BuildRequires: openssl openssl-devel
149275
%if %{signkernel}
Josh Boyer bf81d1
BuildRequires: pesign >= 0.10-4
Josh Boyer c2a12c
%endif
149275
%endif
Josh Boyer c2a12c
Kyle McMartin 43d64b
%if %{with_cross}
Kyle McMartin 43d64b
BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu
Kyle McMartin 43d64b
%define cross_opts CROSS_COMPILE=%{_build_arch}-linux-gnu-
Kyle McMartin 43d64b
%endif
Kyle McMartin 43d64b
aca291
Source0: https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{kversion}.tar.xz
Jesse Keating 7a3296
Josh Boyer f0f4ff
Source11: x509.genkey
523d98
Source12: remove-binary-diff.pl
Jesse Keating 7a3296
Source15: merge.pl
Josh Boyer b8b278
Source16: mod-extra.list
Josh Boyer 0b4338
Source17: mod-extra.sh
Kyle McMartin d0a8cf
Source18: mod-sign.sh
94ce4e
Source90: filter-x86_64.sh
94ce4e
Source91: filter-armv7hl.sh
94ce4e
Source92: filter-i686.sh
94ce4e
Source93: filter-aarch64.sh
bec265
Source94: filter-ppc64le.sh
bec265
Source95: filter-s390x.sh
94ce4e
Source99: filter-modules.sh
Kyle McMartin d0a8cf
%define modsign_cmd %{SOURCE18}
Jesse Keating 7a3296
1b7eeb
Source20: kernel-aarch64.config
1b7eeb
Source21: kernel-aarch64-debug.config
1b7eeb
Source22: kernel-armv7hl.config
1b7eeb
Source23: kernel-armv7hl-debug.config
1b7eeb
Source24: kernel-armv7hl-lpae.config
1b7eeb
Source25: kernel-armv7hl-lpae-debug.config
1b7eeb
Source26: kernel-i686.config
1b7eeb
Source27: kernel-i686-debug.config
bec265
Source30: kernel-ppc64le.config
bec265
Source31: kernel-ppc64le-debug.config
bec265
Source32: kernel-s390x.config
bec265
Source33: kernel-s390x-debug.config
bec265
Source34: kernel-x86_64.config
bec265
Source35: kernel-x86_64-debug.config
1b7eeb
1b7eeb
Source40: generate_all_configs.sh
1b7eeb
Source41: generate_debug_configs.sh
Jesse Keating 7a3296
2bf928
Source42: process_configs.sh
08732e
Source43: generate_bls_conf.sh
a20ad4
Jarod Wilson 5b6529
# This file is intentionally left empty in the stock kernel. Its a nicety
Jarod Wilson 5b6529
# added for those wanting to do custom rebuilds with altered config opts.
1b7eeb
Source1000: kernel-local
Jarod Wilson 5b6529
Josh Boyer 8addb5
# Sources for kernel-tools
Josh Boyer 8addb5
Source2000: cpupower.service
Josh Boyer 8addb5
Source2001: cpupower.config
Josh Boyer 8addb5
Jesse Keating 7a3296
# Here should be only the patches up to the upstream canonical Linus tree.
Jesse Keating 7a3296
Jesse Keating 7a3296
# For a stable release kernel
Jesse Keating 7a3296
%if 0%{?stable_update}
Jesse Keating 7a3296
%if 0%{?stable_base}
d72933
%define    stable_patch_00  patch-4.%{base_sublevel}.%{stable_base}.xz
178df3
Source5000: %{stable_patch_00}
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
# non-released_kernel case
Jesse Keating 7a3296
# These are automagically defined by the rcrev and gitrev values set up
Jesse Keating 7a3296
# near the top of this spec file.
Jesse Keating 7a3296
%else
Jesse Keating 7a3296
%if 0%{?rcrev}
178df3
Source5000: patch-4.%{upstream_sublevel}-rc%{rcrev}.xz
Jesse Keating 7a3296
%if 0%{?gitrev}
178df3
Source5001: patch-4.%{upstream_sublevel}-rc%{rcrev}-git%{gitrev}.xz
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%else
Jesse Keating 7a3296
# pre-{base_sublevel+1}-rc1 case
Jesse Keating 7a3296
%if 0%{?gitrev}
178df3
Source5000: patch-4.%{base_sublevel}-git%{gitrev}.xz
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
476553
## Patches needed for building this package
476553
476553
## compile fixes
476553
476553
# ongoing complaint, full discussion delayed until ksummit/plumbers
476553
Patch002: 0001-iio-Use-event-header-from-kernel-tree.patch
476553
Jesse Keating 7a3296
%if !%{nopatches}
Jesse Keating 7a3296
Jesse Keating 7a3296
# Git trees.
Jesse Keating 7a3296
Jesse Keating 7a3296
# Standalone patches
72924c
# 100 - Generic long running patches
Jesse Keating 7a3296
72924c
Patch110: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
db34f9
72924c
Patch111: input-kill-stupid-messages.patch
57a67d
72924c
Patch112: die-floppy-die.patch
07611b
72924c
Patch113: no-pcspkr-modalias.patch
07611b
72924c
Patch114: silence-fbcon-logo.patch
35eff4
72924c
Patch115: Kbuild-Add-an-option-to-enable-GCC-VTA.patch
c59b07
dec699
Patch116: crash-driver.patch
dec699
72924c
Patch117: lis3-improve-handling-of-null-rate.patch
6c5f57
72924c
Patch118: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
e93be6
Jeremy Cline 9b4f0f
Patch119: namespaces-no-expert.patch
861737
72924c
Patch120: ath9k-rx-dma-stop-check.patch
72924c
72924c
Patch121: xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
72924c
72924c
Patch122: Input-synaptics-pin-3-touches-when-the-firmware-repo.patch
ddc931
ad5e49
# This no longer applies, let's see if it needs to be updated
ad5e49
# Patch123: firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
4768e6
72924c
# 200 - x86 / secureboot
Jesse Keating 7a3296
72924c
Patch201: efi-lockdown.patch
Jesse Keating 7a3296
72924c
Patch202: KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch
Josh Boyer 306dfc
72924c
Patch203: Add-EFI-signature-data-types.patch
6a9155
72924c
Patch204: Add-an-EFI-signature-blob-parser-and-key-loader.patch
Matthew Garrett 447e3a
72924c
Patch205: MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch
bbf3f5
72924c
Patch206: MODSIGN-Support-not-importing-certs-from-db.patch
Jesse Keating 7a3296
7bea88
# bz 1497559 - Make kernel MODSIGN code not error on missing variables
8eb3db
Patch207: 0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch
8eb3db
Patch208: 0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch
8eb3db
Patch209: 0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch
8eb3db
72924c
Patch210: disable-i8042-check-on-apple-mac.patch
Dave Jones 18e50c
72924c
Patch211: drm-i915-hush-check-crtc-state.patch
8c64d2
bbfe8b
Patch212: efi-secureboot.patch
bbfe8b
72924c
# 300 - ARM patches
b98ae2
Patch300: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
Josh Boyer 27e48a
72924c
# http://www.spinics.net/lists/linux-tegra/msg26029.html
3a0a8f
Patch301: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
72924c
# http://patchwork.ozlabs.org/patch/587554/
5324c7
Patch302: ARM-tegra-usb-no-reset.patch
bd6ba4
ac8c6d
# https://patchwork.kernel.org/patch/10351797/
ac8c6d
Patch303: ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch
ac8c6d
# rhbz 1574718
ac8c6d
Patch304: ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch
ac8c6d
aa1806
# https://patchwork.kernel.org/patch/9820417/
ac8c6d
Patch305: qcom-msm89xx-fixes.patch
b98ae2
4a31f0
# https://patchwork.kernel.org/project/linux-mmc/list/?submitter=71861
15b305
Patch306: arm-sdhci-esdhc-imx-fixes.patch
181211
e824af
Patch330: bcm2835-cpufreq-add-CPU-frequency-control-driver.patch
dbd77f
71dcda
Patch331: bcm283x-drm-vc4-set-is_yuv-to-false-when-num_planes-1.patch
71dcda
0bae75
# Patches enabling device specific brcm firmware nvram
f0d49a
# https://www.spinics.net/lists/linux-wireless/msg178827.html
f0d49a
Patch340: brcmfmac-Remove-firmware-loading-code-duplication.patch
0bae75
f145a6
# Fix for AllWinner A64 Timer Errata, still not final
f145a6
# https://patchwork.kernel.org/patch/10392891/
f145a6
Patch350: arm64-arch_timer-Workaround-for-Allwinner-A64-timer-instability.patch
f145a6
Patch351: arm64-dts-allwinner-a64-Enable-A64-timer-workaround.patch
f145a6
72924c
# 400 - IBM (ppc/s390x) patches
35eff4
72924c
# 500 - Temp fixes/CVEs etc
6adde4
32d17a
# rhbz 1476467
7f3c03
Patch501: Fix-for-module-sig-verification.patch
32d17a
ab0c52
# rhbz 1431375
7f3c03
Patch502: input-rmi4-remove-the-need-for-artifical-IRQ.patch
ab0c52
bf0b23
# Fix build on s390
bf0b23
Patch503: 0001-s390-mm-Fix-ERROR-__node_distance-undefined.patch
bf0b23
Josh Boyer 812ba1
# END OF PATCH DEFINITIONS
Josh Boyer 812ba1
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
Jesse Keating 7a3296
%description
94ce4e
The kernel meta package
94ce4e
94ce4e
#
94ce4e
# This macro does requires, provides, conflicts, obsoletes for a kernel package.
94ce4e
#	%%kernel_reqprovconf <subpackage>
94ce4e
# It uses any kernel_<subpackage>_conflicts and kernel_<subpackage>_obsoletes
94ce4e
# macros defined above.
94ce4e
#
94ce4e
%define kernel_reqprovconf \
94ce4e
Provides: kernel = %{rpmversion}-%{pkg_release}\
94ce4e
Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}%{?1:+%{1}}\
94ce4e
Provides: kernel-drm-nouveau = 16\
Jarod Wilson a96d89
Provides: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
94ce4e
Requires(pre): %{kernel_prereq}\
94ce4e
Requires(pre): %{initrd_prereq}\
573a44
Requires(pre): linux-firmware >= 20150904-56.git6ebf5d57\
94ce4e
Requires(preun): systemd >= 200\
519148
Conflicts: xfsprogs < 4.3.0-1\
6ab5f4
Conflicts: xorg-x11-drv-vmmouse < 13.0.99\
94ce4e
%{expand:%%{?kernel%{?1:_%{1}}_conflicts:Conflicts: %%{kernel%{?1:_%{1}}_conflicts}}}\
94ce4e
%{expand:%%{?kernel%{?1:_%{1}}_obsoletes:Obsoletes: %%{kernel%{?1:_%{1}}_obsoletes}}}\
94ce4e
%{expand:%%{?kernel%{?1:_%{1}}_provides:Provides: %%{kernel%{?1:_%{1}}_provides}}}\
94ce4e
# We can't let RPM do the dependencies automatic because it'll then pick up\
94ce4e
# a correct but undesirable perl dependency from the module headers which\
94ce4e
# isn't required for the kernel proper to function\
f19b8f
AutoReq: no\
f19b8f
AutoProv: yes\
94ce4e
%{nil}
Jesse Keating 7a3296
Jesse Keating 7a3296
%package headers
Jesse Keating 7a3296
Summary: Header files for the Linux kernel for use by glibc
Dave Jones d555d6
Obsoletes: glibc-kernheaders < 3.0-46
Jesse Keating 7a3296
Provides: glibc-kernheaders = 3.0-46
Jarod Wilson cde0b0
%if "0%{?variant}"
Jarod Wilson 8a29c5
Obsoletes: kernel-headers < %{rpmversion}-%{pkg_release}
Jarod Wilson 8a29c5
Provides: kernel-headers = %{rpmversion}-%{pkg_release}
Jarod Wilson 8a29c5
%endif
Jesse Keating 7a3296
%description headers
Jesse Keating 7a3296
Kernel-headers includes the C header files that specify the interface
Jesse Keating 7a3296
between the Linux kernel and userspace libraries and programs.  The
Jesse Keating 7a3296
header files define structures and constants that are needed for
Jesse Keating 7a3296
building most standard programs and are also needed for rebuilding the
Jesse Keating 7a3296
glibc package.
Jesse Keating 7a3296
f65f3f
%package cross-headers
f65f3f
Summary: Header files for the Linux kernel for use by cross-glibc
f65f3f
%description cross-headers
f65f3f
Kernel-cross-headers includes the C header files that specify the interface
f65f3f
between the Linux kernel and userspace libraries and programs.  The
f65f3f
header files define structures and constants that are needed for
f65f3f
building most standard programs and are also needed for rebuilding the
f65f3f
cross-glibc package.
f65f3f
f65f3f
Jesse Keating 7a3296
%package debuginfo-common-%{_target_cpu}
Jesse Keating 7a3296
Summary: Kernel source files used by %{name}-debuginfo packages
f8e555
Provides: installonlypkg(kernel)
Jesse Keating 7a3296
%description debuginfo-common-%{_target_cpu}
Jesse Keating 7a3296
This package is required by %{name}-debuginfo subpackages.
Jesse Keating 7a3296
It provides the kernel source files common to all builds.
Jesse Keating 7a3296
Jesse Keating 7a3296
#
Jesse Keating 7a3296
# This macro creates a kernel-<subpackage>-debuginfo package.
Jesse Keating 7a3296
#	%%kernel_debuginfo_package <subpackage>
Jesse Keating 7a3296
#
Jesse Keating 7a3296
%define kernel_debuginfo_package() \
Jesse Keating 7a3296
%package %{?1:%{1}-}debuginfo\
Jesse Keating 7a3296
Summary: Debug information for package %{name}%{?1:-%{1}}\
Jesse Keating 7a3296
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}\
Jesse Keating 7a3296
Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{version}-%{release}\
f8e555
Provides: installonlypkg(kernel)\
Jesse Keating 7a3296
AutoReqProv: no\
Jarod Wilson b55491
%description %{?1:%{1}-}debuginfo\
Jesse Keating 7a3296
This package provides debug information for package %{name}%{?1:-%{1}}.\
Jesse Keating 7a3296
This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVERREL}.\
debc7c
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '/.*/%%{KVERREL}%{?1:[+]%{1}}/.*|/.*%%{KVERREL}%{?1:\+%{1}}(\.debug)?' -o debuginfo%{?1}.list}\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
Jesse Keating 7a3296
#
Jesse Keating 7a3296
# This macro creates a kernel-<subpackage>-devel package.
Jesse Keating 7a3296
#	%%kernel_devel_package <subpackage> <pretty-name>
Jesse Keating 7a3296
#
Jesse Keating 7a3296
%define kernel_devel_package() \
Jesse Keating 7a3296
%package %{?1:%{1}-}devel\
Jesse Keating 7a3296
Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\
Jesse Keating 7a3296
Provides: kernel%{?1:-%{1}}-devel-%{_target_cpu} = %{version}-%{release}\
faf252
Provides: kernel-devel-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
Jarod Wilson a96d89
Provides: kernel-devel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
aba394
Provides: installonlypkg(kernel)\
Jesse Keating 7a3296
AutoReqProv: no\
9b73a1
Requires(pre): findutils\
9b73a1
Requires: findutils\
575a9e
Requires: perl-interpreter\
Jarod Wilson b55491
%description %{?1:%{1}-}devel\
Jesse Keating 7a3296
This package provides kernel headers and makefiles sufficient to build modules\
Jesse Keating 7a3296
against the %{?2:%{2} }kernel package.\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
Jesse Keating 7a3296
#
Josh Boyer b8b278
# This macro creates a kernel-<subpackage>-modules-extra package.
Kyle McMartin de50ed
#	%%kernel_modules_extra_package <subpackage> <pretty-name>
Josh Boyer b8b278
#
Kyle McMartin de50ed
%define kernel_modules_extra_package() \
Josh Boyer b8b278
%package %{?1:%{1}-}modules-extra\
Josh Boyer b8b278
Summary: Extra kernel modules to match the %{?2:%{2} }kernel\
Josh Boyer b8b278
Provides: kernel%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}\
3752c8
Provides: kernel%{?1:-%{1}}-modules-extra-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
3752c8
Provides: kernel%{?1:-%{1}}-modules-extra = %{version}-%{release}%{?1:+%{1}}\
Josh Boyer 6721e4
Provides: installonlypkg(kernel-module)\
Jarod Wilson a96d89
Provides: kernel%{?1:-%{1}}-modules-extra-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Jarod Wilson a96d89
Requires: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Jarod Wilson a96d89
Requires: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
f19b8f
AutoReq: no\
f19b8f
AutoProv: yes\
Jarod Wilson b55491
%description %{?1:%{1}-}modules-extra\
Josh Boyer b8b278
This package provides less commonly used kernel modules for the %{?2:%{2} }kernel package.\
Josh Boyer b8b278
%{nil}
Josh Boyer b8b278
Josh Boyer b8b278
#
aa7351
# This macro creates a kernel-<subpackage>-modules package.
aa7351
#	%%kernel_modules_package <subpackage> <pretty-name>
94ce4e
#
aa7351
%define kernel_modules_package() \
aa7351
%package %{?1:%{1}-}modules\
94ce4e
Summary: kernel modules to match the %{?2:%{2}-}core kernel\
aa7351
Provides: kernel%{?1:-%{1}}-modules-%{_target_cpu} = %{version}-%{release}\
aa7351
Provides: kernel-modules-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
aa7351
Provides: kernel-modules = %{version}-%{release}%{?1:+%{1}}\
94ce4e
Provides: installonlypkg(kernel-module)\
Jarod Wilson a96d89
Provides: kernel%{?1:-%{1}}-modules-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
Jarod Wilson a96d89
Requires: kernel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
f19b8f
AutoReq: no\
f19b8f
AutoProv: yes\
Jarod Wilson b55491
%description %{?1:%{1}-}modules\
94ce4e
This package provides commonly used kernel modules for the %{?2:%{2}-}core kernel package.\
94ce4e
%{nil}
94ce4e
94ce4e
#
335206
# this macro creates a kernel-<subpackage> meta package.
335206
#	%%kernel_meta_package <subpackage>
335206
#
335206
%define kernel_meta_package() \
335206
%package %{1}\
335206
summary: kernel meta-package for the %{1} kernel\
Jarod Wilson a96d89
Requires: kernel-%{1}-core-uname-r = %{KVERREL}%{?variant}+%{1}\
Jarod Wilson a96d89
Requires: kernel-%{1}-modules-uname-r = %{KVERREL}%{?variant}+%{1}\
f8e555
Provides: installonlypkg(kernel)\
335206
%description %{1}\
335206
The meta-package for the %{1} kernel\
335206
%{nil}
335206
335206
#
Jesse Keating 7a3296
# This macro creates a kernel-<subpackage> and its -devel and -debuginfo too.
Jesse Keating 7a3296
#	%%define variant_summary The Linux kernel compiled for <configuration>
Jesse Keating 7a3296
#	%%kernel_variant_package [-n <pretty-name>] <subpackage>
Jesse Keating 7a3296
#
Jesse Keating 7a3296
%define kernel_variant_package(n:) \
94ce4e
%package %{?1:%{1}-}core\
Jesse Keating 7a3296
Summary: %{variant_summary}\
Jarod Wilson a96d89
Provides: kernel-%{?1:%{1}-}core-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
f8e555
Provides: installonlypkg(kernel)\
972f0e
%ifarch %{power64}\
972f0e
Obsoletes: kernel-bootwrapper\
972f0e
%endif\
94ce4e
%{expand:%%kernel_reqprovconf}\
335206
%if %{?1:1} %{!?1:0} \
335206
%{expand:%%kernel_meta_package %{?1:%{1}}}\
335206
%endif\
94ce4e
%{expand:%%kernel_devel_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
aa7351
%{expand:%%kernel_modules_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
94ce4e
%{expand:%%kernel_modules_extra_package %{?1:%{1}} %{!?{-n}:%{1}}%{?{-n}:%{-n*}}}\
94ce4e
%{expand:%%kernel_debuginfo_package %{?1:%{1}}}\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
Jesse Keating 7a3296
# Now, each variant package.
Jesse Keating 7a3296
0a7987
%if %{with_pae}
Kyle McMartin be52af
%ifnarch armv7hl
Jesse Keating 7a3296
%define variant_summary The Linux kernel compiled for PAE capable machines
Kyle McMartin bc5f99
%kernel_variant_package %{pae}
94ce4e
%description %{pae}-core
Jesse Keating 7a3296
This package includes a version of the Linux kernel with support for up to
Jesse Keating 7a3296
64GB of high memory. It requires a CPU with Physical Address Extensions (PAE).
Jesse Keating 7a3296
The non-PAE kernel can only address up to 4GB of memory.
Jesse Keating 7a3296
Install the kernel-PAE package if your machine has more than 4GB of memory.
Kyle McMartin be52af
%else
Kyle McMartin bc5f99
%define variant_summary The Linux kernel compiled for Cortex-A15
Kyle McMartin bc5f99
%kernel_variant_package %{pae}
94ce4e
%description %{pae}-core
Kyle McMartin bc5f99
This package includes a version of the Linux kernel with support for
Kyle McMartin bc5f99
Cortex-A15 devices with LPAE and HW virtualisation support
Kyle McMartin bc5f99
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
Jesse Keating 7a3296
%define variant_summary The Linux kernel compiled with extra debugging enabled for PAE capable machines
Kyle McMartin bc5f99
%kernel_variant_package %{pae}debug
Jesse Keating 7a3296
Obsoletes: kernel-PAE-debug
94ce4e
%description %{pae}debug-core
Jesse Keating 7a3296
This package includes a version of the Linux kernel with support for up to
Jesse Keating 7a3296
64GB of high memory. It requires a CPU with Physical Address Extensions (PAE).
Jesse Keating 7a3296
The non-PAE kernel can only address up to 4GB of memory.
Jesse Keating 7a3296
Install the kernel-PAE package if your machine has more than 4GB of memory.
Jesse Keating 7a3296
Jesse Keating 7a3296
This variant of the kernel has numerous debugging options enabled.
Jesse Keating 7a3296
It should only be installed when trying to gather additional information
Jesse Keating 7a3296
on kernel bugs, as some of these options impact performance noticably.
0a7987
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%define variant_summary The Linux kernel compiled with extra debugging enabled
Jesse Keating 7a3296
%kernel_variant_package debug
94ce4e
%description debug-core
Jesse Keating 7a3296
The kernel package contains the Linux kernel (vmlinuz), the core of any
Jesse Keating 7a3296
Linux operating system.  The kernel handles the basic functions
Jesse Keating 7a3296
of the operating system:  memory allocation, process allocation, device
Jesse Keating 7a3296
input and output, etc.
Jesse Keating 7a3296
Jesse Keating 7a3296
This variant of the kernel has numerous debugging options enabled.
Jesse Keating 7a3296
It should only be installed when trying to gather additional information
Jesse Keating 7a3296
on kernel bugs, as some of these options impact performance noticably.
Jesse Keating 7a3296
94ce4e
# And finally the main -core package
94ce4e
94ce4e
%define variant_summary The Linux kernel
2117ac
%kernel_variant_package
94ce4e
%description core
94ce4e
The kernel package contains the Linux kernel (vmlinuz), the core of any
94ce4e
Linux operating system.  The kernel handles the basic functions
94ce4e
of the operating system: memory allocation, process allocation, device
94ce4e
input and output, etc.
94ce4e
986a9f
Jesse Keating 7a3296
%prep
Jesse Keating 7a3296
# do a few sanity-checks for --with *only builds
Jesse Keating 7a3296
%if %{with_baseonly}
Jesse Keating 7a3296
%if !%{with_up}%{with_pae}
Jesse Keating 7a3296
echo "Cannot build --with baseonly, up build is disabled"
Jesse Keating 7a3296
exit 1
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Josh Boyer c78a08
%if "%{baserelease}" == "0"
Chuck Ebbert 05e763
echo "baserelease must be greater than zero"
Chuck Ebbert 05e763
exit 1
Chuck Ebbert 05e763
%endif
Chuck Ebbert 05e763
Jesse Keating 7a3296
# more sanity checking; do it quietly
Jesse Keating 7a3296
if [ "%{patches}" != "%%{patches}" ] ; then
Jesse Keating 7a3296
  for patch in %{patches} ; do
Jesse Keating 7a3296
    if [ ! -f $patch ] ; then
Jesse Keating 7a3296
      echo "ERROR: Patch  ${patch##/*/}  listed in specfile but is missing"
Jesse Keating 7a3296
      exit 1
Jesse Keating 7a3296
    fi
Jesse Keating 7a3296
  done
Jesse Keating 7a3296
fi 2>/dev/null
Jesse Keating 7a3296
Jesse Keating 7a3296
patch_command='patch -p1 -F1 -s'
Jesse Keating 7a3296
ApplyPatch()
Jesse Keating 7a3296
{
Jesse Keating 7a3296
  local patch=$1
Jesse Keating 7a3296
  shift
Jesse Keating 7a3296
  if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
Jesse Keating 7a3296
    exit 1
Jesse Keating 7a3296
  fi
Dave Jones b89c80
  if ! grep -E "^Patch[0-9]+: $patch\$" %{_specdir}/${RPM_PACKAGE_NAME%%%%%{?variant}}.spec ; then
adc659
    if [ "${patch:0:8}" != "patch-4." ] ; then
Jesse Keating 7a3296
      echo "ERROR: Patch  $patch  not listed as a source patch in specfile"
Jesse Keating 7a3296
      exit 1
Jesse Keating 7a3296
    fi
Jesse Keating 7a3296
  fi 2>/dev/null
Jesse Keating 7a3296
  case "$patch" in
Jesse Keating 7a3296
  *.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
Chuck Ebbert 7cfa68
  *.gz)  gunzip  < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
Chuck Ebbert 7cfa68
  *.xz)  unxz    < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
Jesse Keating 7a3296
  *) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;;
Jesse Keating 7a3296
  esac
Jesse Keating 7a3296
}
Jesse Keating 7a3296
Jesse Keating 7a3296
# don't apply patch if it's empty
Jesse Keating 7a3296
ApplyOptionalPatch()
Jesse Keating 7a3296
{
Jesse Keating 7a3296
  local patch=$1
Jesse Keating 7a3296
  shift
Jesse Keating 7a3296
  if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
Jesse Keating 7a3296
    exit 1
Jesse Keating 7a3296
  fi
Jesse Keating 7a3296
  local C=$(wc -l $RPM_SOURCE_DIR/$patch | awk '{print $1}')
Jesse Keating 7a3296
  if [ "$C" -gt 9 ]; then
Jesse Keating 7a3296
    ApplyPatch $patch ${1+"$@"}
Jesse Keating 7a3296
  fi
Jesse Keating 7a3296
}
Jesse Keating 7a3296
Jesse Keating 7a3296
# First we unpack the kernel tarball.
Jesse Keating 7a3296
# If this isn't the first make prep, we use links to the existing clean tarball
Jesse Keating 7a3296
# which speeds things up quite a bit.
Jesse Keating 7a3296
Jesse Keating 7a3296
# Update to latest upstream.
Jesse Keating 7a3296
%if 0%{?released_kernel}
d72933
%define vanillaversion 4.%{base_sublevel}
Jesse Keating 7a3296
# non-released_kernel case
Jesse Keating 7a3296
%else
Jesse Keating 7a3296
%if 0%{?rcrev}
d72933
%define vanillaversion 4.%{upstream_sublevel}-rc%{rcrev}
Jesse Keating 7a3296
%if 0%{?gitrev}
d72933
%define vanillaversion 4.%{upstream_sublevel}-rc%{rcrev}-git%{gitrev}
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%else
Jesse Keating 7a3296
# pre-{base_sublevel+1}-rc1 case
Jesse Keating 7a3296
%if 0%{?gitrev}
d72933
%define vanillaversion 4.%{base_sublevel}-git%{gitrev}
Jesse Keating 7a3296
%else
d72933
%define vanillaversion 4.%{base_sublevel}
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Dave Jones 166b79
# %%{vanillaversion} : the full version name, e.g. 2.6.35-rc6-git3
Dave Jones 166b79
# %%{kversion}       : the base version, e.g. 2.6.34
Jesse Keating 7a3296
Dave Jones 166b79
# Use kernel-%%{kversion}%%{?dist} as the top-level directory name
Chuck Ebbert 26d08c
# so we can prep different trees within a single git directory.
Jesse Keating 7a3296
Chuck Ebbert 26d08c
# Build a list of the other top-level kernel tree directories.
Chuck Ebbert 26d08c
# This will be used to hardlink identical vanilla subdirs.
d72933
sharedirs=$(find "$PWD" -maxdepth 1 -type d -name 'kernel-4.*' \
Chuck Ebbert 26d08c
            | grep -x -v "$PWD"/kernel-%{kversion}%{?dist}) ||:
Jesse Keating 7a3296
Dave Jones 9e2943
# Delete all old stale trees.
Dave Jones 9e2943
if [ -d kernel-%{kversion}%{?dist} ]; then
Dave Jones 9e2943
  cd kernel-%{kversion}%{?dist}
Dave Jones 9e2943
  for i in linux-*
Dave Jones 9e2943
  do
Dave Jones 7bd4de
     if [ -d $i ]; then
Dave Jones 7bd4de
       # Just in case we ctrl-c'd a prep already
Dave Jones 7bd4de
       rm -rf deleteme.%{_target_cpu}
Dave Jones 7bd4de
       # Move away the stale away, and delete in background.
Dave Jones 7bd4de
       mv $i deleteme-$i
Dave Jones 7bd4de
       rm -rf deleteme* &
Dave Jones 7bd4de
     fi
Dave Jones 9e2943
  done
Dave Jones 9e2943
  cd ..
Dave Jones 9e2943
fi
Dave Jones 9e2943
Dave Jones 9e2943
# Generate new tree
Chuck Ebbert 26d08c
if [ ! -d kernel-%{kversion}%{?dist}/vanilla-%{vanillaversion} ]; then
Chuck Ebbert 26d08c
Chuck Ebbert 26d08c
  if [ -d kernel-%{kversion}%{?dist}/vanilla-%{kversion} ]; then
Chuck Ebbert 26d08c
Chuck Ebbert 26d08c
    # The base vanilla version already exists.
Chuck Ebbert 26d08c
    cd kernel-%{kversion}%{?dist}
Jesse Keating 7a3296
Jesse Keating 7a3296
    # Any vanilla-* directories other than the base one are stale.
Jesse Keating 7a3296
    for dir in vanilla-*; do
Jesse Keating 7a3296
      [ "$dir" = vanilla-%{kversion} ] || rm -rf $dir &
Jesse Keating 7a3296
    done
Jesse Keating 7a3296
Jesse Keating 7a3296
  else
Jesse Keating 7a3296
Jesse Keating 7a3296
    rm -f pax_global_header
Chuck Ebbert 26d08c
    # Look for an identical base vanilla dir that can be hardlinked.
Jesse Keating 7a3296
    for sharedir in $sharedirs ; do
Chuck Ebbert 26d08c
      if [[ ! -z $sharedir  &&  -d $sharedir/vanilla-%{kversion} ]] ; then
Jesse Keating 7a3296
        break
Jesse Keating 7a3296
      fi
Jesse Keating 7a3296
    done
Chuck Ebbert 26d08c
    if [[ ! -z $sharedir  &&  -d $sharedir/vanilla-%{kversion} ]] ; then
Chuck Ebbert 26d08c
%setup -q -n kernel-%{kversion}%{?dist} -c -T
16cb95
      cp -al $sharedir/vanilla-%{kversion} .
Jesse Keating 7a3296
    else
Chuck Ebbert 26d08c
%setup -q -n kernel-%{kversion}%{?dist} -c
Josh Boyer 728b14
      mv linux-%{kversion} vanilla-%{kversion}
Jesse Keating 7a3296
    fi
Jesse Keating 7a3296
Jesse Keating 7a3296
  fi
Jesse Keating 7a3296
Jesse Keating 7a3296
%if "%{kversion}" != "%{vanillaversion}"
Jesse Keating 7a3296
Jesse Keating 7a3296
  for sharedir in $sharedirs ; do
Chuck Ebbert 26d08c
    if [[ ! -z $sharedir  &&  -d $sharedir/vanilla-%{vanillaversion} ]] ; then
Jesse Keating 7a3296
      break
Jesse Keating 7a3296
    fi
Jesse Keating 7a3296
  done
Chuck Ebbert 26d08c
  if [[ ! -z $sharedir  &&  -d $sharedir/vanilla-%{vanillaversion} ]] ; then
Jesse Keating 7a3296
16cb95
    cp -al $sharedir/vanilla-%{vanillaversion} .
Jesse Keating 7a3296
Jesse Keating 7a3296
  else
Jesse Keating 7a3296
Chuck Ebbert 26d08c
    # Need to apply patches to the base vanilla version.
16cb95
    cp -al vanilla-%{kversion} vanilla-%{vanillaversion}
Jesse Keating 7a3296
    cd vanilla-%{vanillaversion}
Jesse Keating 7a3296
523d98
cp %{SOURCE12} .
523d98
Jesse Keating 7a3296
# Update vanilla to the latest upstream.
Jesse Keating 7a3296
# (non-released_kernel case only)
Jesse Keating 7a3296
%if 0%{?rcrev}
523d98
    xzcat %{SOURCE5000} | ./remove-binary-diff.pl | patch -p1 -F1 -s
Jesse Keating 7a3296
%if 0%{?gitrev}
523d98
    xzcat %{SOURCE5001} | ./remove-binary-diff.pl | patch -p1 -F1 -s
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%else
Jesse Keating 7a3296
# pre-{base_sublevel+1}-rc1 case
Jesse Keating 7a3296
%if 0%{?gitrev}
523d98
    xzcat %{SOURCE5000} | ./remove-binary-diff.pl | patch -p1 -F1 -s
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%endif
178df3
    git init
178df3
    git config user.email "kernel-team@fedoraproject.org"
178df3
    git config user.name "Fedora Kernel Team"
178df3
    git config gc.auto 0
178df3
    git add .
178df3
    git commit -a -q -m "baseline"
Jesse Keating 7a3296
Jesse Keating 7a3296
    cd ..
Jesse Keating 7a3296
Jesse Keating 7a3296
  fi
Jesse Keating 7a3296
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
else
Chuck Ebbert 26d08c
Chuck Ebbert 26d08c
  # We already have all vanilla dirs, just change to the top-level directory.
Chuck Ebbert 26d08c
  cd kernel-%{kversion}%{?dist}
Chuck Ebbert 26d08c
Jesse Keating 7a3296
fi
Jesse Keating 7a3296
Chuck Ebbert 26d08c
# Now build the fedora kernel tree.
16cb95
cp -al vanilla-%{vanillaversion} linux-%{KVERREL}
Jesse Keating 7a3296
Josh Boyer 83337c
cd linux-%{KVERREL}
0ee200
if [ ! -d .git ]; then
0ee200
    git init
0ee200
    git config user.email "kernel-team@fedoraproject.org"
0ee200
    git config user.name "Fedora Kernel Team"
0ee200
    git config gc.auto 0
0ee200
    git add .
0ee200
    git commit -a -q -m "baseline"
0ee200
fi
0ee200
Jesse Keating 7a3296
Jesse Keating 7a3296
# released_kernel with possible stable updates
Jesse Keating 7a3296
%if 0%{?stable_base}
178df3
# This is special because the kernel spec is hell and nothing is consistent
178df3
xzcat %{SOURCE5000} | patch -p1 -F1 -s
178df3
git commit -a -m "Stable update"
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
2bf928
# Note: Even in the "nopatches" path some patches (build tweaks and compile
2bf928
# fixes) will always get applied; see patch defition above for details
2bf928
2bf928
git am %{patches}
2bf928
2bf928
# END OF PATCH APPLICATIONS
2bf928
2bf928
# Any further pre-build tree manipulations happen here.
2bf928
2bf928
chmod +x scripts/checkpatch.pl
9ee4e8
chmod +x tools/objtool/sync-check.sh
9f12ce
mv COPYING COPYING-%{version}
2bf928
2bf928
# This Prevents scripts/setlocalversion from mucking with our version numbers.
2bf928
touch .scmversion
2bf928
2bf928
# Deal with configs stuff
2bf928
mkdir configs
2bf928
cd configs
2bf928
Jesse Keating 7a3296
# Drop some necessary files from the source dir into the buildroot
1b7eeb
cp $RPM_SOURCE_DIR/kernel-*.config .
1b7eeb
cp %{SOURCE1000} .
Jesse Keating 7a3296
cp %{SOURCE15} .
1b7eeb
cp %{SOURCE40} .
1b7eeb
cp %{SOURCE41} .
08732e
cp %{SOURCE43} .
Jesse Keating 7a3296
Chuck Ebbert c6b36e
%if !%{debugbuildsenabled}
Chuck Ebbert c6b36e
# The normal build is a really debug build and the user has explicitly requested
Chuck Ebbert 11ee03
# a release kernel. Change the config files into non-debug versions.
1b7eeb
%if !%{with_release}
1b7eeb
VERSION=%{version} ./generate_debug_configs.sh
1b7eeb
%else
1b7eeb
VERSION=%{version} ./generate_all_configs.sh
Chuck Ebbert c6b36e
%endif
Chuck Ebbert c6b36e
1b7eeb
%else
1b7eeb
VERSION=%{version} ./generate_all_configs.sh
1b7eeb
%endif
Jesse Keating 7a3296
Jarod Wilson 5b6529
# Merge in any user-provided local config option changes
54a9e1
%ifnarch %nobuildarches
e57e8f
for i in %{all_arch_configs}
Jarod Wilson 5b6529
do
Jarod Wilson 5b6529
  mv $i $i.tmp
Jarod Wilson 5b6529
  ./merge.pl %{SOURCE1000} $i.tmp > $i
Jarod Wilson 5b6529
  rm $i.tmp
Jarod Wilson 5b6529
done
54a9e1
%endif
Jarod Wilson 5b6529
Jesse Keating 7a3296
# only deal with configs if we are going to build for the arch
Jesse Keating 7a3296
%ifnarch %nobuildarches
Jesse Keating 7a3296
Jesse Keating 7a3296
%if !%{debugbuildsenabled}
Jesse Keating 7a3296
rm -f kernel-%{version}-*debug.config
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Kyle McMartin 43d64b
%define make make %{?cross_opts}
Kyle McMartin 43d64b
a20ad4
CheckConfigs() {
a20ad4
     ./check_configs.awk $1 $2 > .mismatches
a20ad4
     if [ -s .mismatches ]
a20ad4
     then
a20ad4
	echo "Error: Mismatches found in configuration files"
a20ad4
	cat .mismatches
a20ad4
	exit 1
a20ad4
     fi
a20ad4
}
a20ad4
a20ad4
cp %{SOURCE42} .
2bf928
OPTS=""
Dave Jones 834dba
%if %{listnewconfig_fail}
2bf928
	OPTS="$OPTS -n"
Dave Jones 834dba
%endif
a20ad4
%if %{configmismatch_fail}
2bf928
	OPTS="$OPTS -c"
a20ad4
%endif
2bf928
./process_configs.sh $OPTS kernel %{rpmversion}
2bf928
Jesse Keating 7a3296
# end of kernel config
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
2bf928
cd ..
2bf928
# End of Configs stuff
2bf928
John W. Linville fa580e
# get rid of unwanted files resulting from patch fuzz
e9bc1e
find . \( -name "*.orig" -o -name "*~" \) -delete >/dev/null
John W. Linville fa580e
Dave Jones 246f94
# remove unnecessary SCM files
e9bc1e
find . -name .gitignore -delete >/dev/null
Dave Jones 246f94
Jeremy Cline 1a0811
# Mangle /usr/bin/python shebangs to /usr/bin/python3
Jeremy Cline 1a0811
# Mangle all Python shebangs to be Python 3 explicitly
Jeremy Cline 1a0811
# -p preserves timestamps
Jeremy Cline 1a0811
# -n prevents creating ~backup files
Jeremy Cline 1a0811
# -i specifies the interpreter for the shebang
Jeremy Cline 1a0811
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/
Jeremy Cline 1a0811
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/diffconfig
Jeremy Cline 1a0811
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/bloat-o-meter
Jeremy Cline 1a0811
pathfix.py -pni "%{__python3} %{py3_shbang_opts}" scripts/show_delta
Jeremy Cline 1a0811
Jesse Keating 7a3296
cd ..
Jesse Keating 7a3296
Jesse Keating 7a3296
###
Jesse Keating 7a3296
### build
Jesse Keating 7a3296
###
Jesse Keating 7a3296
%build
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_sparse}
Jesse Keating 7a3296
%define sparse_mflags	C=1
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
cp_vmlinux()
Jesse Keating 7a3296
{
Jesse Keating 7a3296
  eu-strip --remove-comment -o "$2" "$1"
Jesse Keating 7a3296
}
Jesse Keating 7a3296
edd5e6
# These are for host programs that get built as part of the kernel and
edd5e6
# are required to be packaged in kernel-devel for building external modules.
edd5e6
# Since they are userspace binaries, they are required to pickup the hardening
edd5e6
# flags defined in the macros. The --build-id=uuid is a trick to get around
edd5e6
# debuginfo limitations: Typically, find-debuginfo.sh will update the build
edd5e6
# id of all binaries to allow for parllel debuginfo installs. The kernel
edd5e6
# can't use this because it breaks debuginfo for the vDSO so we have to
edd5e6
# use a special mechanism for kernel and modules to be unique. Unfortunately,
edd5e6
# we still have userspace binaries which need unique debuginfo and because
edd5e6
# they come from the kernel package, we can't just use find-debuginfo.sh to
edd5e6
# rewrite only those binaries. The easiest option right now is just to have
edd5e6
# the build id be a uuid for the host programs.
606a7e
#
606a7e
# Note we need to disable these flags for cross builds because the flags
606a7e
# from redhat-rpm-config assume that host == target so target arch
606a7e
# flags cause issues with the host compiler.
606a7e
%if !%{with_cross}
df681b
%define build_hostcflags  %{?build_cflags}
df681b
%define build_hostldflags %{?build_ldflags} -Wl,--build-id=uuid
606a7e
%endif
edd5e6
Jesse Keating 7a3296
BuildKernel() {
Jesse Keating 7a3296
    MakeTarget=$1
Jesse Keating 7a3296
    KernelImage=$2
df3d8e
    Flavour=$4
df3d8e
    DoVDSO=$3
faf252
    Flav=${Flavour:++${Flavour}}
df3d8e
    InstallName=${5:-vmlinuz}
Jesse Keating 7a3296
Jesse Keating 7a3296
    # Pick the right config file for the kernel we're building
Jesse Keating 7a3296
    Config=kernel-%{version}-%{_target_cpu}${Flavour:+-${Flavour}}.config
Kyle McMartin 9fc584
    DevelDir=/usr/src/kernels/%{KVERREL}${Flav}
Jesse Keating 7a3296
Jesse Keating 7a3296
    # When the bootable image is just the ELF kernel, strip it.
Jesse Keating 7a3296
    # We already copy the unstripped file into the debuginfo package.
Jesse Keating 7a3296
    if [ "$KernelImage" = vmlinux ]; then
Jesse Keating 7a3296
      CopyKernel=cp_vmlinux
Jesse Keating 7a3296
    else
Jesse Keating 7a3296
      CopyKernel=cp
Jesse Keating 7a3296
    fi
Jesse Keating 7a3296
Kyle McMartin 9fc584
    KernelVer=%{version}-%{release}.%{_target_cpu}${Flav}
Jesse Keating 7a3296
    echo BUILDING A KERNEL FOR ${Flavour} %{_target_cpu}...
Jesse Keating 7a3296
Josh Boyer 740de5
    %if 0%{?stable_update}
Josh Boyer 740de5
    # make sure SUBLEVEL is incremented on a stable release.  Sigh 3.x.
Josh Boyer 740de5
    perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{?stablerev}/" Makefile
Josh Boyer 740de5
    %endif
Josh Boyer 740de5
Jesse Keating 7a3296
    # make sure EXTRAVERSION says what we want it to say
Jeremy Cline 89c7d2
    # Trim the release if this is a CI build, since KERNELVERSION is limited to 64 characters
Jeremy Cline 89c7d2
    ShortRel=$(python3 -c "import re; print(re.sub(r'\.pr\.[0-9A-Fa-f]{32}', '', '%{release}'))")
Jeremy Cline 89c7d2
    perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -${ShortRel}.%{_target_cpu}${Flav}/" Makefile
Jesse Keating 7a3296
Josh Boyer 9e4aea
    # if pre-rc1 devel kernel, must fix up PATCHLEVEL for our versioning scheme
Jesse Keating 7a3296
    %if !0%{?rcrev}
Jesse Keating 7a3296
    %if 0%{?gitrev}
Josh Boyer 9e4aea
    perl -p -i -e 's/^PATCHLEVEL.*/PATCHLEVEL = %{upstream_sublevel}/' Makefile
Jesse Keating 7a3296
    %endif
Jesse Keating 7a3296
    %endif
Jesse Keating 7a3296
Jesse Keating 7a3296
    # and now to start the build process
Jesse Keating 7a3296
2fb3e7
    make %{?make_opts} mrproper
Jesse Keating 7a3296
    cp configs/$Config .config
Jesse Keating 7a3296
149275
    %if %{signkernel}%{signmodules}
18c824
    cp %{SOURCE11} certs/.
Josh Boyer 6e2d2c
    %endif
Josh Boyer 6e2d2c
Jesse Keating 7a3296
    Arch=`head -1 .config | cut -b 3-`
Jesse Keating 7a3296
    echo USING ARCH=$Arch
Jesse Keating 7a3296
606a7e
    make %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" ARCH=$Arch olddefconfig
edd5e6
edd5e6
    # This ensures build-ids are unique to allow parallel debuginfo
edd5e6
    perl -p -i -e "s/^CONFIG_BUILD_SALT.*/CONFIG_BUILD_SALT=\"%{KVERREL}\"/" .config
606a7e
    %{make} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" ARCH=$Arch %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags}
606a7e
    %{make} %{?make_opts} HOSTCFLAGS="%{?build_hostcflags}" HOSTLDFLAGS="%{?build_hostldflags}" ARCH=$Arch %{?_smp_mflags} modules %{?sparse_mflags} || exit 1
783eee
958df3
    mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
958df3
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
958df3
%if %{with_debuginfo}
958df3
    mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/%{image_install_path}
958df3
%endif
958df3
Kyle McMartin 49ba08
%ifarch %{arm} aarch64
2fb3e7
    %{make} %{?make_opts} ARCH=$Arch dtbs dtbs_install INSTALL_DTBS_PATH=$RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer
a96239
    cp -r $RPM_BUILD_ROOT/%{image_install_path}/dtb-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/dtb
fae554
    find arch/$Arch/boot/dts -name '*.dtb' -type f -delete
e6eb2f
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
    # Start installing the results
Jesse Keating 7a3296
    install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
958df3
    install -m 644 .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/config
Jesse Keating 7a3296
    install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer
958df3
    install -m 644 System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/System.map
Jesse Keating 7a3296
Jesse Keating 7a3296
    # We estimate the size of the initramfs because rpm needs to take this size
Jesse Keating 7a3296
    # into consideration when performing disk space calculations. (See bz #530778)
Jesse Keating 7a3296
    dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-$KernelVer.img bs=1M count=20
Jesse Keating 7a3296
Jesse Keating 7a3296
    if [ -f arch/$Arch/boot/zImage.stub ]; then
Jesse Keating 7a3296
      cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
958df3
      cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/lib/modules/$KernelVer/zImage.stub-$KernelVer || :
Jesse Keating 7a3296
    fi
149275
    %if %{signkernel}
d3182f
    # Sign the image if we're using EFI
d3182f
    %pesign -s -i $KernelImage -o vmlinuz.signed
Josh Boyer 42d219
    if [ ! -s vmlinuz.signed ]; then
Josh Boyer 42d219
        echo "pesigning failed"
Josh Boyer 42d219
        exit 1
Josh Boyer 42d219
    fi
d3182f
    mv vmlinuz.signed $KernelImage
d3182f
    %endif
Jesse Keating 7a3296
    $CopyKernel $KernelImage \
e9fda3
                $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
Jesse Keating 7a3296
    chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
958df3
    cp $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer $RPM_BUILD_ROOT/lib/modules/$KernelVer/$InstallName
Jesse Keating 7a3296
Josh Boyer 70f813
    # hmac sign the kernel for FIPS
Josh Boyer 70f813
    echo "Creating hmac file: $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac"
Josh Boyer 70f813
    ls -l $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
Josh Boyer 70f813
    sha512hmac $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer | sed -e "s,$RPM_BUILD_ROOT,," > $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac;
958df3
    cp $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac $RPM_BUILD_ROOT/lib/modules/$KernelVer/.vmlinuz.hmac
Josh Boyer 70f813
Jesse Keating 7a3296
    # Override $(mod-fw) because we don't want it to install any firmware
Kyle McMartin eb0d56
    # we'll get it from the linux-firmware package and we don't want conflicts
2fb3e7
    %{make} %{?make_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
Josh Boyer c2a12c
376237
    # add an a noop %%defattr statement 'cause rpm doesn't like empty file list files
376237
    echo '%%defattr(-,-,-)' > ../kernel${Flavour:+-${Flavour}}-ldsoconf.list
df3d8e
    if [ $DoVDSO -ne 0 ]; then
2fb3e7
        %{make} %{?make_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
376237
        if [ -s ldconfig-kernel.conf ]; then
376237
            install -D -m 444 ldconfig-kernel.conf \
376237
                $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf
376237
            echo /etc/ld.so.conf.d/kernel-$KernelVer.conf >> ../kernel${Flavour:+-${Flavour}}-ldsoconf.list
df3d8e
        fi
df3d8e
        rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id
Jesse Keating 7a3296
    fi
Jesse Keating 7a3296
Jesse Keating 7a3296
    # And save the headers/makefiles etc for building modules against
Jesse Keating 7a3296
    #
Jesse Keating 7a3296
    # This all looks scary, but the end result is supposed to be:
Jesse Keating 7a3296
    # * all arch relevant include/ files
Jesse Keating 7a3296
    # * all Makefile/Kconfig files
Jesse Keating 7a3296
    # * all script/ files
Jesse Keating 7a3296
Jesse Keating 7a3296
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source
Jesse Keating 7a3296
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source)
Jesse Keating 7a3296
    # dirs for additional modules per module-init-tools, kbuild/modules.txt
Jesse Keating 7a3296
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra
Jesse Keating 7a3296
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates
Jesse Keating 7a3296
    # first copy everything
Jesse Keating 7a3296
    cp --parents `find  -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    cp System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    if [ -s Module.markers ]; then
Jesse Keating 7a3296
      cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    fi
Jesse Keating 7a3296
    # then drop all but the needed Makefiles/Kconfig files
Jesse Keating 7a3296
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation
Jesse Keating 7a3296
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
Jesse Keating 7a3296
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
Jesse Keating 7a3296
    cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
803c5b
    if [ -f tools/objtool/objtool ]; then
0ff2af
      cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/ || :
c7c8ec
      # these are a few files associated with objtool
c7c8ec
      cp -a --parents tools/build/Build.include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
c7c8ec
      cp -a --parents tools/build/Build $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
c7c8ec
      cp -a --parents tools/build/fixdep.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
c7c8ec
      cp -a --parents tools/scripts/utilities.mak $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
c7c8ec
      # also more than necessary but it's not that many more files
c7c8ec
      cp -a --parents tools/objtool/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
c7c8ec
      cp -a --parents tools/lib/str_error_r.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
c7c8ec
      cp -a --parents tools/lib/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
c7c8ec
      cp -a --parents tools/lib/subcmd/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
803c5b
    fi
Jesse Keating 7a3296
    if [ -d arch/$Arch/scripts ]; then
Jesse Keating 7a3296
      cp -a arch/$Arch/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || :
Jesse Keating 7a3296
    fi
Jesse Keating 7a3296
    if [ -f arch/$Arch/*lds ]; then
Jesse Keating 7a3296
      cp -a arch/$Arch/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || :
Jesse Keating 7a3296
    fi
c98c86
    if [ -f arch/%{asmarch}/kernel/module.lds ]; then
c98c86
      cp -a --parents arch/%{asmarch}/kernel/module.lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
c98c86
    fi
Jesse Keating 7a3296
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o
Jesse Keating 7a3296
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o
9a6acd
%ifarch %{power64}
Jesse Keating 7a3296
    cp -a --parents arch/powerpc/lib/crtsavres.[So] $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
    if [ -d arch/%{asmarch}/include ]; then
Jesse Keating 7a3296
      cp -a --parents arch/%{asmarch}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
Jesse Keating 7a3296
    fi
ea6c81
%ifarch aarch64
ea6c81
    # arch/arm64/include/asm/xen references arch/arm
ea6c81
    cp -a --parents arch/arm/include/asm/xen $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
ec3031
    # arch/arm64/include/asm/opcodes.h references arch/arm
ec3031
    cp -a --parents arch/arm/include/asm/opcodes.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
ea6c81
%endif
3b024e
    # include the machine specific headers for ARM variants, if available.
3b024e
%ifarch %{arm}
3b024e
    if [ -d arch/%{asmarch}/mach-${Flavour}/include ]; then
3b024e
      cp -a --parents arch/%{asmarch}/mach-${Flavour}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
3b024e
    fi
19c3eb
    # include a few files for 'make prepare'
19c3eb
    cp -a --parents arch/arm/tools/gen-mach-types $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/arm/tools/mach-types $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
3b024e
%endif
Jesse Keating 7a3296
    cp -a include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
19c3eb
%ifarch %{ix86} x86_64
19c3eb
    # files for 'make prepare' to succeed with kernel-devel
19c3eb
    cp -a --parents arch/x86/entry/syscalls/syscall_32.tbl $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/entry/syscalls/syscalltbl.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/entry/syscalls/syscallhdr.sh $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/entry/syscalls/syscall_64.tbl $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/tools/relocs_32.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/tools/relocs_64.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/tools/relocs.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/tools/relocs_common.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/tools/relocs.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
c7c8ec
    # Yes this is more includes than we probably need. Feel free to sort out
c7c8ec
    # dependencies if you so choose.
c7c8ec
    cp -a --parents tools/include/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/purgatory/purgatory.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/purgatory/stack.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/purgatory/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/purgatory/setup-x86_64.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/purgatory/entry64.S $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/boot/string.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/boot/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/boot/ctype.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
e7c396
    cp -a --parents arch/x86/kernel/macros.s $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
%endif
Jesse Keating 7a3296
    # Make sure the Makefile and version.h have a matching timestamp so that
Jesse Keating 7a3296
    # external modules can be built
1ef1d3
    touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/generated/uapi/linux/version.h
Dave Jones c80928
Jesse Keating 7a3296
    # Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
Jesse Keating 7a3296
    cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf
Jesse Keating 7a3296
Kyle McMartin 1bfd59
%if %{with_debuginfo}
debc7c
    eu-readelf -n vmlinux | grep "Build ID" | awk '{print $NF}' > vmlinux.id
debc7c
    cp vmlinux.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.id
Jesse Keating 7a3296
Jesse Keating 7a3296
    #
Jesse Keating 7a3296
    # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
Jesse Keating 7a3296
    #
Jesse Keating 7a3296
    mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
Jesse Keating 7a3296
    cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
    find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
Jesse Keating 7a3296
Jesse Keating 7a3296
    # mark modules executable so that strip-to-file can strip them
Jesse Keating 7a3296
    xargs --no-run-if-empty chmod u+x < modnames
Jesse Keating 7a3296
Jesse Keating 7a3296
    # Generate a list of modules for block and networking.
Jesse Keating 7a3296
Dave Jones b89c80
    grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA |
Jesse Keating 7a3296
    sed -n 's,^.*/\([^/]*\.ko\):  *U \(.*\)$,\1 \2,p' > drivers.undef
Jesse Keating 7a3296
Jesse Keating 7a3296
    collect_modules_list()
Jesse Keating 7a3296
    {
Jesse Keating 7a3296
      sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
Kyle McMartin cdb790
        LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
Kyle McMartin cdb790
      if [ ! -z "$3" ]; then
Kyle McMartin 399410
        sed -r -e "/^($3)\$/d" -i $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
Kyle McMartin cdb790
      fi
Jesse Keating 7a3296
    }
Jesse Keating 7a3296
Jesse Keating 7a3296
    collect_modules_list networking \
e9fda3
      'register_netdev|ieee80211_register_hw|usbnet_probe|phy_driver_register|rt(l_|2x00)(pci|usb)_probe|register_netdevice'
Jesse Keating 7a3296
    collect_modules_list block \
e9fda3
      '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'
Jesse Keating 7a3296
    collect_modules_list drm \
e9fda3
      'drm_open|drm_init'
Jesse Keating 7a3296
    collect_modules_list modesetting \
e9fda3
      'drm_crtc_init'
Jesse Keating 7a3296
Jesse Keating 7a3296
    # detect missing or incorrect license tags
Kyle McMartin 21284e
    ( find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name '*.ko' | xargs /sbin/modinfo -l | \
Kyle McMartin 21284e
        grep -E -v 'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' ) && exit 1
Jesse Keating 7a3296
Kyle McMartin 634522
    # remove files that will be auto generated by depmod at rpm -i time
Kyle McMartin 634522
    pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/
Kyle McMartin 634522
        rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep}
Kyle McMartin 634522
    popd
Kyle McMartin 634522
Josh Boyer 0b4338
    # Call the modules-extra script to move things around
Josh Boyer 0b4338
    %{SOURCE17} $RPM_BUILD_ROOT/lib/modules/$KernelVer %{SOURCE16}
Josh Boyer b8b278
94ce4e
    #
aa7351
    # Generate the kernel-core and kernel-modules files lists
94ce4e
    #
94ce4e
94ce4e
    # Copy the System.map file for depmod to use, and create a backup of the
94ce4e
    # full module tree so we can restore it after we're done filtering
94ce4e
    cp System.map $RPM_BUILD_ROOT/.
94ce4e
    pushd $RPM_BUILD_ROOT
94ce4e
    mkdir restore
94ce4e
    cp -r lib/modules/$KernelVer/* restore/.
94ce4e
94ce4e
    # don't include anything going into k-m-e in the file lists
94ce4e
    rm -rf lib/modules/$KernelVer/extra
94ce4e
aa7351
    # Find all the module files and filter them out into the core and modules
aa7351
    # lists.  This actually removes anything going into -modules from the dir.
94ce4e
    find lib/modules/$KernelVer/kernel -name *.ko | sort -n > modules.list
e9fda3
    cp $RPM_SOURCE_DIR/filter-*.sh .
94ce4e
    %{SOURCE99} modules.list %{_target_cpu}
e9fda3
    rm filter-*.sh
94ce4e
94ce4e
    # Run depmod on the resulting module tree and make sure it isn't broken
069d85
    depmod -b . -aeF ./System.map $KernelVer &> depmod.out
069d85
    if [ -s depmod.out ]; then
069d85
        echo "Depmod failure"
069d85
        cat depmod.out
069d85
        exit 1
069d85
    else
069d85
        rm depmod.out
069d85
    fi
94ce4e
    # remove files that will be auto generated by depmod at rpm -i time
94ce4e
    pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/
94ce4e
        rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep}
94ce4e
    popd
94ce4e
94ce4e
    # Go back and find all of the various directories in the tree.  We use this
94ce4e
    # for the dir lists in kernel-core
Paul Bolle fc4b4c
    find lib/modules/$KernelVer/kernel -mindepth 1 -type d | sort -n > module-dirs.list
94ce4e
94ce4e
    # Cleanup
94ce4e
    rm System.map
94ce4e
    cp -r restore/* lib/modules/$KernelVer/.
94ce4e
    rm -rf restore
94ce4e
    popd
94ce4e
94ce4e
    # Make sure the files lists start with absolute paths or rpmbuild fails.
94ce4e
    # Also add in the dir entries
Kyle McMartin 892262
    sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/k-d.list > ../kernel${Flavour:+-${Flavour}}-modules.list
Kyle McMartin 892262
    sed -e 's/^lib*/%dir \/lib/' %{?zipsed} $RPM_BUILD_ROOT/module-dirs.list > ../kernel${Flavour:+-${Flavour}}-core.list
Kyle McMartin 892262
    sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/modules.list >> ../kernel${Flavour:+-${Flavour}}-core.list
94ce4e
94ce4e
    # Cleanup
94ce4e
    rm -f $RPM_BUILD_ROOT/k-d.list
94ce4e
    rm -f $RPM_BUILD_ROOT/modules.list
94ce4e
    rm -f $RPM_BUILD_ROOT/module-dirs.list
94ce4e
Josh Boyer f0f4ff
%if %{signmodules}
Kyle McMartin 249d64
    # Save the signing keys so we can sign the modules in __modsign_install_post
18c824
    cp certs/signing_key.pem certs/signing_key.pem.sign${Flav}
18c824
    cp certs/signing_key.x509 certs/signing_key.x509.sign${Flav}
Josh Boyer f0f4ff
%endif
Josh Boyer f0f4ff
Jesse Keating 7a3296
    # Move the devel headers out of the root file system
Kyle McMartin f6c1ae
    mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
Jesse Keating 7a3296
    mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
Josh Boyer bddef7
Josh Boyer bddef7
    # This is going to create a broken link during the build, but we don't use
Josh Boyer bddef7
    # it after this point.  We need the link to actually point to something
Josh Boyer bddef7
    # when kernel-devel is installed, and a relative link doesn't work across
Josh Boyer bddef7
    # the F17 UsrMove feature.
Josh Boyer bddef7
    ln -sf $DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Kyle McMartin 4b3b40
Kyle McMartin 4b3b40
    # prune junk from kernel-devel
e0cda5
    find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -delete
08732e
08732e
    # build a BLS config for this kernel
cf8332
    %{SOURCE43} "$KernelVer" "$RPM_BUILD_ROOT" "%{?variant}"
Jesse Keating 7a3296
}
Jesse Keating 7a3296
Jesse Keating 7a3296
###
Jesse Keating 7a3296
# DO it...
Jesse Keating 7a3296
###
Jesse Keating 7a3296
Jesse Keating 7a3296
# prepare directories
Jesse Keating 7a3296
rm -rf $RPM_BUILD_ROOT
Jesse Keating 7a3296
mkdir -p $RPM_BUILD_ROOT/boot
Jesse Keating 7a3296
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
Jesse Keating 7a3296
Josh Boyer 83337c
cd linux-%{KVERREL}
Jesse Keating 7a3296
df3d8e
Jesse Keating 7a3296
%if %{with_debug}
df3d8e
BuildKernel %make_target %kernel_image %{_use_vdso} debug
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_pae_debug}
df3d8e
BuildKernel %make_target %kernel_image %{use_vdso} %{pae}debug
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_pae}
df3d8e
BuildKernel %make_target %kernel_image %{use_vdso} %{pae}
986a9f
%endif
986a9f
Jesse Keating 7a3296
%if %{with_up}
df3d8e
BuildKernel %make_target %kernel_image %{_use_vdso}
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Josh Boyer f0f4ff
# In the modsign case, we do 3 things.  1) We check the "flavour" and hard
Josh Boyer f0f4ff
# code the value in the following invocations.  This is somewhat sub-optimal
Josh Boyer f0f4ff
# but we're doing this inside of an RPM macro and it isn't as easy as it
Josh Boyer f0f4ff
# could be because of that.  2) We restore the .tmp_versions/ directory from
Josh Boyer f0f4ff
# the one we saved off in BuildKernel above.  This is to make sure we're
Josh Boyer f0f4ff
# signing the modules we actually built/installed in that flavour.  3) We
Kyle McMartin d0a8cf
# grab the arch and invoke mod-sign.sh command to actually sign the modules.
Josh Boyer f0f4ff
#
Josh Boyer f0f4ff
# We have to do all of those things _after_ find-debuginfo runs, otherwise
Josh Boyer f0f4ff
# that will strip the signature off of the modules.
Josh Boyer f0f4ff
Kyle McMartin 92559e
%define __modsign_install_post \
Kyle McMartin f9a5fa
  if [ "%{signmodules}" -eq "1" ]; then \
Kyle McMartin 63cb38
    if [ "%{with_pae}" -ne "0" ]; then \
18c824
      %{modsign_cmd} certs/signing_key.pem.sign+%{pae} certs/signing_key.x509.sign+%{pae} $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+%{pae}/ \
Josh Boyer f0f4ff
    fi \
Kyle McMartin 63cb38
    if [ "%{with_debug}" -ne "0" ]; then \
18c824
      %{modsign_cmd} certs/signing_key.pem.sign+debug certs/signing_key.x509.sign+debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+debug/ \
Josh Boyer f0f4ff
    fi \
Kyle McMartin 63cb38
    if [ "%{with_pae_debug}" -ne "0" ]; then \
18c824
      %{modsign_cmd} certs/signing_key.pem.sign+%{pae}debug certs/signing_key.x509.sign+%{pae}debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+%{pae}debug/ \
Josh Boyer f0f4ff
    fi \
Kyle McMartin f9a5fa
    if [ "%{with_up}" -ne "0" ]; then \
18c824
      %{modsign_cmd} certs/signing_key.pem.sign certs/signing_key.x509.sign $RPM_BUILD_ROOT/lib/modules/%{KVERREL}/ \
Josh Boyer f0f4ff
    fi \
Josh Boyer f0f4ff
  fi \
Kyle McMartin 892262
  if [ "%{zipmodules}" -eq "1" ]; then \
Kyle McMartin 892262
    find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs xz; \
Kyle McMartin 892262
  fi \
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
Kyle McMartin 92559e
###
Kyle McMartin 92559e
### Special hacks for debuginfo subpackages.
Kyle McMartin 92559e
###
Kyle McMartin 92559e
Kyle McMartin 92559e
# This macro is used by %%install, so we must redefine it before that.
Kyle McMartin 92559e
%define debug_package %{nil}
Kyle McMartin 92559e
Kyle McMartin 92559e
%if %{with_debuginfo}
Kyle McMartin 92559e
Jesse Keating 7a3296
%ifnarch noarch
Jesse Keating 7a3296
%global __debug_package 1
Jesse Keating 7a3296
%files -f debugfiles.list debuginfo-common-%{_target_cpu}
Jesse Keating 7a3296
%endif
Kyle McMartin 92559e
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Kyle McMartin 92559e
#
Kyle McMartin 92559e
# Disgusting hack alert! We need to ensure we sign modules *after* all
Kyle McMartin 92559e
# invocations of strip occur, which is in __debug_install_post if
Kyle McMartin 92559e
# find-debuginfo.sh runs, and __os_install_post if not.
Kyle McMartin 92559e
#
Kyle McMartin 92559e
%define __spec_install_post \
Kyle McMartin 92559e
  %{?__debug_package:%{__debug_install_post}}\
Kyle McMartin 92559e
  %{__arch_install_post}\
Kyle McMartin 92559e
  %{__os_install_post}\
Kyle McMartin 92559e
  %{__modsign_install_post}
Kyle McMartin 92559e
Jesse Keating 7a3296
###
Jesse Keating 7a3296
### install
Jesse Keating 7a3296
###
Jesse Keating 7a3296
Jesse Keating 7a3296
%install
Jesse Keating 7a3296
Josh Boyer 83337c
cd linux-%{KVERREL}
Jesse Keating 7a3296
Josh Boyer 8addb5
# We have to do the headers install before the tools install because the
Josh Boyer 8addb5
# kernel headers_install will remove any header files in /usr/include that
Josh Boyer 8addb5
# it doesn't install itself.
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_headers}
Jesse Keating 7a3296
# Install kernel headers
Jesse Keating 7a3296
make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install
Jesse Keating 7a3296
Jesse Keating 7a3296
find $RPM_BUILD_ROOT/usr/include \
Jesse Keating 7a3296
     \( -name .install -o -name .check -o \
fae554
        -name ..install.cmd -o -name ..check.cmd \) -delete
Jesse Keating 7a3296
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
f65f3f
%if %{with_cross_headers}
f65f3f
mkdir -p $RPM_BUILD_ROOT/usr/tmp-headers
f65f3f
make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr/tmp-headers headers_install_all
f65f3f
f65f3f
find $RPM_BUILD_ROOT/usr/tmp-headers/include \
f65f3f
     \( -name .install -o -name .check -o \
fae554
        -name ..install.cmd -o -name ..check.cmd \) -delete
f65f3f
f65f3f
# Copy all the architectures we care about to their respective asm directories
f65f3f
for arch in arm arm64 powerpc s390 x86 ; do
f65f3f
mkdir -p $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include
231008
mv $RPM_BUILD_ROOT/usr/tmp-headers/include/arch-${arch}/asm $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/
f65f3f
cp -a $RPM_BUILD_ROOT/usr/tmp-headers/include/asm-generic $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/.
f65f3f
done
f65f3f
f65f3f
# Remove the rest of the architectures
f65f3f
rm -rf $RPM_BUILD_ROOT/usr/tmp-headers/include/arch*
f65f3f
rm -rf $RPM_BUILD_ROOT/usr/tmp-headers/include/asm-*
f65f3f
f65f3f
# Copy the rest of the headers over
f65f3f
for arch in arm arm64 powerpc s390 x86 ; do
f65f3f
cp -a $RPM_BUILD_ROOT/usr/tmp-headers/include/* $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/.
f65f3f
done
f65f3f
f65f3f
rm -rf $RPM_BUILD_ROOT/usr/tmp-headers
f65f3f
%endif
f65f3f
Jesse Keating 7a3296
###
Jesse Keating 7a3296
### clean
Jesse Keating 7a3296
###
Jesse Keating 7a3296
Jesse Keating 7a3296
###
Jesse Keating 7a3296
### scripts
Jesse Keating 7a3296
###
Jesse Keating 7a3296
Jesse Keating 7a3296
#
Jesse Keating 7a3296
# This macro defines a %%post script for a kernel*-devel package.
Jesse Keating 7a3296
#	%%kernel_devel_post [<subpackage>]
Jesse Keating 7a3296
#
Jesse Keating 7a3296
%define kernel_devel_post() \
Jesse Keating 7a3296
%{expand:%%post %{?1:%{1}-}devel}\
Jesse Keating 7a3296
if [ -f /etc/sysconfig/kernel ]\
Jesse Keating 7a3296
then\
Jesse Keating 7a3296
    . /etc/sysconfig/kernel || exit $?\
Jesse Keating 7a3296
fi\
Jesse Keating 7a3296
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]\
Jesse Keating 7a3296
then\
faf252
    (cd /usr/src/kernels/%{KVERREL}%{?1:+%{1}} &&\
Jesse Keating 7a3296
     /usr/bin/find . -type f | while read f; do\
Jesse Keating 7a3296
       hardlink -c /usr/src/kernels/*.fc*.*/$f $f\
Jesse Keating 7a3296
     done)\
Jesse Keating 7a3296
fi\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
Josh Boyer b8b278
#
Josh Boyer b8b278
# This macro defines a %%post script for a kernel*-modules-extra package.
94ce4e
# It also defines a %%postun script that does the same thing.
Kyle McMartin de50ed
#	%%kernel_modules_extra_post [<subpackage>]
Josh Boyer b8b278
#
Josh Boyer b8b278
%define kernel_modules_extra_post() \
Josh Boyer b8b278
%{expand:%%post %{?1:%{1}-}modules-extra}\
faf252
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
94ce4e
%{nil}\
94ce4e
%{expand:%%postun %{?1:%{1}-}modules-extra}\
94ce4e
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
94ce4e
%{nil}
94ce4e
94ce4e
#
aa7351
# This macro defines a %%post script for a kernel*-modules package.
94ce4e
# It also defines a %%postun script that does the same thing.
aa7351
#	%%kernel_modules_post [<subpackage>]
94ce4e
#
aa7351
%define kernel_modules_post() \
aa7351
%{expand:%%post %{?1:%{1}-}modules}\
94ce4e
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
94ce4e
%{nil}\
aa7351
%{expand:%%postun %{?1:%{1}-}modules}\
94ce4e
/sbin/depmod -a %{KVERREL}%{?1:+%{1}}\
Josh Boyer b8b278
%{nil}
Josh Boyer 8addb5
Jesse Keating 7a3296
# This macro defines a %%posttrans script for a kernel package.
Jesse Keating 7a3296
#	%%kernel_variant_posttrans [<subpackage>]
Jesse Keating 7a3296
# More text can follow to go at the end of this variant's %%post.
Jesse Keating 7a3296
#
Jesse Keating 7a3296
%define kernel_variant_posttrans() \
94ce4e
%{expand:%%posttrans %{?1:%{1}-}core}\
958df3
/bin/kernel-install add %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $?\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
Jesse Keating 7a3296
#
Jesse Keating 7a3296
# This macro defines a %%post script for a kernel package and its devel package.
Jesse Keating 7a3296
#	%%kernel_variant_post [-v <subpackage>] [-r <replace>]
Jesse Keating 7a3296
# More text can follow to go at the end of this variant's %%post.
Jesse Keating 7a3296
#
Jesse Keating 7a3296
%define kernel_variant_post(v:r:) \
Jesse Keating 7a3296
%{expand:%%kernel_devel_post %{?-v*}}\
aa7351
%{expand:%%kernel_modules_post %{?-v*}}\
Josh Boyer b8b278
%{expand:%%kernel_modules_extra_post %{?-v*}}\
Jesse Keating 7a3296
%{expand:%%kernel_variant_posttrans %{?-v*}}\
94ce4e
%{expand:%%post %{?-v*:%{-v*}-}core}\
Jesse Keating 7a3296
%{-r:\
Jesse Keating 7a3296
if [ `uname -i` == "x86_64" -o `uname -i` == "i386" ] &&\
Jesse Keating 7a3296
   [ -f /etc/sysconfig/kernel ]; then\
Jesse Keating 7a3296
  /bin/sed -r -i -e 's/^DEFAULTKERNEL=%{-r*}$/DEFAULTKERNEL=kernel%{?-v:-%{-v*}}/' /etc/sysconfig/kernel || exit $?\
Jesse Keating 7a3296
fi}\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
Jesse Keating 7a3296
#
Jesse Keating 7a3296
# This macro defines a %%preun script for a kernel package.
Jesse Keating 7a3296
#	%%kernel_variant_preun <subpackage>
Jesse Keating 7a3296
#
Jesse Keating 7a3296
%define kernel_variant_preun() \
94ce4e
%{expand:%%preun %{?1:%{1}-}core}\
958df3
/bin/kernel-install remove %{KVERREL}%{?1:+%{1}} /lib/modules/%{KVERREL}%{?1:+%{1}}/vmlinuz || exit $?\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
Jesse Keating 7a3296
%kernel_variant_preun
Jesse Keating 7a3296
%kernel_variant_post -r kernel-smp
Jesse Keating 7a3296
0a7987
%if %{with_pae}
Kyle McMartin bc5f99
%kernel_variant_preun %{pae}
Kyle McMartin bc5f99
%kernel_variant_post -v %{pae} -r (kernel|kernel-smp)
Kyle McMartin bc5f99
Kyle McMartin bc5f99
%kernel_variant_post -v %{pae}debug -r (kernel|kernel-smp)
Kyle McMartin bc5f99
%kernel_variant_preun %{pae}debug
0a7987
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%kernel_variant_preun debug
Jesse Keating 7a3296
%kernel_variant_post -v debug
Jesse Keating 7a3296
Jesse Keating 7a3296
if [ -x /sbin/ldconfig ]
Jesse Keating 7a3296
then
Jesse Keating 7a3296
    /sbin/ldconfig -X || exit $?
Jesse Keating 7a3296
fi
Jesse Keating 7a3296
Jesse Keating 7a3296
###
Jesse Keating 7a3296
### file lists
Jesse Keating 7a3296
###
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_headers}
Jesse Keating 7a3296
%files headers
Jesse Keating 7a3296
/usr/include/*
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
f65f3f
%if %{with_cross_headers}
f65f3f
%files cross-headers
f65f3f
/usr/*-linux-gnu/include/*
f65f3f
%endif
f65f3f
94ce4e
# empty meta-package
94ce4e
%files
Dave Jones 166b79
# This is %%{image_install_path} on an arch where that includes ELF files,
Jesse Keating 7a3296
# or empty otherwise.
Jesse Keating 7a3296
%define elf_image_install_path %{?kernel_image_elf:%{image_install_path}}
Jesse Keating 7a3296
Jesse Keating 7a3296
#
Jesse Keating 7a3296
# This macro defines the %%files sections for a kernel package
Jesse Keating 7a3296
# and its devel and debuginfo packages.
Jesse Keating 7a3296
#	%%kernel_variant_files [-k vmlinux] <condition> <subpackage>
Jesse Keating 7a3296
#
Jesse Keating 7a3296
%define kernel_variant_files(k:) \
df3d8e
%if %{2}\
376237
%{expand:%%files -f kernel-%{?3:%{3}-}core.list %{?1:-f kernel-%{?3:%{3}-}ldsoconf.list} %{?3:%{3}-}core}\
d23e53
%{!?_licensedir:%global license %%doc}\
9f12ce
%license linux-%{KVERREL}/COPYING-%{version}\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}\
df3d8e
%ghost /%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?3:+%{3}}\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/.vmlinuz.hmac \
df3d8e
%ghost /%{image_install_path}/.vmlinuz-%{KVERREL}%{?3:+%{3}}.hmac \
Kyle McMartin 49ba08
%ifarch %{arm} aarch64\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/dtb \
df3d8e
%ghost /%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \
783eee
%endif\
df3d8e
%attr(600,root,root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\
df3d8e
%ghost /boot/System.map-%{KVERREL}%{?3:+%{3}}\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/config\
df3d8e
%ghost /boot/config-%{KVERREL}%{?3:+%{3}}\
df3d8e
%ghost /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\
b7897a
%dir /lib/modules\
df3d8e
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}\
df3d8e
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/build\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/source\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/updates\
cf8332
/lib/modules/%{KVERREL}%{?3:+%{3}}/bls.conf\
df3d8e
%if %{1}\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\
Jesse Keating 7a3296
%endif\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.*\
df3d8e
%{expand:%%files -f kernel-%{?3:%{3}-}modules.list %{?3:%{3}-}modules}\
df3d8e
%{expand:%%files %{?3:%{3}-}devel}\
a78151
%defverify(not mtime)\
df3d8e
/usr/src/kernels/%{KVERREL}%{?3:+%{3}}\
df3d8e
%{expand:%%files %{?3:%{3}-}modules-extra}\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/extra\
Jesse Keating 7a3296
%if %{with_debuginfo}\
Jesse Keating 7a3296
%ifnarch noarch\
df3d8e
%{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\
Jesse Keating 7a3296
%endif\
Jesse Keating 7a3296
%endif\
df3d8e
%if %{?3:1} %{!?3:0}\
df3d8e
%{expand:%%files %{3}}\
335206
%endif\
Jesse Keating 7a3296
%endif\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
376237
%kernel_variant_files %{_use_vdso} %{with_up}
376237
%kernel_variant_files %{_use_vdso} %{with_debug} debug
df3d8e
%kernel_variant_files %{use_vdso} %{with_pae} %{pae}
df3d8e
%kernel_variant_files %{use_vdso} %{with_pae_debug} %{pae}debug
Jesse Keating 7a3296
Jesse Keating 7a3296
# plz don't put in a version string unless you're going to tag
Jesse Keating 7a3296
# and build.
Dave Jones 1d43b9
#
2117ac
#
Jesse Keating 7a3296
%changelog
e88e68
* Mon Nov 05 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.20.0-0.rc1.git0.1
e88e68
- Linux v4.20-rc1
e88e68
572e50
* Mon Nov 05 2018 Justin M. Forbes <jforbes@fedoraproject.org>
572e50
- Disable debugging options.
572e50
90bf85
* Fri Nov 02 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.20.0-0.rc0.git9.1
90bf85
- Linux v4.19-12532-g8adcc59974b8
90bf85
755a40
* Thu Nov 01 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.20.0-0.rc0.git8.1
755a40
- Linux v4.19-12279-g5b7449810ae6
755a40
bf0b23
* Wed Oct 31 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.20.0-0.rc0.git7.1
bf0b23
- Linux v4.19-11807-g310c7585e830
bf0b23
968d59
* Tue Oct 30 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.20.0-0.rc0.git6.1
968d59
- Linux v4.19-11706-g11743c56785c
968d59
4eb72d
* Mon Oct 29 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.20.0-0.rc0.git5.1
4eb72d
- Linux v4.19-9448-g673c790e7282
4eb72d
8f03c4
* Fri Oct 26 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.20.0-0.rc0.git4.1
8f03c4
- Linux v4.19-6148-ge5f6d9afa341
8f03c4
0f348d
* Thu Oct 25 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.20.0-0.rc0.git3.1
0f348d
- Linux v4.19-5646-g3acbd2de6bc3
0f348d
bc5d81
* Wed Oct 24 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.20.0-0.rc0.git2.1
bc5d81
- Linux v4.19-4345-g638820d8da8e
bc5d81
a92862
* Tue Oct 23 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.20.0-0.rc0.git1.1
a92862
- Linux v4.19-1676-g0d1b82cd8ac2
a92862
- Reenable debugging options.
a92862
Jeremy Cline 069227
* Mon Oct 22 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-1
Jeremy Cline 069227
- Linux v4.19
Jeremy Cline 069227
- Disable debugging options.
Jeremy Cline 069227
c3f92f
* Sat Oct 20 2018 Peter Robinson <pbrobinson@fedoraproject.org>
c3f92f
- Fix network on some i.MX6 devices (rhbz 1628209)
c3f92f
Jeremy Cline d39a8c
* Fri Oct 19 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc8.git4.1
Jeremy Cline d39a8c
- Linux v4.19-rc8-95-g91b15613ce7f
Jeremy Cline d39a8c
- Enable pinctrl-cannonlake (rhbz 1641057)
Jeremy Cline d39a8c
Jeremy Cline 81f24e
* Thu Oct 18 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc8.git3.1
Jeremy Cline 81f24e
- Linux v4.19-rc8-27-gfa520c47eaa1
Jeremy Cline 81f24e
Jeremy Cline 3c50fa
* Wed Oct 17 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc8.git2.1
Jeremy Cline 3c50fa
- Linux v4.19-rc8-16-gc343db455eb3
Jeremy Cline 3c50fa
71dcda
* Tue Oct 16 2018 Peter Robinson <pbrobinson@fedoraproject.org>
71dcda
- Fixes to Rock960 series of devices, improves stability considerably
71dcda
- Raspberry Pi graphics fix
71dcda
Jeremy Cline c8a5b4
* Tue Oct 16 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc8.git1.1
Jeremy Cline c8a5b4
- Linux v4.19-rc8-11-gb955a910d7fd
Jeremy Cline c8a5b4
- Re-enable debugging options.
Jeremy Cline c8a5b4
Jeremy Cline c50522
* Mon Oct 15 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc8.git0.1
Jeremy Cline c50522
- Linux v4.19-rc8
Jeremy Cline c50522
Jeremy Cline 9ab960
* Mon Oct 15 2018 Jeremy Cline <jcline@redhat.com>
Jeremy Cline 9ab960
- Disable debugging options.
Jeremy Cline 9ab960
f0d49a
* Fri Oct 12 2018 Peter Robinson <pbrobinson@fedoraproject.org>
f0d49a
- Rebase device specific NVRAM files on brcm WiFi devices to latest
f0d49a
Jeremy Cline 6b553f
* Fri Oct 12 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc7.git4.1
Jeremy Cline 6b553f
- Linux v4.19-rc7-139-g6b3944e42e2e
Jeremy Cline 6b553f
Jeremy Cline c45cf8
* Thu Oct 11 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc7.git3.1
Jeremy Cline c45cf8
- Linux v4.19-rc7-61-g9f203e2f2f06
Jeremy Cline c45cf8
Jeremy Cline 582c55
* Wed Oct 10 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc7.git2.1
Jeremy Cline 582c55
- Linux v4.19-rc7-33-gbb2d8f2f6104
Jeremy Cline 582c55
Jeremy Cline e75c68
* Tue Oct 09 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc7.git1.1
Jeremy Cline e75c68
- Linux v4.19-rc7-15-g64c5e530ac2c
Jeremy Cline 8fa298
- Re-enable debugging options.
Jeremy Cline e75c68
Jeremy Cline 059eb2
* Mon Oct 08 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc7.git0.1
Jeremy Cline 059eb2
- Linux v4.19-rc7
Jeremy Cline 059eb2
Jeremy Cline ebb248
* Mon Oct 08 2018 Jeremy Cline <jcline@redhat.com>
Jeremy Cline ebb248
- Disable debugging options.
Jeremy Cline ebb248
Jeremy Cline 73a194
* Fri Oct 05 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc6.git4.1
Jeremy Cline 73a194
- Linux v4.19-rc6-223-gbefad944e231
Jeremy Cline 73a194
Jeremy Cline 62c479
* Thu Oct 04 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc6.git3.1
Jeremy Cline 62c479
- Linux v4.19-rc6-177-gcec4de302c5f
Jeremy Cline 62c479
Jeremy Cline 102c23
* Wed Oct 03 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc6.git2.1
Jeremy Cline 102c23
- Linux v4.19-rc6-37-g6bebe37927f3
Jeremy Cline 102c23
Jeremy Cline d083ff
* Tue Oct 02 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc6.git1.1
Jeremy Cline d083ff
- Linux v4.19-rc6-29-g1d2ba7fee28b
Jeremy Cline d083ff
- Re-enable debugging options.
Jeremy Cline d083ff
675bf4
* Mon Oct 01 2018 Laura Abbott <labbott@redhat.com>
675bf4
- Disable CONFIG_CRYPTO_DEV_SP_PSP (rhbz 1608242)
675bf4
Jeremy Cline b7efa4
* Mon Oct 01 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc6.git0.1
Jeremy Cline b7efa4
- Linux v4.19-rc6
Jeremy Cline b7efa4
Jeremy Cline 47cd32
* Mon Oct 01 2018 Jeremy Cline <jcline@redhat.com>
Jeremy Cline 47cd32
- Disable debugging options.
Jeremy Cline 47cd32
0bae75
* Mon Oct  1 2018 Peter Robinson <pbrobinson@fedoraproject.org>
0bae75
- Support loading device specific NVRAM files on brcm WiFi devices
0bae75
Jeremy Cline 9a0cb8
* Fri Sep 28 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc5.git3.1
Jeremy Cline 9a0cb8
- Linux v4.19-rc5-159-gad0371482b1e
Jeremy Cline 9a0cb8
49bf49
* Wed Sep 26 2018 Peter Robinson <pbrobinson@fedoraproject.org>
49bf49
- Add thermal trip to bcm283x (Raspberry Pi) cpufreq
be9754
- Add initial RockPro64 DT support
49bf49
Jeremy Cline 2b0301
* Wed Sep 26 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc5.git2.1
Jeremy Cline 2b0301
- Linux v4.19-rc5-143-gc307aaf3eb47
Jeremy Cline 2b0301
Jeremy Cline a919a1
* Tue Sep 25 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc5.git1.1
Jeremy Cline a919a1
- Linux v4.19-rc5-99-g8c0f9f5b309d
Jeremy Cline a919a1
- Re-enable debugging options.
Jeremy Cline a919a1
Jeremy Cline 0e03f8
* Mon Sep 24 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc5.git0.1
Jeremy Cline 0e03f8
- Linux v4.19-rc5
Jeremy Cline 0e03f8
Jeremy Cline 6e147f
* Mon Sep 24 2018 Jeremy Cline <jcline@redhat.com>
Jeremy Cline 6e147f
- Disable debugging options.
Jeremy Cline 6e147f
Jeremy Cline b333c0
* Fri Sep 21 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc4.git4.1
Jeremy Cline b333c0
- Linux v4.19-rc4-176-g211b100a5ced
Jeremy Cline b333c0
Jeremy Cline 18005d
* Thu Sep 20 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc4.git3.1
Jeremy Cline 18005d
- Linux v4.19-rc4-137-gae596de1a0c8
Jeremy Cline 18005d
Jeremy Cline 38cd16
* Wed Sep 19 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc4.git2.1
Jeremy Cline 38cd16
- Linux v4.19-rc4-86-g4ca719a338d5
Jeremy Cline 38cd16
Jeremy Cline f1461c
* Tue Sep 18 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc4.git1.1
Jeremy Cline f1461c
- Linux v4.19-rc4-78-g5211da9ca526
Jeremy Cline f1461c
- Enable debugging options.
Jeremy Cline f1461c
Jeremy Cline a54055
* Mon Sep 17 2018 Jeremy Cline <jeremy@jcline.org> - 4.19.0-0.rc4.git0.1
Jeremy Cline a54055
- Linux v4.19-rc4
Jeremy Cline a54055
Jeremy Cline 2285fc
* Mon Sep 17 2018 Jeremy Cline <jcline@redhat.com>
Jeremy Cline 2285fc
- Stop including the i686-PAE config in the sources
Jeremy Cline 4dedde
- Disable debugging options.
Jeremy Cline 2285fc
Jeremy Cline 720da7
* Fri Sep 14 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc3.git3.1
Jeremy Cline 720da7
- Linux v4.19-rc3-247-gf3c0b8ce4840
Jeremy Cline 720da7
Jeremy Cline e9e9e8
* Thu Sep 13 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc3.git2.1
Jeremy Cline e9e9e8
- Linux v4.19-rc3-130-g54eda9df17f3
Jeremy Cline e9e9e8
8eb140
* Thu Sep 13 2018 Hans de Goede <hdegoede@redhat.com>
8eb140
- Add patch silencing "EFI stub: UEFI Secure Boot is enabled." at boot
8eb140
Jeremy Cline 720485
* Wed Sep 12 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc3.git1.1
Jeremy Cline 720485
- Linux v4.19-rc3-21-g5e335542de83
Jeremy Cline 720485
- Re-enable debugging options.
Jeremy Cline 720485
Jeremy Cline 65921a
* Mon Sep 10 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc3.git0.1
Jeremy Cline 65921a
- Linux v4.19-rc3
Jeremy Cline 65921a
Jeremy Cline 040628
* Mon Sep 10 2018 Jeremy Cline <jcline@redhat.com>
Jeremy Cline 040628
- Disable debugging options.
Jeremy Cline 040628
Jeremy Cline 52778c
* Fri Sep 07 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc2.git3.1
Jeremy Cline 52778c
- Linux v4.19-rc2-205-ga49a9dcce802
Jeremy Cline 52778c
Jeremy Cline b67c89
* Thu Sep 06 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc2.git2.1
Jeremy Cline b67c89
- Linux v4.19-rc2-163-gb36fdc6853a3
Jeremy Cline b67c89
Jeremy Cline 018f6c
* Wed Sep 05 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc2.git1.1
Jeremy Cline 018f6c
- Linux v4.19-rc2-107-g28619527b8a7
Jeremy Cline 018f6c
- Re-enable debugging options
Jeremy Cline 018f6c
7a3c9b
* Mon Sep  3 2018 Peter Robinson <pbrobinson@fedoraproject.org>
7a3c9b
- Enable bcm283x VCHIQ, camera and analog audio drivers
1c4d7f
- ARM config updates for 4.19
7a3c9b
Jeremy Cline 8adbfb
* Mon Sep 03 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc2.git0.1
Jeremy Cline 8adbfb
- Linux v4.19-rc2
Jeremy Cline 8adbfb
Jeremy Cline 96021a
* Mon Sep 03 2018 Jeremy Cline <jcline@redhat.com>
Jeremy Cline 96021a
- Disable debugging options.
Jeremy Cline 96021a
Jeremy Cline 32964f
* Fri Aug 31 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc1.git4.1
Jeremy Cline 32964f
- Linux v4.19-rc1-195-g4658aff6eeaa
Jeremy Cline 32964f
Jeremy Cline c5c99f
* Thu Aug 30 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc1.git3.1
Jeremy Cline c5c99f
- Linux v4.19-rc1-124-g58c3f14f86c9
Jeremy Cline c5c99f
Jeremy Cline e062c3
* Wed Aug 29 2018 Jeremy Cline <jeremy@jcline.org>
Jeremy Cline e062c3
- Enable the AFS module (rhbz 1616016)
Jeremy Cline e062c3
Jeremy Cline dd298e
* Wed Aug 29 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc1.git2.1
Jeremy Cline dd298e
- Linux v4.19-rc1-95-g3f16503b7d22
Jeremy Cline dd298e
Jeremy Cline ff5923
* Tue Aug 28 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc1.git1.1
Jeremy Cline ff5923
- Linux v4.19-rc1-88-g050cdc6c9501
Jeremy Cline ff5923
- Re-enable debugging options
Jeremy Cline ff5923
Jeremy Cline 9c8eca
* Mon Aug 27 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc1.git0.1
Jeremy Cline 9c8eca
- Linux v4.19-rc1
Jeremy Cline 9c8eca
Jeremy Cline 6f5ba0
* Mon Aug 27 2018 Jeremy Cline <jcline@redhat.com>
Jeremy Cline 6f5ba0
- Disable debugging options.
Jeremy Cline 6f5ba0
Jeremy Cline 565f03
* Sat Aug 25 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc0.git12.1
Jeremy Cline 565f03
- Linux v4.18-12872-g051935978432
Jeremy Cline 565f03
Jeremy Cline 28d87a
* Fri Aug 24 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc0.git11.1
Jeremy Cline 28d87a
- Linux v4.18-12721-g33e17876ea4e
Jeremy Cline 28d87a
Jeremy Cline 9b4f0f
* Thu Aug 23 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc0.git10.1
Jeremy Cline 9b4f0f
- Linux v4.18-11682-g815f0ddb346c
Jeremy Cline 9b4f0f
Jeremy Cline f17554
* Wed Aug 22 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc0.git9.1
Jeremy Cline f17554
- Linux v4.18-11219-gad1d69735878
Jeremy Cline f17554
Jeremy Cline 390cb4
* Tue Aug 21 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc0.git8.1
Jeremy Cline 390cb4
- Linux v4.18-10986-g778a33959a8a
Jeremy Cline 390cb4
Jeremy Cline 615f75
* Mon Aug 20 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc0.git7.1
Jeremy Cline 615f75
- Linux v4.18-10721-g2ad0d5269970
Jeremy Cline 615f75
Jeremy Cline a9cb2f
* Sun Aug 19 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc0.git6.1
Jeremy Cline a9cb2f
- Linux v4.18-10568-g08b5fa819970
Jeremy Cline a9cb2f
Jeremy Cline cb11f4
* Sat Aug 18 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc0.git5.1
Jeremy Cline cb11f4
- Linux v4.18-8895-g1f7a4c73a739
Jeremy Cline cb11f4
d0dd79
* Fri Aug 17 2018 Laura Abbott <labbott@redhat.com>
d0dd79
- Enable CONFIG_AF_KCM (rhbz 1613819)
d0dd79
Jeremy Cline 186cf0
* Fri Aug 17 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc0.git4.1
Jeremy Cline 186cf0
- Linux v4.18-8108-g5c60a7389d79
Jeremy Cline 186cf0
- Re-enable AEGIS and MORUS ciphers (rhbz 1610180)
Jeremy Cline 186cf0
Jeremy Cline a23ced
* Thu Aug 16 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc0.git3.1
Jeremy Cline a23ced
- Linux v4.18-7873-gf91e654474d4
Jeremy Cline a23ced
bec265
* Wed Aug 15 2018 Peter Robinson <pbrobinson@fedoraproject.org>
bec265
- Drop PPC64 (Big Endian) configs
bec265
c0a58b
* Wed Aug 15 2018 Laura Abbott <labbott@redhat.com> - 4.19.0-0.rc0.git2.1
c0a58b
- Linux v4.18-2978-g1eb46908b35d
c0a58b
Jeremy Cline 600359
* Tue Aug 14 2018 Jeremy Cline <jcline@redhat.com> - 4.19.0-0.rc0.git1.1
Jeremy Cline 600359
- Reenable debugging options.
Jeremy Cline 600359
- Linux v4.18-1283-g10f3e23f07cb
Jeremy Cline 600359
5e3010
* Mon Aug 13 2018 Laura Abbott <labbott@redhat.com> - 4.18.0-1
5e3010
- Linux v4.18
5e3010
- Disable debugging options.