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.
a0fec3
%global released_kernel 1
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
c75cb4
%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
c25d6c
# 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
#
Jeremy Cline 8beabd
%global baserelease 100
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.
b03622
%define base_sublevel 16
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?
Jeremy Cline 77b4be
%define stable_update 12
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
a0fec3
%global rcrev 0
Jesse Keating 7a3296
# The git snapshot level
88fc0e
%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
# kernel-bootwrapper (for creating zImages from kernel + initrd)
Jesse Keating 7a3296
%define with_bootwrapper %{?_without_bootwrapper: 0} %{?!_without_bootwrapper: 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
99240e
# verbose build, i.e. no silent rules and V=1
99240e
%define with_verbose %{?_with_verbose:        1} %{?!_with_verbose:      0}
99240e
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'.
1aa85f
%define debugbuildsenabled 1
Jesse Keating 7a3296
99240e
%if %{with_verbose}
99240e
%define make_opts V=1
99240e
%else
99240e
%define make_opts -s
99240e
%endif
99240e
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 with_bootwrapper 0
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
Kyle McMartin bc5f99
# kernel PAE is only built on i686 and ARMv7.
Kyle McMartin bc5f99
%ifnarch i686 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}
574092
%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
Jesse Keating 7a3296
# bootwrapper is only on ppc
a3f68e
# sparse blows up on ppc
9a6acd
%ifnarch %{power64}
Jesse Keating 7a3296
%define with_bootwrapper 0
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
c75cb4
%ifarch ppc64
a3f68e
%define all_arch_configs kernel-%{version}-ppc64*.config
Jesse Keating 7a3296
%endif
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 f39150
%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
574092
%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
a20ad4
%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...
5865c6
%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
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
574092
%if %{use_vdso}
574092
574092
%if 0%{?skip_nonpae_vdso}
574092
%define _use_vdso 0
574092
%else
574092
%define _use_vdso 1
574092
%endif
574092
574092
%else
574092
%define _use_vdso 0
574092
%endif
574092
574092
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
b03622
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
c75cb4
ExclusiveArch: %{all_x86} x86_64 ppc64 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
#
b03622
BuildRequires: kmod, patch, bash, tar, git
b03622
BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk
b03622
BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc, bison, flex
e986b2
BuildRequires: net-tools, hostname, bc, elfutils-devel
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
006e9a
%define debuginfo_args --strict-build-id -r
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
94ce4e
Source95: filter-ppc64.sh
94ce4e
Source96: filter-ppc64le.sh
94ce4e
Source97: 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
1b7eeb
Source28: kernel-i686-PAE.config
1b7eeb
Source29: kernel-i686-PAEdebug.config
1b7eeb
Source30: kernel-ppc64.config
1b7eeb
Source31: kernel-ppc64-debug.config
1b7eeb
Source32: kernel-ppc64le.config
1b7eeb
Source33: kernel-ppc64le-debug.config
1b7eeb
Source36: kernel-s390x.config
1b7eeb
Source37: kernel-s390x-debug.config
1b7eeb
Source38: kernel-x86_64.config
1b7eeb
Source39: kernel-x86_64-debug.config
1b7eeb
1b7eeb
Source40: generate_all_configs.sh
1b7eeb
Source41: generate_debug_configs.sh
Jesse Keating 7a3296
a20ad4
Source42: check_configs.awk
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
Jesse Keating 7a3296
# build tweak for build ID magic, even for -vanilla
476553
Patch001: kbuild-AFTER_LINK.patch
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
3ff7c2
# 100 - Generic long running patches
Jesse Keating 7a3296
3ff7c2
Patch110: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
db34f9
3ff7c2
Patch111: input-kill-stupid-messages.patch
52bf9a
3ff7c2
Patch112: die-floppy-die.patch
78560e
3ff7c2
Patch113: no-pcspkr-modalias.patch
6c5f57
3ff7c2
Patch114: silence-fbcon-logo.patch
31e9d3
3ff7c2
Patch115: Kbuild-Add-an-option-to-enable-GCC-VTA.patch
d85c97
3ff7c2
Patch116: crash-driver.patch
861737
3ff7c2
Patch117: lis3-improve-handling-of-null-rate.patch
95b218
3ff7c2
Patch118: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
51f1cb
3ff7c2
Patch119: criu-no-expert.patch
580d60
3ff7c2
Patch120: ath9k-rx-dma-stop-check.patch
ddc931
3ff7c2
Patch121: xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
56b307
3ff7c2
Patch122: Input-synaptics-pin-3-touches-when-the-firmware-repo.patch
4768e6
f5dae5
# This no longer applies, let's see if it needs to be updated
f5dae5
# Patch123: firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
52e0b8
3ff7c2
# 200 - x86 / secureboot
eba478
3ff7c2
Patch201: efi-lockdown.patch
Jesse Keating 7a3296
3ff7c2
Patch202: KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch
Jesse Keating 7a3296
3ff7c2
Patch203: Add-EFI-signature-data-types.patch
Josh Boyer 306dfc
3ff7c2
Patch204: Add-an-EFI-signature-blob-parser-and-key-loader.patch
6a9155
3ff7c2
Patch205: MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch
Matthew Garrett 447e3a
3ff7c2
Patch206: MODSIGN-Support-not-importing-certs-from-db.patch
bbf3f5
72428d
# bz 1497559 - Make kernel MODSIGN code not error on missing variables
ef8989
Patch207: 0001-Make-get_cert_list-not-complain-about-cert-lists-tha.patch
ef8989
Patch208: 0002-Add-efi_status_to_str-and-rework-efi_status_to_err.patch
ef8989
Patch209: 0003-Make-get_cert_list-use-efi_status_to_str-to-print-er.patch
ef8989
3ff7c2
Patch210: disable-i8042-check-on-apple-mac.patch
Jesse Keating 7a3296
3ff7c2
Patch211: drm-i915-hush-check-crtc-state.patch
Dave Jones 18e50c
3ff7c2
# 300 - ARM patches
99240e
Patch300: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
a89c69
3ff7c2
# http://www.spinics.net/lists/linux-tegra/msg26029.html
c75cb4
Patch301: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
9adfc1
3ff7c2
# http://patchwork.ozlabs.org/patch/587554/
b03622
Patch302: ARM-tegra-usb-no-reset.patch
35eff4
3ff7c2
# https://patchwork.kernel.org/patch/9820417/
b03622
Patch303: qcom-msm89xx-fixes.patch
b03622
b03622
# https://patchwork.kernel.org/patch/10351797/
b03622
Patch304: ACPI-scan-Fix-regression-related-to-X-Gene-UARTs.patch
359584
99240e
# https://patchwork.kernel.org/patch/10173115/
b03622
Patch305: arm-dts-imx6qdl-udoo-Disable-usbh1-to-avoid-kernel-hang.patch
b03622
b03622
# http://patches.linaro.org/patch/131764/
b03622
Patch306: wcn36xx-Fix-firmware-crash-due-to-corrupted-buffer-address.patch
b03622
b03622
# https://patchwork.kernel.org/patch/10245303/
b03622
Patch307: wcn36xx-reduce-verbosity-of-drivers-messages.patch
b03622
99240e
# Fix USB on the RPi https://patchwork.kernel.org/patch/9879371/
b03622
Patch309: bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch
b653e2
b03622
# https://www.spinics.net/lists/arm-kernel/msg621982.html
b03622
Patch310: bcm283x-Fix-probing-of-bcm2835-i2s.patch
8d3daa
b03622
# https://www.spinics.net/lists/arm-kernel/msg633942.html
b03622
Patch311: mmc-sdhci-iproc-Disable-preset-values-for-BCM2835.patch
c75cb4
b03622
# https://www.spinics.net/lists/arm-kernel/msg633945.html
b03622
Patch312: bcm2835-hwrng-Handle-deferred-clock-properly.patch
3a0275
b03622
Patch313: bcm283x-clk-audio-fixes.patch
770e48
b03622
# https://marc.info/?l=linux-kernel&m=152328880417846&w=2
b03622
Patch314: arm64-thunderx-crypto-zip-fixes.patch
d5330e
b03622
# https://www.spinics.net/lists/linux-crypto/msg32725.html
b03622
Patch315: crypto-testmgr-Allow-different-compression-results.patch
138d22
b03622
Patch316: arm-tegra-fix-nouveau-crash.patch
2ef60f
b03622
# https://www.spinics.net/lists/arm-kernel/msg630629.html
b03622
Patch317: arm-sunxi-nvmem-fixH3.patch
510336
b03622
# Upstream 4.17 back port
b03622
Patch318: of-i2c-fix-module-aliases.patch
aebca6
b03622
Patch320: arm-dts-Add-am335x-pocketbeagle.patch
4b3da6
b03622
# https://patchwork.kernel.org/patch/10354521/
b03622
# https://patchwork.kernel.org/patch/10354187/
b03622
# https://patchwork.kernel.org/patch/10306793/
b03622
# https://patchwork.kernel.org/patch/10133165/
b03622
Patch321: mvebu-a37xx-fixes.patch
99240e
e45538
# https://www.spinics.net/lists/arm-kernel/msg643991.html
e45538
Patch322: arm64-fix-usercopy-whitelist.patch
e45538
98a3d2
# https://www.spinics.net/lists/linux-tegra/msg32920.html
98a3d2
Patch323: arm-tegra-USB-driver-dependency-fix.patch
98a3d2
b03622
# Enabling Patches for the RPi3+
b03622
Patch330: bcm2837-gpio-expander.patch
b03622
# http://www.spinics.net/lists/arm-kernel/msg647617.html
b03622
Patch331: bcm2837-rpi-initial-3plus-support.patch
b03622
Patch332: bcm2837-enable-pmu.patch
b03622
Patch333: bcm2837-lan78xx-fixes.patch
65381b
Jeremy Cline 14db0a
# rhbz 1574718
Jeremy Cline 14db0a
Patch340: ACPI-irq-Workaround-firmware-issue-on-X-Gene-based-m400.patch
Jeremy Cline 14db0a
b03622
# 400 - IBM (ppc/s390x) patches
504a8b
b03622
# 500 - Temp fixes/CVEs etc
104517
b03622
# rhbz 1476467
b03622
Patch501: Fix-for-module-sig-verification.patch
2770e4
b03622
# rhbz 1431375
b03622
Patch502: input-rmi4-remove-the-need-for-artifical-IRQ.patch
6daca9
b03622
# rhbz 1509461
b03622
Patch503: v3-2-2-Input-synaptics---Lenovo-X1-Carbon-5-should-use-SMBUS-RMI.patch
4094ee
b03622
# In v4.17
b03622
# rhbz 1549316
b03622
Patch504: ipmi-fixes.patch
b03622
9be75b
# rhbz 1572944
4cb1c2
Patch509: Revert-the-random-series-for-4.16.4.patch
9be75b
813051
# CVE-2018-10322 rhbz 1571623 1571624
813051
Patch510: 0001-xfs-enhance-dinode-verifier.patch
813051
813051
# CVE-2018-10323 rhbz 1571627 1571630
813051
Patch511: 0001-xfs-set-format-back-to-extents-if-xfs_bmap_extents_t.patch
813051
Jeremy Cline 27cfca
# rbhz 1435837
Jeremy Cline 27cfca
# https://www.spinics.net/lists/linux-acpi/msg82405.html
Jeremy Cline 27cfca
Patch512: mailbox-ACPI-erroneous-error-message-when-parsing-ACPI.patch
Jeremy Cline 27cfca
Jeremy Cline 77b4be
# CVE-2018-10840 rhbz 1582346 1582348
Jeremy Cline 77b4be
Patch513: ext4-correctly-handle-a-zero-length-xattr-with-a-non.patch
Jeremy Cline 77b4be
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 bootwrapper
Jesse Keating 7a3296
Summary: Boot wrapper files for generating combined kernel + initrd images
Dave Jones 524b8c
Requires: gzip binutils
Jesse Keating 7a3296
%description bootwrapper
Jesse Keating 7a3296
Kernel-bootwrapper contains the wrapper code which makes bootable "zImage"
Jesse Keating 7a3296
files combining both kernel and initial ramdisk.
Jesse Keating 7a3296
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}.\
006e9a
%{expand:%%global debuginfo_args %{?debuginfo_args} -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\
Jesse Keating 7a3296
Requires: perl\
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)\
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
99240e
%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.
99240e
%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
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} .
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
476553
# Note: Even in the "nopatches" path some patches (build tweaks and compile
476553
# fixes) will always get applied; see patch defition above for details
Jesse Keating 7a3296
178df3
git am %{patches}
45d703
Jesse Keating 7a3296
# END OF PATCH APPLICATIONS
Jesse Keating 7a3296
Jesse Keating 7a3296
# Any further pre-build tree manipulations happen here.
Jesse Keating 7a3296
Jesse Keating 7a3296
chmod +x scripts/checkpatch.pl
1d54a7
chmod +x tools/objtool/sync-check.sh
Jesse Keating 7a3296
Dave Jones ed3d26
# This Prevents scripts/setlocalversion from mucking with our version numbers.
Kyle McMartin fa0660
touch .scmversion
Kyle McMartin fa0660
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
mkdir configs
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} .
Dave Jones 834dba
# now run oldconfig over all the config files
Dave Jones 834dba
for i in *.config
Dave Jones 834dba
do
a20ad4
  cat $i > temp-$i
Dave Jones 834dba
  mv $i .config
Dave Jones 834dba
  Arch=`head -1 .config | cut -b 3-`
Dave Jones 834dba
  make ARCH=$Arch listnewconfig | grep -E '^CONFIG_' >.newoptions || true
Dave Jones 834dba
%if %{listnewconfig_fail}
Dave Jones 834dba
  if [ -s .newoptions ]; then
Dave Jones 834dba
    cat .newoptions
Dave Jones 834dba
    exit 1
Dave Jones 834dba
  fi
Dave Jones 834dba
%endif
Dave Jones 834dba
  rm -f .newoptions
Dave Jones 834dba
  make ARCH=$Arch oldnoconfig
Dave Jones 834dba
  echo "# $Arch" > configs/$i
Dave Jones 834dba
  cat .config >> configs/$i
a20ad4
%if %{configmismatch_fail}
a20ad4
  CheckConfigs configs/$i temp-$i
a20ad4
%endif
a20ad4
  rm temp-$i
Dave Jones 834dba
done
Jesse Keating 7a3296
# end of kernel config
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
John W. Linville fa580e
# get rid of unwanted files resulting from patch fuzz
John W. Linville fa580e
find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
John W. Linville fa580e
Dave Jones 246f94
# remove unnecessary SCM files
Dave Jones 246f94
find . -name .gitignore -exec rm -f {} \; >/dev/null
Dave Jones 246f94
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
Kyle McMartin 1bfd59
%if %{with_debuginfo}
Jesse Keating 7a3296
# This override tweaks the kernel makefiles so that we run debugedit on an
Jesse Keating 7a3296
# object before embedding it.  When we later run find-debuginfo.sh, it will
Jesse Keating 7a3296
# run debugedit again.  The edits it does change the build ID bits embedded
Jesse Keating 7a3296
# in the stripped object, but repeating debugedit is a no-op.  We do it
Jesse Keating 7a3296
# beforehand to get the proper final build ID bits into the embedded image.
Jesse Keating 7a3296
# This affects the vDSO images in vmlinux, and the vmlinux image in bzImage.
Jesse Keating 7a3296
export AFTER_LINK=\
Jesse Keating 7a3296
'sh -xc "/usr/lib/rpm/debugedit -b $$RPM_BUILD_DIR -d /usr/src/debug \
e9fda3
                                -i $@ > $@.id"'
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
Jesse Keating 7a3296
BuildKernel() {
Jesse Keating 7a3296
    MakeTarget=$1
Jesse Keating 7a3296
    KernelImage=$2
574092
    Flavour=$4
574092
    DoVDSO=$3
faf252
    Flav=${Flavour:++${Flavour}}
574092
    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
Kyle McMartin 9fc584
    perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_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
99240e
    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
99240e
    make %{?make_opts} ARCH=$Arch olddefconfig >/dev/null
99240e
    %{make} %{?make_opts} ARCH=$Arch %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags}
99240e
    %{make} %{?make_opts} 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
99240e
    %{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
Kyle McMartin 1c0b00
    find arch/$Arch/boot/dts -name '*.dtb' -type f | xargs rm -f
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
99240e
    %{make} %{?make_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
Josh Boyer c2a12c
574092
    if [ $DoVDSO -ne 0 ]; then
99240e
        %{make} %{?make_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
574092
        if [ ! -s ldconfig-kernel.conf ]; then
574092
          echo > ldconfig-kernel.conf "\
574092
    # Placeholder file, no vDSO hwcap entries used in this kernel."
574092
        fi
574092
        %{__install} -D -m 444 ldconfig-kernel.conf \
574092
            $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf
574092
        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
40f9e5
      cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/ || :
beca8c
      # these are a few files associated with objtool
beca8c
      cp -a --parents tools/build/Build.include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
beca8c
      cp -a --parents tools/build/Build $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
beca8c
      cp -a --parents tools/build/fixdep.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
beca8c
      cp -a --parents tools/scripts/utilities.mak $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
beca8c
      # also more than necessary but it's not that many more files
beca8c
      cp -a --parents tools/objtool/* $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
beca8c
      cp -a --parents tools/lib/str_error_r.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
beca8c
      cp -a --parents tools/lib/string.c $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
beca8c
      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
e697ee
    if [ -f arch/%{asmarch}/kernel/module.lds ]; then
e697ee
      cp -a --parents arch/%{asmarch}/kernel/module.lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
e697ee
    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/
beca8c
    # Yes this is more includes than we probably need. Feel free to sort out
beca8c
    # dependencies if you so choose.
beca8c
    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/sha256.h $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19c3eb
    cp -a --parents arch/x86/purgatory/sha256.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/
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}
Jesse Keating 7a3296
    if test -s vmlinux.id; then
Jesse Keating 7a3296
      cp vmlinux.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.id
Jesse Keating 7a3296
    else
Roland McGrath 9b36e5
      echo >&2 "*** ERROR *** no vmlinux build ID! ***"
Roland McGrath 9b36e5
      exit 1
Jesse Keating 7a3296
    fi
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
Kyle McMartin 4b3b40
    find $RPM_BUILD_ROOT/usr/src/kernels -name ".*.cmd" -exec rm -f {} \;
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
574092
Jesse Keating 7a3296
%if %{with_debug}
574092
BuildKernel %make_target %kernel_image %{_use_vdso} debug
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_pae_debug}
574092
BuildKernel %make_target %kernel_image %{use_vdso} %{pae}debug
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_pae}
574092
BuildKernel %make_target %kernel_image %{use_vdso} %{pae}
986a9f
%endif
986a9f
Jesse Keating 7a3296
%if %{with_up}
574092
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
006e9a
%define __debug_install_post \
006e9a
  /usr/lib/rpm/find-debuginfo.sh %{debuginfo_args} %{_builddir}/%{?buildsubdir}\
006e9a
%{nil}
006e9a
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 \
e9fda3
        -name ..install.cmd -o -name ..check.cmd \) | xargs rm -f
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 \
e9fda3
        -name ..install.cmd -o -name ..check.cmd \) | xargs rm -f
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
3ff7c2
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
%if %{with_bootwrapper}
Jesse Keating 7a3296
make DESTDIR=$RPM_BUILD_ROOT bootwrapper_install WRAPPER_OBJDIR=%{_libdir}/kernel-wrapper WRAPPER_DTSDIR=%{_libdir}/kernel-wrapper/dts
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
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
99240e
%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
99240e
%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
Jesse Keating 7a3296
%if %{with_bootwrapper}
Jesse Keating 7a3296
%files bootwrapper
Jesse Keating 7a3296
/usr/sbin/*
Jesse Keating 7a3296
%{_libdir}/kernel-wrapper
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
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:) \
574092
%if %{2}\
574092
%{expand:%%files -f kernel-%{?3:%{3}-}core.list %{?3:%{3}-}core}\
d23e53
%{!?_licensedir:%global license %%doc}\
d23e53
%license linux-%{KVERREL}/COPYING\
574092
/lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}\
574092
%ghost /%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?3:+%{3}}\
574092
/lib/modules/%{KVERREL}%{?3:+%{3}}/.vmlinuz.hmac \
574092
%ghost /%{image_install_path}/.vmlinuz-%{KVERREL}%{?3:+%{3}}.hmac \
Kyle McMartin 49ba08
%ifarch %{arm} aarch64\
574092
/lib/modules/%{KVERREL}%{?3:+%{3}}/dtb \
574092
%ghost /%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \
783eee
%endif\
574092
%attr(600,root,root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\
574092
%ghost /boot/System.map-%{KVERREL}%{?3:+%{3}}\
574092
/lib/modules/%{KVERREL}%{?3:+%{3}}/config\
574092
%ghost /boot/config-%{KVERREL}%{?3:+%{3}}\
574092
%ghost /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\
b7897a
%dir /lib/modules\
574092
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}\
574092
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel\
574092
/lib/modules/%{KVERREL}%{?3:+%{3}}/build\
574092
/lib/modules/%{KVERREL}%{?3:+%{3}}/source\
574092
/lib/modules/%{KVERREL}%{?3:+%{3}}/updates\
574092
%if %{1}\
574092
/lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\
574092
/etc/ld.so.conf.d/kernel-%{KVERREL}%{?3:+%{3}}.conf\
Jesse Keating 7a3296
%endif\
574092
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.*\
574092
%{expand:%%files -f kernel-%{?3:%{3}-}modules.list %{?3:%{3}-}modules}\
574092
%{expand:%%files %{?3:%{3}-}devel}\
a78151
%defverify(not mtime)\
574092
/usr/src/kernels/%{KVERREL}%{?3:+%{3}}\
574092
%{expand:%%files %{?3:%{3}-}modules-extra}\
574092
/lib/modules/%{KVERREL}%{?3:+%{3}}/extra\
Jesse Keating 7a3296
%if %{with_debuginfo}\
Jesse Keating 7a3296
%ifnarch noarch\
574092
%{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\
Jesse Keating 7a3296
%endif\
Jesse Keating 7a3296
%endif\
574092
%if %{?3:1} %{!?3:0}\
574092
%{expand:%%files %{3}}\
335206
%endif\
Jesse Keating 7a3296
%endif\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
b03622
%kernel_variant_files %{_use_vdso} %{with_up}
b03622
%kernel_variant_files %{_use_vdso} %{with_debug} debug
574092
%kernel_variant_files %{use_vdso} %{with_pae} %{pae}
574092
%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
Jeremy Cline 77b4be
* Fri May 25 2018 Jeremy Cline <jcline@redhat.com> - 4.16.12-100
Jeremy Cline 77b4be
- Linux v4.16.12
Jeremy Cline 77b4be
- Fix CVE-2018-10840 (rhbz 1582346 1582348)
Jeremy Cline 27cfca
- Fix for incorrect error message about parsing PCCT (rhbz 1435837)
Jeremy Cline 27cfca
Jeremy Cline 8beabd
* Tue May 22 2018 Jeremy Cline <jcline@redhat.com> - 4.16.11-100
Jeremy Cline 8beabd
- Linux v4.16.11
Jeremy Cline 8beabd
fd35fe
* Mon May 21 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.16.10-101
fd35fe
- Fix CVE-2018-3639 (rhbz 1566890 1580713)
fd35fe
Jeremy Cline f2b2c6
* Mon May 21 2018 Jeremy Cline <jcline@redhat.com> - 4.16.10-100
Jeremy Cline f2b2c6
- Linux v4.16.10
Jeremy Cline f2b2c6
518d5b
* Sun May 20 2018 Hans de Goede <hdegoede@redhat.com>
518d5b
- Enable GPIO_AMDPT, PINCTRL_AMD and X86_AMD_PLATFORM_DEVICE Kconfig options
518d5b
  to fix i2c and GPIOs not working on AMD based laptops (rhbz#1510649)
518d5b
ca0e9a
* Thu May 17 2018 Justin M. Forbes <jforbes@fedoraproject.org>
ca0e9a
- Fix CVE-2018-1120 (rhbz 1575472 1579542)
ca0e9a
Jeremy Cline cf7cc6
* Thu May 17 2018 Jeremy Cline <jcline@redhat.com> - 4.16.9-100
Jeremy Cline cf7cc6
- Linux v4.16.9
Jeremy Cline ba1ab7
- Silence unwanted "swiotlb buffer is full" warnings (rhbz 1556797)
Jeremy Cline ba1ab7
Jeremy Cline 636a4c
* Thu May 10 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.8-101
Jeremy Cline 636a4c
- Bump the release for a rebuild
Jeremy Cline 636a4c
Jeremy Cline 14db0a
* Wed May 09 2018 Jeremy Cline <jeremy@jcline.org>
Jeremy Cline 14db0a
- Workaround for m400 uart irq firmware description (rhbz 1574718)
Jeremy Cline 14db0a
Jeremy Cline 636a4c
* Wed May 09 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.8-100
d8e8a0
- Linux v4.16.8
d8e8a0
7db14a
* Mon May 07 2018 Jeremy Cline <jeremy@jcline.org>
7db14a
- Fix issue with KVM on older Core 2 processors (rhbz 1566258)
7db14a
e45538
* Sat May  5 2018 Peter Robinson <pbrobinson@fedoraproject.org>
e45538
- ARM and Raspberry Pi fixes
98a3d2
- Fix USB-2 on Tegra devices
e45538
e697ee
* Fri May 04 2018 Laura Abbott <labbott@redhat.com>
e697ee
- Fix for building out of tree modules on powerpc (rhbz 1574604)
e697ee
813051
* Fri May 04 2018 Justin M. Forbes <jforbes@fedoraproject.org>
813051
- Fix CVE-2018-10322 (rhbz 1571623 1571624)
813051
- Fix CVE-2018-10323 (rhbz 1571627 1571630)
813051
4cb1c2
* Wed May 02 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.7-100
4cb1c2
- Linux v4.16.7
4cb1c2
- Revert a second patch related to CVE-2018-1108 4.16.4 (rhbz 1572944)
4cb1c2
9be75b
* Tue May 01 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.6-101
9be75b
- Revert the fix for CVE-2018-1108 (rhbz 1572944)
9be75b
10390d
* Mon Apr 30 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.6-100
10390d
- Linux v4.16.6
10390d
1558cb
* Fri Apr 27 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.5-100
8b9412
- Fix an issue with bluetooth autosupsend on some XPS 13 9360 (rhbz 1514836)
1558cb
- Fix prlimit64 with RLIMIT_CPU ignored (rhbz 1568337)
1558cb
- Linux v4.16.5
8b9412
8a80a0
* Fri Apr 27 2018 Peter Robinson <pbrobinson@fedoraproject.org>
8a80a0
- Enable QLogic NICs on ARM
8a80a0
50cf05
* Wed Apr 25 2018 Jeremy Cline <jeremy@jcline.org>
50cf05
- Fix a kernel oops when using Thunderbolt 3 docks (rhbz 1565131)
50cf05
b03622
* Wed Apr 25 2018 Jeremy Cline <jeremy@jcline.org> - 4.16.4-100
b03622
- Linux v4.16.4 rebase
b03622
- Fix a regression in backlight interfaces for some laptops (rhbz 1571036)
b03622
883822
* Thu Apr 19 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.15.18-200
883822
- Linux v4.15.18
883822
5666c2
* Thu Apr 12 2018 Laura Abbott <labbott@redhat.com> - 4.15.17-200
5666c2
- Linux v4.15.17
5666c2
7867cd
* Thu Apr 12 2018 Justin M. Forbes <jforbes@fedoraproject.org>
7867cd
- Fix CVE-2018-10021 (rhbz 1566407 1566409)
7867cd
d5b631
* Mon Apr 09 2018 Laura Abbott <labbott@redhat.com> - 4.15.16-200
d5b631
- Linux v4.15.16
d5b631
3710ee
* Mon Apr 02 2018 Laura Abbott <labbott@redhat.com> - 4.15.15-200
3710ee
- Linux v4.15.15
3710ee
308f00
* Thu Mar 29 2018 Laura Abbott <labbott@redhat.com> - 4.15.14-200
308f00
- Linux v4.15.14
308f00
4094ee
* Thu Mar 29 2018 Jeremy Cline <jeremy@jcline.org>
4094ee
- Fix mounting NFS with kerberos (rhbz 1558977)
4094ee
9a6529
* Mon Mar 26 2018 Laura Abbott <labbott@redhat.com> - 4.15.13-200
9a6529
- Linux v4.15.13
9a6529
3a5c5f
* Thu Mar 22 2018 Laura Abbott <labbott@redhat.com> - 4.15.12-201
3a5c5f
- Rebuild for kernel-devel fix
3a5c5f
6f85ee
* Thu Mar 22 2018 Jeremy Cline <jeremy@jcline.org>
6f85ee
- Fix for nouveau backlight regression (rhbz 1511786)
6f85ee
7b899a
* Wed Mar 21 2018 Laura Abbott <labbott@redhat.com> - 4.15.12-200
7b899a
- Linux v4.15.12
7b899a
830e89
* Mon Mar 19 2018 Laura Abbott <labbott@redhat.com> - 4.15.11-200
830e89
- Linux v4.15.11
830e89
6daca9
* Mon Mar 19 2018 Justin M. Forbes <jforbes@fedoraproject.org>
6daca9
- Fix CVE-2017-18232 (rhbz 1558066 1558067)
6daca9
a66a3d
* Thu Mar 15 2018 Laura Abbott <labbott@redhat.com> - 4.15.10-200
a66a3d
- Linux v4.15.10
a66a3d
- Fix for dock booting (rhbz 1549042)
a66a3d
- Fix THP bug (rhbz 1546709)
a66a3d
213cf1
* Mon Mar 12 2018 Laura Abbott <labbott@redhat.com> - 4.15.9-200
213cf1
- Linux v4.15.9
213cf1
2770e4
* Mon Mar 12 2018 Justin M. Forbes <jforbes@fedoraproject.org>
2770e4
- Fix CVE-2018-7995 (rhbz 1553911 1553918)
2770e4
- Fix CVE-2018-8043 (rhbz 1554199 1554200)
2770e4
213cf1
* Fri Mar 09 2018 Laura Abbott <labbott@redhat.com> - 4.15.8-200
986e2b
- Linux v4.15.8
986e2b
e9c6ac
* Thu Mar 08 2018 Justin M. Forbes <jforbes@fedoraproject.org>
e9c6ac
- Fix CVE-2018-7757 (rhbz 1553361 1553363)
e9c6ac
104517
* Tue Mar 06 2018 Laura Abbott <labbott@redhat.com>
104517
- Fixes for IPMI crash (rbhz 1549316)
104517
bcb90a
* Mon Mar 05 2018 Justin M. Forbes <jforbes@fedoraproject.org>
bcb90a
- Fix CVE-2018-5803 (rhbz 1551051 1551053)
bcb90a
0e73a8
* Fri Mar 02 2018 Justin M. Forbes <jforbes@fedoraproject.org>
0e73a8
- Fix CVE-2018-1065 (rhbz 1547824 1547831)
0e73a8
c895e3
* Wed Feb 28 2018 Laura Abbott <labbott@redhat.com> - 4.15.7-200
c895e3
- Linux v4.15.7
c895e3
- Fix IPMI crash (rhbz 1549316)
c895e3
9cf206
* Mon Feb 26 2018 Laura Abbott <labbott@redhat.com> - 4.15.6-200
9cf206
- Linux v4.15.6
9cf206
2fdf7a
* Fri Feb 23 2018 Laura Abbott <labbott@redhat.com> - 4.15.5-200
2fdf7a
- Linux v4.15.5
2fdf7a
e312b5
* Mon Feb 19 2018 Laura Abbott <labbott@redhat.com> - 4.15.4-200
e312b5
- Linux v4.15.4
e312b5
504a8b
* Mon Feb 19 2018 Justin M. Forbes <jforbes@fedoraproject.org>
504a8b
- Fix CVE-2018-1000026 (rhbz 1541846 1546744)
504a8b
e312b5
* Tue Feb 13 2018 Laura Abbott <labbott@redhat.com> - 4.15.3-200
99240e
- Linux v4.15.3 rebase
99240e
6c2365
* Wed Feb 07 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.18-200
6c2365
- Linux v4.14.18
6c2365
6fdd3a
* Mon Feb 05 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.17-200
6fdd3a
- Linux v4.14.17
6fdd3a
341495
* Wed Jan 31 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.16-200
341495
- Linux v4.14.16
341495
232f01
* Mon Jan 29 2018 Justin M. Forbes <jforbes@fedoraproject.org>
232f01
- Fix CVE-2018-5750 (rhbz 1539706 1539708)
65381b
- Fix softlockup (rhbz 1492664 1492665)
232f01
1b900d
* Sat Jan 27 2018 Laura Abbott <labbott@fedoraproject.org>
1b900d
- Add support for Wacom tablet (rhbz 1539238)
1b900d
511348
* Fri Jan 26 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.15-201
511348
- Revert retpoline vermagic tag
511348
81c5ca
* Wed Jan 24 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.15-200
81c5ca
- Linux v4.14.15
81c5ca
- Fix CVE-2018-1000004 (rhbz 1535315 1535316)
81c5ca
81a9dd
* Tue Jan 23 2018 Laura Abbott <labbott@fedoraproject.org>
81a9dd
- Fix for nouveau crash (rhbz 1513150)
81a9dd
08916b
* Thu Jan 18 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.14-300
08916b
- Add some ppc mitigations from upstream
08916b
08916b
* Wed Jan 17 2018 Justin M. Forbes <jforbes@fedoraproject.org>
0aa04b
- Linux v4.14.14
0aa04b
- Fixes (rhbz 1532458)
0aa04b
2a754e
* Fri Jan 12 2018 Jeremy Cline <jeremy@jcline.org>
2a754e
- Fix for CVE-2018-5344 (rhbz 1533909 1533911)
d667eb
- Fix for CVE-2018-5332 (rhbz 1533890 1533895)
d667eb
- Fix for CVE-2018-5333 (rhbz 1533891 1533895)
2a754e
d5330e
* Wed Jan 10 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.13-200
d5330e
- Linux v4.14.13
058327
- Iniital retpoline fixes for Spectre v2
d5330e
2c4dd3
* Mon Jan 08 2018 Laura Abbott <labbott@redhat.com>
2c4dd3
- Disable CONFIG_RESET_ATTACK_MITIGATION (rhbz 1532058)
2c4dd3
279858
* Fri Jan 05 2018 Laura Abbott <labbott@redhat.com>
279858
- Copy module linker script (rhbz 1531182)
279858
d99469
* Fri Jan 05 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.12-200
d99469
- Linux v4.14.12
d99469
- Add a patch to filter false positive kbd backlight change events (rhbz 1514969)
d99469
87e397
* Wed Jan 03 2018 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.11-200
87e397
- Linux v4.14.11
87e397
1d54a7
* Mon Jan 01 2018 Laura Abbott <labbott@redhat.com> - 4.14.10-200
1d54a7
- Linux v4.14.10
1d54a7
bf6995
* Tue Dec 26 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.9-200
bf6995
- Linux v4.14.9
bf6995
- Fixes CVE-2017-17862 CVE-2017-17863 CVE-2017-17864 (rhbz 1529120 1529123 1529124 1529125)
e4f9fe
- Fixes CVE-2017-17852 CVE-2017-17853 CVE-2017-17854 CVE-2017-17855 CVE-2017-17856 CVE-2017-17857
e4f9fe
  (rhbz 1530269 1530270 1530271 1530272 1530273 1530274 1530279)
bf6995
103415
* Wed Dec 20 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.8-200
103415
- Linux v4.14.8
103415
9f4545
* Wed Dec 20 2017 Jeremy Cline <jeremy@jcline.org>
9f4545
- Backport fix e1000_check_for_copper_link_ich8lan return value
9f4545
b29ed2
* Tue Dec 19 2017 Justin M. Forbes <jforbes@fedoraproject.org>
b29ed2
- Fix CVE-2017-17741 (rhbz 1527112 1527113)
b29ed2
140ae2
* Mon Dec 18 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.7-200
140ae2
- Linux v4.14.7
36391c
- Fix CVE-2017-17712 (rhbz 1526427 1526933)
140ae2
12b5c8
* Thu Dec 14 2017 Jeremy Cline <jeremy@jcline.org> - 4.14.6-200
12b5c8
- Linux v4.14.6
12b5c8
- Security fix for CVE-2017-17449 (rhbz 1525762 1525763)
12b5c8
- Security fix for CVE-2017-17450 (rhbz 1525761 1525764)
12b5c8
- Security fix for CVE-2017-17448 (rhbz 1525768 1525769)
12b5c8
87c501
* Wed Dec 13 2017 Jeremy Cline <jeremy@jcline.org>
87c501
- Fix CVE-2017-17558 (rhbz 1525474 1525476)
9036f4
- Revert exec: avoid RLIMIT_STACK races with prlimit()
87c501
037a83
* Tue Dec 12 2017 Jeremy Cline <jeremy@jcline.org>
037a83
- Fix CVE-2017-8824 (rhbz 1519591 1520764)
037a83
4b3da6
* Mon Dec 11 2017 Jeremy Cline <jeremy@jcline.org>
4b3da6
- Re-fix USB null pointer dereference on ThinkPad X1 (rhbz 1462175)
4b3da6
ec92e4
* Mon Dec 11 2017 Jeremy Cline <jeremy@jcline.org> - 4.14.5-200
ec92e4
- Linux v4.14.5
ec92e4
c75cb4
* Thu Dec 07 2017 Jeremy Cline <jeremy@jcline.org> - 4.14.4-200
c75cb4
- Linux v4.14.4 rebase
c75cb4
- Fixes for dwmac-sun8i for A64/Pine64
c75cb4
- Fixes for Cavium ThunderX (rhbz 1521190)
c75cb4
9edb1b
* Thu Nov 30 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.16-202
9edb1b
- Fix CVE-2017-1000405 (rhbz 1516514 1519115)
9edb1b
9d7639
* Wed Nov 29 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.16-201
c3d299
- Fix USB null pointer dereference on ThinkPad X1 (rhbz 1462175)
9d7639
- Patches ppc64, ppc64le mm failure (rhbz 1518707)
c3d299
b79b07
* Mon Nov 27 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.16-200
b79b07
- Linux v4.13.16
b79b07
- Fix CVE-2017-16649 (rhbz 1516267 1516274)
b79b07
- Fix CVE-2017-16650 (rhbz 1516265 1516274)
b79b07
- Fix CVE-2017-16644 (rhbz 1516273 1516274)
b79b07
- Fix CVE-2017-16647 (rhbz 1516270 1516274)
b79b07
1cf74e
* Tue Nov 21 2017 Justin M. Forbes <jforbes@fedoraproject.org>
1cf74e
- Fix cursor issues with QXL (rhbz 1507931)
1cf74e
86e75d
* Tue Nov 21 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.15-200
86e75d
- Linux v4.13.15
86e75d
b52993
* Mon Nov 20 2017 Laura Abbott <labbott@redhat.com>
b52993
- Enable driver for the Behringer BCD 2000 (rhbz 1514945)
b52993
bc798b
* Sun Nov 19 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.14-200
bc798b
- Linux v4.13.14
bc798b
5bd783
* Wed Nov 15 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.13-200
5bd783
- Linux v4.13.13
5bd783
- Fix CVE-2017-15115 (rhbz 1513346 1513345)
5bd783
fe6b94
* Wed Nov 15 2017 Peter Robinson <pbrobinson@fedoraproject.org>
fe6b94
- Add fix for vc4 interupts
fe6b94
8a3884
* Wed Nov 08 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.12-200
8a3884
- Linux v4.13.12
8a3884
23f3bf
* Wed Nov 08 2017 Justin M. Forbes <jforbes@fedoraproject.org>
23f3bf
- Fix CVE-2017-16532 (rhbz 1510835 1510854)
23f3bf
- Fix CVE-2017-16538 (rhbz 1510826 1510854)
23f3bf
aebca6
* Mon Nov 06 2017 Laura Abbott <labbott@redhat.com>
aebca6
- Patches for ThinkPad X1 Carbon Gen5 Touchpad (rhbz 1509461)
2db7ed
- Fix for KVM regression on some machines (rhbz 1490803)
aebca6
2874a5
* Thu Nov 02 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.11-200
2874a5
- Linux v4.13.11
2874a5
- Fix CVE-2017-12193 (rhbz 1501215 1508717)
2874a5
- SMB3: Validate negotiate request must always be signed (rhbz 1502606)
2874a5
- Backport new SELinux NNP/nosuid patch to resolve interactions with systemd
2874a5
2dc72b
* Wed Nov 01 2017 Laura Abbott <labbott@fedoraproject.org>
2dc72b
- Add fix for potential mlxsw firmware incompatibility
2dc72b
0b2f46
* Fri Oct 27 2017 Jeremy Cline <jeremy@jcline.org> - 4.13.10-200
0b2f46
- Linux v4.13.10
0b2f46
d1f0bd
* Mon Oct 23 2017 Laura Abbott <labbott@redhat.com> - 4.13.9-200
d1f0bd
- Linux v4.13.9
d1f0bd
ab11b7
* Wed Oct 18 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.8-200
ab11b7
- Linux v4.13.8
8a8528
- Fix CVE-2017-12190 (rhbz 1495089 1503580)
ab11b7
a555e1
* Mon Oct 16 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.13.7-200
a555e1
- Linux v4.13.7
a8b36f
- Fixes CVE-2017-5123 (rhbz 1500094 1501762)
3118e0
- Fix CVE-2017-15265 (rhbz 1501878 1501880)
a555e1
0f7dd2
* Thu Oct 12 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.13.6-200
0f7dd2
- Linux v4.13.6
0f7dd2
- Fixes CVE-2017-1000255 (rhbz 1498067 1500335)
0f7dd2
a89c69
* Thu Oct 12 2017 Peter Robinson <pbrobinson@fedoraproject.org>
a89c69
- Some minor ARM fixes and cleanups
4dcf8e
- Fixes for Cavium ThunderX plaforms
a89c69
2e4987
* Wed Oct 11 2017 Jeremy Cline <jeremy@jcline.org>
559e9d
- Fix incorrect updates of uninstantiated keys crash the kernel (rhbz 1498016 1498017)
2e4987
510336
* Tue Oct 10 2017 Justin M. Forbes <jforbes@fedoraproject.org>
510336
- Disable kernel tracking on SMBus devices (rhbz 1482648)
510336
8d3daa
* Fri Oct  6 2017 Peter Robinson <pbrobinson@fedoraproject.org>
8d3daa
- ARM ACPI fix for x-gene RHBZ #1498117
8d3daa
93c78c
* Thu Oct 05 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.5-200
93c78c
- Linux v4.13.5
93c78c
- Fix for peaq_wmi nul spew (rhbz 1497861)
cbcfcb
- Fixes CVE-2017-14954 (rhbz 1497745 1497747)
93c78c
93c78c
* Thu Sep 28 2017 Laura Abbott <labbott@redhat.com> - 4.13.4-200
7f47d7
- Linux v4.13.4
7f47d7
89fc77
* Mon Sep 25 2017 Peter Robinson <pbrobinson@fedoraproject.org>
89fc77
- Add patch to fix PCI on tegra20
89fc77
f5dae5
* Thu Sep 21 2017 Laura Abbott <labbott@redhat.com> - 4.13.3-200
f5dae5
- Linux v4.13.3
f5dae5
- Fix NFS locks (rhbz 1493498)
f5dae5
- Fix bindport regression (rhbz 1432684)
f5dae5
83203f
* Wed Sep 20 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.14-300
83203f
- Linux v4.12.14
83203f
- Fixes 1493435 1493436
83203f
- Fixes CVE-2017-14497 (rhbz 1492593 1492594)
83203f
c820b8
* Mon Sep 18 2017 Justin M. Forbes <jforbes@redhat.com>
c820b8
- Fixes for QXL (rhbz 1462381)
c820b8
0ea486
* Thu Sep 14 2017 Justin M. Forbes <jforbes@redhat.com> - 4.12.13-300
0ea486
- Linux v4.12.13
0ea486
0cb190
* Wed Sep 13 2017 Justin M. Forbes <jforbes@fedoraproject.org>
0cb190
- Fix CVE-2017-12154 (rhbz 1491224 1491231)
0cb190
- Fix CVE-2017-12153 (rhbz 1491046 1491057)
0cb190
- Fix CVE-2017-1000251 (rhbz 1489716 1490906)
0cb190
a900c8
* Mon Sep 11 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.12-300
a900c8
- Linux v4.12.12
a900c8
- QXL Fixes
a900c8
- Fix for xen ballow with AWS (rhbz 1463000)
a900c8
dc02f0
* Thu Sep 07 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.11-300
dc02f0
- Linux v4.12.11
dc02f0
5457b8
* Thu Aug 31 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.10-300
5457b8
- Fix CVE-2017-14051 (rhbz 1487126 1487127)
5457b8
5457b8
* Wed Aug 30 2017 Justin M. Forbes <jforbes@redhat.com>
2ef60f
- Linux v4.12.10
2ef60f
- Fix for CVE-2017-13693 (rhbz 1485346 1485356)
2ef60f
- Fix for CVE-2017-13694 (rhbz 1485348)
2ef60f
- Fix for CVE-2017-13695 (rhbz 1485349)
2ef60f
- Fix for raid 1/10 (rhbz 1484587)
2ef60f
b84298
* Fri Aug 25 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.9-300
b84298
- Linux v4.12.9
b84298
- For for AMD Stoney GPU (rhbz 1485086)
b84298
- Fix for RT3573 regression (rhbz 1480829)
b84298
- Fix for CVE-2017-7558 (rhbz 1480266 1484810)
b84298
- Fix for kvm_stat (rhbz 1483527)
b84298
807278
* Thu Aug 17 2017 Justin M. Forbes <jforbes@fedoraproject.org>
807278
- Fix for vmalloc_32 crash (rhbz 1482249 1482570)
807278
682474
* Thu Aug 17 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.8-300
682474
- Linux v4.12.8
682474
b814ce
* Wed Aug 16 2017 Laura Abbott <labbott@redhat.com>
b814ce
- Fix for iio race
b814ce
b5bd29
* Wed Aug 16 2017 Justin M. Forbes <jforbes@fedoraproject.org>
b5bd29
- Fix xen CVE-2017-12134 (rhbz 1477656 1481786)
b5bd29
01bdf6
* Mon Aug 14 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.7-300
01bdf6
- Linux v4.12.7
01bdf6
a17cbd
* Fri Aug 11 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.6-300
a17cbd
- Linux v4.12.6
4ad810
- Fix CVE-2017-1000111 (rhbz 1479304 1480464)
4ad810
- Fix CVE-2017-1000112 (rhbz 1479307 1480465)
a17cbd
2511da
* Fri Aug 11 2017 Dan Horak <dan@danny.cz>
2511da
- disable SWIOTLB on Power (#1480380)
2511da
62b80a
* Fri Aug 11 2017 Josh Boyer <jwboyer@fedoraproject.org>
62b80a
- Disable MEMORY_HOTPLUG_DEFAULT_ONLINE on ppc64 (rhbz 1476380)
62b80a
fe7dbe
* Mon Aug 07 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.5-300
fe7dbe
- Linux v4.12.5
fe7dbe
- Fixes CVE-2017-7533 (rhbz 1468283 1478086)
fe7dbe
8d07ed
* Thu Aug 03 2017 Justin M. Forbes <jforbes@fedoraproject.org>
8d07ed
- Temp fix for QXL (rhbz 1462381)
8d07ed
- Fix for signed module loading (rhbz 1476467)
8d07ed
13226b
* Thu Aug 03 2017 Laura Abbott <labbott@redhat.com>
13226b
- Keep UDF in the main kernel package (rhbz 1471314)
13226b
9219d4
* Thu Jul 27 2017 Justin M. Forbes <jforbes@redhat.com> - 4.12.4-300
9219d4
- Linux v4.12.4
9219d4
91612f
* Wed Jul 26 2017 Justin M. Forbes <jforbes@fedoraproject.org>
91612f
- Fix mtx (rhbz 1471302)
91612f
3731d1
* Tue Jul 25 2017 Justin M. Forbes <jforbes@fedoraproject.org>
3731d1
- Force python3 for kvm_stat because we can't dep (rhbz 1456722)
3731d1
359584
* Tue Jul 25 2017 Peter Robinson <pbrobinson@fedoraproject.org> 4.12.3-301
359584
- Bring in ARM patches from stabilization branch
359584
3ff7c2
* Mon Jul 24 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.3-300
3ff7c2
- Linux v4.12.3
3ff7c2
- Fix rhbz 1431375
3ff7c2
884e67
* Mon Jul 17 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.11-300
884e67
- Linux v4.11.11
884e67
- Bring back /dev/port (rhbz 1471429 1451220)
884e67
48844f
* Wed Jul 12 2017 Peter Robinson <pbrobinson@fedoraproject.org>
48844f
- Build in i2c-rk3x to fix some device boot
48844f
98256c
* Wed Jul 12 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.10-300
98256c
- Linux v4.11.10
98256c
138d22
* Mon Jul 10 2017 Laura Abbott <labbott@fedoraproject.org>
138d22
- Only call pwm_add_table for the first PWM controller (rhbz 1458599)
138d22
d04a86
* Thu Jul 06 2017 Justin M. Forbes <jforbes@fedoraproject.org>
d04a86
- CVE-2017-10810 fix virtio-gpu mem leak (rhbz 1468023 1468024)
d04a86
0e0274
* Wed Jul 05 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.9-300
0e0274
- Linux v4.11.9
0e0274
d88260
* Thu Jun 29 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.8-300
d88260
- Linux v4.11.8
d88260
a68ff1
* Wed Jun 28 2017 Peter Robinson <pbrobinson@fedoraproject.org>
a68ff1
- Tweak vc4 vblank for stability
95b218
- Fix for early boot on Dragonboard 410c
a68ff1
7b272f
* Mon Jun 26 2017 Peter Robinson <pbrobinson@fedoraproject.org>
7b272f
- Config improvements for Qualcomm devices
7b272f
ad8ff5
* Mon Jun 26 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.7-300
ad8ff5
- Linux v4.11.7
ad8ff5
- Make CONFIG_SERIAL_8250_PCI builtin (rhbz 1464709)
ad8ff5
bb6904
* Mon Jun 26 2017 Peter Robinson <pbrobinson@fedoraproject.org>
bb6904
- vc4: hopefully improve the vblank crash issues
bb6904
ba3922
* Tue Jun 20 2017 Laura Abbott <labbott@fedoraproject.org>
ba3922
- Add fix for iptables (rhbz 1459676)
ba3922
96cfd8
* Tue Jun 20 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.6-301
96cfd8
- bump and build
96cfd8
b1d734
* Mon Jun 19 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.6-300
b1d734
- Linux v4.11.6
b1d734
- Fix CVE-2017-1000364 (rhbz 1462819 1461333)
b1d734
eba478
* Mon Jun 19 2017 Peter Robinson <pbrobinson@fedoraproject.org>
eba478
- Add vc4 T-Format support to improve performance
eba478
11323b
* Fri Jun 16 2017 Laura Abbott <labbott@fedoraproject.org>
11323b
- Fix an auditd race condition (rhbz 1459326)
11323b
56b307
* Thu Jun 15 2017 Peter Robinson <pbrobinson@fedoraproject.org>
56b307
- Upstream fixes for Cavium platforms
56b307
1d0a43
* Wed Jun 14 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.5-300
1d0a43
- Linux v4.11.5
1d0a43
ab0ecf
* Wed Jun 14 2017 Peter Robinson <pbrobinson@fedoraproject.org>
ab0ecf
- Minor fixes for sun8i-dwmac plus extra device support
ab0ecf
9fda24
* Wed Jun 14 2017 Laura Abbott <labbott@fedoraproject.org>
9fda24
- Add fix for EFI BGRT crash (rhbz 1461337)
9fda24
7e2bb1
* Wed Jun 07 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.4-300
7e2bb1
- Linux v4.11.4
7e2bb1
52bf9a
* Wed Jun  7 2017 Peter Robinson <pbrobinson@fedoraproject.org>
52bf9a
- Add upstream patch set to fix WiFi on HiKey
52e0b8
- Patch set to fix Raspberry Pi PCM Audio clocking
52bf9a
574092
* Tue Jun 06 2017 Laura Abbott <labbott@redhat.com>
d324f8
- Backport hotkey event support for 2017 thinkpad models (rhbz 1459272)
d324f8
d324f8
* Tue Jun 06 2017 Laura Abbott <labbott@redhat.com>
574092
- Enable the vDSO for arm LPAE
574092
2424e4
* Mon Jun 05 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.3-302
2424e4
- Bump and build once again
2424e4
2a29cf
* Mon Jun 05 2017 Laura Abbott <labbott@fedoraproject.org>
2a29cf
- Actually fix ipsec encapsulation problems (rhbz 1458222 1458499)
2a29cf
75d772
* Fri Jun 02 2017 Laura Abbott <labbott@fedoraproject.org>
75d772
- Enable Chromebook keyboard backlight (rhbz 1447031)
75d772
dd5571
* Fri Jun 02 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.3-301
dd5571
- Bump and build
dd5571
8b912f
* Tue May 30 2017 Laura Abbott <labbott@fedoraproject.org>
8b912f
- NVME firmware quirk (rhbz 1455780)
8b912f
- Fix for IPv6 tunnels reported on bodhi)
8b912f
f26079
* Tue May 30 2017 Justin M. Forbes <jforbes@fedoraproject.org>
f26079
- Fix for some broadwell issues
f26079
2d8720
* Mon May 29 2017 Peter Robinson <pbrobinson@fedoraproject.org>
2d8720
- Updates for ARM devices
2d8720
- Build ARM Chromebook specifics on all ARM architectures
2d8720
21ab0c
* Thu May 25 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.3-300
21ab0c
- Linux v4.11.3
21ab0c
51402a
* Wed May 24 2017 Peter Robinson <pbrobinson@fedoraproject.org>
51402a
- Various ARM updates
51402a
6cfc6d
* Mon May 22 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.2-300
6cfc6d
- Linux v4.11.2
6cfc6d
b6f36d
* Mon May 22 2017 Justin M. Forbes <jforbes@fedoraproject.org>
b6f36d
- Fix CVE-2017-8890 CVE-2017-9074 CVE-2017-9075 CVE-2017-9076 CVE-2017-9077
b6f36d
  (rhbz 1452688 1450972 1452679 1452691 1452688 1452744)
b6f36d
54ab91
* Thu May 18 2017 Justin M. Forbes <jforbes@fedoraproject.org>
54ab91
- Fix CVE-2017-9059 (rhbz 1451386 1451996)
54ab91
08c2a9
* Mon May 15 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.1-300
08c2a9
- Linux v4.11.1
08c2a9
c7cad2
* Tue May 09 2017 Laura Abbott <labbott@fedoraproject.org>
c7cad2
- Fix EXPORT_SYMBOL for external modules that shall not be named
c7cad2
f2ae1b
* Tue May 09 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.0-2
f2ae1b
- Bump for updated gcc (rhbz 1448958)
f2ae1b
96d0ae
* Tue May 02 2017 Justin M. Forbes <jforbes@fedoraproject.org>
96d0ae
- Remove incorrect UEFI 2.6 Secure Boot patch (rhbz 1447191)
96d0ae
a0fec3
* Mon May 01 2017 Laura Abbott <labbott@fedoraproject.org> - 4.11.0-1
a0fec3
- Linux v4.11
a0fec3
768f1a
* Mon May 01 2017 Laura Abbott <labbott@fedoraproject.org>