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.
7c0c57
%global released_kernel 0
Jesse Keating 7a3296
Josh Boyer c2a12c
# Sign modules on x86.  Make sure the config files match this setting if more
Josh Boyer c2a12c
# architectures are added.
Josh Boyer c2a12c
%ifarch %{ix86} x86_64
149275
%global signkernel 1
Josh Boyer c2a12c
%global signmodules 1
Kyle McMartin 892262
%global zipmodules 1
Josh Boyer c2a12c
%else
149275
%global signkernel 0
149275
%global signmodules 1
Kyle McMartin 892262
%global zipmodules 0
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
#
1c7a44
%global baserelease 1
Roland McGrath 377da6
%global fedora_build %{baserelease}
Jesse Keating 7a3296
Jesse Keating 7a3296
# base_sublevel is the kernel version we're starting with and patching
Dave Jones 34ff8b
# on top of -- for example, 3.1-rc7-git1 starts with a 3.0 base,
Dave Jones 34ff8b
# which yields a base_sublevel of 0.
0aeda4
%define base_sublevel 13
Jesse Keating 7a3296
Jesse Keating 7a3296
## If this is a released kernel ##
Jesse Keating 7a3296
%if 0%{?released_kernel}
Jesse Keating 7a3296
Jesse Keating 7a3296
# Do we have a -stable update to apply?
208228
%define stable_update 0
Jesse Keating 7a3296
# Set rpm version accordingly
Jesse Keating 7a3296
%if 0%{?stable_update}
Josh Boyer 740de5
%define stablerev %{stable_update}
Jesse Keating 7a3296
%define stable_base %{stable_update}
Jesse Keating 7a3296
%endif
d72933
%define rpmversion 4.%{base_sublevel}.%{stable_update}
Jesse Keating 7a3296
Jesse Keating 7a3296
## The not-released-kernel case ##
Jesse Keating 7a3296
%else
Jesse Keating 7a3296
# The next upstream release sublevel (base_sublevel+1)
85afd6
%define upstream_sublevel %(echo $((%{base_sublevel} + 1)))
Jesse Keating 7a3296
# The rc snapshot level
bb0af2
%global rcrev 5
Jesse Keating 7a3296
# The git snapshot level
59566d
%define gitrev 3
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}
Kyle McMartin 42d4c3
# perf
Kyle McMartin 42d4c3
%define with_perf      %{?_without_perf:      0} %{?!_without_perf:      1}
Dave Jones 1d18ad
# tools
Dave Jones 1d18ad
%define with_tools     %{?_without_tools:     0} %{?!_without_tools:     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
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'.
68373b
%define debugbuildsenabled 0
Jesse Keating 7a3296
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
21e4b8
# kernel PAE is only built on ARMv7 in rawhide.
21e4b8
# Fedora 27 and earlier still support PAE, so change this on rebases.
21e4b8
# %ifnarch i686 armv7hl
21e4b8
%ifnarch armv7hl
Jesse Keating 7a3296
%define with_pae 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
# if requested, only build base kernel
Jesse Keating 7a3296
%if %{with_baseonly}
Jarod Wilson 5b0327
%define with_pae 0
Jarod Wilson 5b0327
%define with_debug 0
Jarod Wilson 5b0327
%endif
Jarod Wilson 5b0327
Jarod Wilson 5b0327
# if requested, only build pae kernel
Jarod Wilson 5b0327
%if %{with_paeonly}
Jarod Wilson 5b0327
%define with_up 0
Jesse Keating 7a3296
%define with_debug 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
# if requested, only build debug kernel
Jesse Keating 7a3296
%if %{with_dbgonly}
Jesse Keating 7a3296
%if %{debugbuildsenabled}
Jesse Keating 7a3296
%define with_up 0
Jarod Wilson 5b0327
%define with_pae 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
%define with_pae 0
Dave Jones 1d18ad
%define with_tools 0
Kyle McMartin 42d4c3
%define with_perf 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%define all_x86 i386 i686
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_vdso_install}
df3d8e
%define use_vdso 1
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
# Overrides for generic default options
Jesse Keating 7a3296
Jesse Keating 7a3296
# don't do debug builds on anything but i686 and x86_64
Jesse Keating 7a3296
%ifnarch i686 x86_64
Jesse Keating 7a3296
%define with_debug 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
# don't build noarch kernels or headers (duh)
Jesse Keating 7a3296
%ifarch noarch
Jesse Keating 7a3296
%define with_up 0
Jesse Keating 7a3296
%define with_headers 0
f65f3f
%define with_cross_headers 0
Dave Jones 1d18ad
%define with_tools 0
Kyle McMartin 42d4c3
%define with_perf 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
25c8ec
%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
Jesse Keating 7a3296
%define make_target image
Jesse Keating 7a3296
%define kernel_image arch/s390/boot/image
Dave Jones 1d18ad
%define with_tools 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%ifarch %{arm}
Jesse Keating 7a3296
%define all_arch_configs kernel-%{version}-arm*.config
df3d8e
%define skip_nonpae_vdso 1
Josh Boyer 8ffa0a
%define asmarch arm
Jesse Keating 7a3296
%define hdrarch arm
Kyle McMartin bc5f99
%define pae lpae
986a9f
%define make_target bzImage
986a9f
%define kernel_image arch/arm/boot/zImage
Kyle McMartin 9b1a4c
# http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/091404.html
Kyle McMartin 9b1a4c
%define kernel_mflags KALLSYMS_EXTRA_PASS=1
43fa71
# we only build headers/perf/tools on the base arm arches
94b006
# just like we used to only build them on i386 for x86
a94069
%ifnarch armv7hl
94b006
%define with_headers 0
f65f3f
%define with_cross_headers 0
43fa71
%define with_perf 0
43fa71
%define with_tools 0
94b006
%endif
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Kyle McMartin 575de6
%ifarch aarch64
918c10
%define all_arch_configs kernel-%{version}-aarch64*.config
Kyle McMartin 575de6
%define asmarch arm64
Kyle McMartin 575de6
%define hdrarch arm64
Kyle McMartin 575de6
%define make_target Image.gz
Kyle McMartin 575de6
%define kernel_image arch/arm64/boot/Image.gz
Kyle McMartin 575de6
%endif
Kyle McMartin 575de6
Dave Jones 834dba
# Should make listnewconfig fail if there's config options
Dave Jones 834dba
# printed out?
cff59d
%if %{nopatches}
Dave Jones 834dba
%define listnewconfig_fail 0
a20ad4
%define configmismatch_fail 0
Dave Jones 834dba
%else
Dave Jones 834dba
%define listnewconfig_fail 1
ab0c52
%define configmismatch_fail 1
Dave Jones 834dba
%endif
Dave Jones 834dba
Jesse Keating 7a3296
# To temporarily exclude an architecture from being built, add it to
Dave Jones 166b79
# %%nobuildarches. Do _NOT_ use the ExclusiveArch: line, because if we
Jesse Keating 7a3296
# don't build kernel-headers then the new build system will no longer let
Jesse Keating 7a3296
# us use the previous build of that package -- it'll just be completely AWOL.
Jesse Keating 7a3296
# Which is a BadThing(tm).
Jesse Keating 7a3296
Jesse Keating 7a3296
# We only build kernel-headers on the following...
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
Kyle McMartin 42d4c3
%define with_perf 0
Dave Jones 1d18ad
%define with_tools 0
Jesse Keating 7a3296
%define _enable_debug_packages 0
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%define with_pae_debug 0
Jesse Keating 7a3296
%if %{with_pae}
Jesse Keating 7a3296
%define with_pae_debug %{with_debug}
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Josh Boyer 8addb5
# Architectures we build tools/cpupower on
2117ac
%define cpupowerarchs %{ix86} x86_64 %{power64} %{arm} aarch64
Josh Boyer 8addb5
df3d8e
%if %{use_vdso}
df3d8e
df3d8e
%if 0%{?skip_nonpae_vdso}
df3d8e
%define _use_vdso 0
df3d8e
%else
df3d8e
%define _use_vdso 1
df3d8e
%endif
df3d8e
df3d8e
%else
df3d8e
%define _use_vdso 0
df3d8e
%endif
df3d8e
df3d8e
Jesse Keating 7a3296
#
Dave Jones 166b79
# Packages that need to be installed before the kernel is, because the %%post
Jesse Keating 7a3296
# scripts use them.
Jesse Keating 7a3296
#
e07a3b
%define kernel_prereq  coreutils, systemd >= 203-2, /usr/bin/kernel-install
Josh Boyer 6d752a
%define initrd_prereq  dracut >= 027
Jesse Keating 7a3296
Jesse Keating 7a3296
Jesse Keating 7a3296
Name: kernel%{?variant}
Jesse Keating 7a3296
Group: System Environment/Kernel
Dave Jones 702ef3
License: GPLv2 and Redistributable, no modification permitted
Jesse Keating 7a3296
URL: http://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
25c8ec
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
#
178df3
BuildRequires: kmod, patch, bash, sh-utils, tar, git
575a9e
BuildRequires: bzip2, xz, findutils, gzip, m4, perl-interpreter, perl-Carp, perl-devel, perl-generators, make, diffutils, gawk
Kyle McMartin 11dfcd
BuildRequires: gcc, binutils, redhat-rpm-config, hmaccalc
e986b2
BuildRequires: net-tools, hostname, bc, elfutils-devel
Jesse Keating 7a3296
%if %{with_sparse}
Kyle McMartin 11dfcd
BuildRequires: sparse
Jesse Keating 7a3296
%endif
Kyle McMartin 42d4c3
%if %{with_perf}
e986b2
BuildRequires: zlib-devel binutils-devel newt-devel python-devel perl(ExtUtils::Embed) bison flex xz-devel
Josh Boyer ad6cd3
BuildRequires: audit-libs-devel
5865c6
%ifnarch s390x %{arm}
Petr Holasek d9594c
BuildRequires: numactl-devel
Petr Holasek d9594c
%endif
Kyle McMartin 42d4c3
%endif
Dave Jones 1d18ad
%if %{with_tools}
a04e78
BuildRequires: pciutils-devel gettext ncurses-devel
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
BuildConflicts: rhbuildsys(DiskFree) < 500Mb
Jesse Keating 7a3296
%if %{with_debuginfo}
Kyle McMartin 11dfcd
BuildRequires: rpm-build, elfutils
debc7c
BuildConflicts: rpm < 4.13.0.1-19
debc7c
# Most of these should be enabled after more investigation
debc7c
%undefine _include_minidebuginfo
debc7c
%undefine _find_debuginfo_dwz_opts
debc7c
%undefine _unique_build_ids
debc7c
%undefine _unique_debug_names
debc7c
%undefine _unique_debug_srcs
e23cf2
%undefine _debugsource_packages
e23cf2
%undefine _debuginfo_subpackages
36c073
%undefine _include_gdb_index
debc7c
%global _find_debuginfo_opts -r
debc7c
%global _missing_build_ids_terminate_build 1
debc7c
%global _no_recompute_build_ids 1
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
149275
%if %{signkernel}%{signmodules}
c0b697
BuildRequires: openssl openssl-devel
149275
%if %{signkernel}
Josh Boyer bf81d1
BuildRequires: pesign >= 0.10-4
Josh Boyer c2a12c
%endif
149275
%endif
Josh Boyer c2a12c
Kyle McMartin 43d64b
%if %{with_cross}
Kyle McMartin 43d64b
BuildRequires: binutils-%{_build_arch}-linux-gnu, gcc-%{_build_arch}-linux-gnu
Kyle McMartin 43d64b
%define cross_opts CROSS_COMPILE=%{_build_arch}-linux-gnu-
Kyle McMartin 43d64b
%endif
Kyle McMartin 43d64b
aca291
Source0: https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{kversion}.tar.xz
Jesse Keating 7a3296
80ea6c
Source10: perf-man-%{kversion}.tar.gz
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
476553
## compile fixes
476553
476553
# ongoing complaint, full discussion delayed until ksummit/plumbers
476553
Patch002: 0001-iio-Use-event-header-from-kernel-tree.patch
476553
Jesse Keating 7a3296
%if !%{nopatches}
Jesse Keating 7a3296
Jesse Keating 7a3296
# Git trees.
Jesse Keating 7a3296
Jesse Keating 7a3296
# Standalone patches
72924c
# 100 - Generic long running patches
Jesse Keating 7a3296
72924c
Patch110: lib-cpumask-Make-CPUMASK_OFFSTACK-usable-without-deb.patch
db34f9
72924c
Patch111: input-kill-stupid-messages.patch
57a67d
72924c
Patch112: die-floppy-die.patch
07611b
72924c
Patch113: no-pcspkr-modalias.patch
07611b
72924c
Patch114: silence-fbcon-logo.patch
35eff4
72924c
Patch115: Kbuild-Add-an-option-to-enable-GCC-VTA.patch
c59b07
72924c
Patch116: crash-driver.patch
78560e
72924c
Patch117: lis3-improve-handling-of-null-rate.patch
6c5f57
72924c
Patch118: scsi-sd_revalidate_disk-prevent-NULL-ptr-deref.patch
e93be6
72924c
Patch119: criu-no-expert.patch
861737
72924c
Patch120: ath9k-rx-dma-stop-check.patch
72924c
72924c
Patch121: xen-pciback-Don-t-disable-PCI_COMMAND-on-PCI-device-.patch
72924c
72924c
Patch122: Input-synaptics-pin-3-touches-when-the-firmware-repo.patch
ddc931
ad5e49
# This no longer applies, let's see if it needs to be updated
ad5e49
# Patch123: firmware-Drop-WARN-from-usermodehelper_read_trylock-.patch
4768e6
72924c
# 200 - x86 / secureboot
Jesse Keating 7a3296
72924c
Patch201: efi-lockdown.patch
Jesse Keating 7a3296
72924c
Patch202: KEYS-Allow-unrestricted-boot-time-addition-of-keys-t.patch
Josh Boyer 306dfc
72924c
Patch203: Add-EFI-signature-data-types.patch
6a9155
72924c
Patch204: Add-an-EFI-signature-blob-parser-and-key-loader.patch
Matthew Garrett 447e3a
72924c
Patch205: MODSIGN-Import-certificates-from-UEFI-Secure-Boot.patch
bbf3f5
72924c
Patch206: MODSIGN-Support-not-importing-certs-from-db.patch
Jesse Keating 7a3296
72924c
Patch210: disable-i8042-check-on-apple-mac.patch
Dave Jones 18e50c
72924c
Patch211: drm-i915-hush-check-crtc-state.patch
8c64d2
72924c
# 300 - ARM patches
Josh Boyer 27e48a
e0d36f
# Reduces a number of primarily info logs to dmesg
e0d36f
# https://patchwork.freedesktop.org/patch/180737/
e0d36f
# https://patchwork.freedesktop.org/patch/180554/
e0d36f
Patch300: drm-cma-reduce-dmesg-logs.patch
e0d36f
72924c
# http://www.spinics.net/lists/linux-tegra/msg26029.html
3a0a8f
Patch301: usb-phy-tegra-Add-38.4MHz-clock-table-entry.patch
23d72c
72924c
# Fix OMAP4 (pandaboard)
3a0a8f
Patch302: arm-revert-mmc-omap_hsmmc-Use-dma_request_chan-for-reque.patch
65af51
72924c
# http://patchwork.ozlabs.org/patch/587554/
3a0a8f
Patch303: ARM-tegra-usb-no-reset.patch
ebfeb3
3a0a8f
Patch304: allwinner-net-emac.patch
ea54a5
72924c
# https://www.spinics.net/lists/arm-kernel/msg554183.html
3a0a8f
Patch305: arm-imx6-hummingboard2.patch
35eff4
3a0a8f
Patch306: arm64-Add-option-of-13-for-FORCE_MAX_ZONEORDER.patch
35eff4
2930cf
# https://patchwork.kernel.org/patch/9967397/
2930cf
69f65a
# https://patchwork.kernel.org/patch/9815555/
69f65a
# https://patchwork.kernel.org/patch/9815651/
aa1806
# https://patchwork.kernel.org/patch/9819885/
aa1806
# https://patchwork.kernel.org/patch/9820417/
aa1806
# https://patchwork.kernel.org/patch/9821151/
aa1806
# https://patchwork.kernel.org/patch/9821157/
b7ab40
Patch310: qcom-msm89xx-fixes.patch
b7ab40
b7ab40
# https://patchwork.kernel.org/patch/9831825/
b7ab40
# https://patchwork.kernel.org/patch/9833721/
bcf363
e92cfa
# http://www.spinics.net/lists/dri-devel/msg132235.html
e92cfa
Patch320: bcm283x-vc4-Fix-OOPSes-from-trying-to-cache-a-partially-constructed-BO..patch
e92cfa
a74753
# Fix USB on the RPi https://patchwork.kernel.org/patch/9879371/
a74753
Patch321: bcm283x-dma-mapping-skip-USB-devices-when-configuring-DMA-during-probe.patch
a74753
27e72a
# bcm2837 bluetooth support
27e72a
#
27e72a
Patch323: bcm2837-bluetooth-support.patch
fb5869
d12373
# Generic fixes and enablement for Socionext SoC and 96board
d12373
# https://patchwork.kernel.org/patch/9980861/
d12373
Patch331: PCI-aspm-deal-with-missing-root-ports-in-link-state-handling.patch
d12373
d12373
# https://git.kernel.org/pub/scm/linux/kernel/git/ardb/linux.git/log/?h=synquacer-netsec
d12373
Patch332: arm64-socionext-96b-enablement.patch
d12373
4290f5
Patch335: arm-exynos-fix-usb3.patch
4290f5
72924c
# 400 - IBM (ppc/s390x) patches
35eff4
72924c
# 500 - Temp fixes/CVEs etc
6adde4
d5b7da
# CVE-2017-7477 rhbz 1445207 1445208
72924c
Patch502: CVE-2017-7477.patch
d5b7da
7b8fc1
# rhbz 1498016 1498017
7b8fc1
Patch503: KEYS-don-t-let-add_key-update-an-uninstantiated-key.patch
7b8fc1
Patch504: KEYS-fix-race-between-updating-and-finding-negative-.patch
7b8fc1
88f377
# 600 - Patches for improved Bay and Cherry Trail device support
88f377
# Below patches are submitted upstream, awaiting review / merging
51a2ae
Patch601: 0001-Input-gpio_keys-Allow-suppression-of-input-events-fo.patch
51a2ae
Patch602: 0002-Input-soc_button_array-Suppress-power-button-presses.patch
88f377
Patch610: 0010-Input-silead-Add-support-for-capactive-home-button-f.patch
88f377
32d17a
# rhbz 1476467
32d17a
Patch617: Fix-for-module-sig-verification.patch
32d17a
ab0c52
# rhbz 1431375
ab0c52
Patch619: input-rmi4-remove-the-need-for-artifical-IRQ.patch
ab0c52
bc0aa7
# fix gnome 3.26+ not working under VirtualBox, submitted upstream, Cc: Stable
bc0aa7
Patch620: 0001-staging-vboxvideo-Fix-reporting-invalid-suggested-of.patch
bc0aa7
8e041b
# Headed upstream
8e041b
Patch621: drm-i915-Boost-GPU-clocks-if-we-miss-the-pageflip-s-vblank.patch
8e041b
Josh Boyer 812ba1
# END OF PATCH DEFINITIONS
Josh Boyer 812ba1
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
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
Jesse Keating 7a3296
Group: Development/System
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
Group: Development/System
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
Jesse Keating 7a3296
Group: Development/System
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
Jesse Keating 7a3296
Group: Development/Debug
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
Kyle McMartin 42d4c3
%if %{with_perf}
Kyle McMartin 42d4c3
%package -n perf
Kyle McMartin 42d4c3
Summary: Performance monitoring for the Linux kernel
Kyle McMartin 42d4c3
Group: Development/System
Kyle McMartin 42d4c3
License: GPLv2
Kyle McMartin 42d4c3
%description -n perf
Kyle McMartin 42d4c3
This package contains the perf tool, which enables performance monitoring
Kyle McMartin 42d4c3
of the Linux kernel.
Kyle McMartin 42d4c3
Kyle McMartin 42d4c3
%package -n perf-debuginfo
Kyle McMartin 42d4c3
Summary: Debug information for package perf
Kyle McMartin 42d4c3
Group: Development/Debug
Kyle McMartin 42d4c3
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
Kyle McMartin 42d4c3
AutoReqProv: no
Kyle McMartin 42d4c3
%description -n perf-debuginfo
Kyle McMartin 42d4c3
This package provides debug information for the perf package.
Kyle McMartin 42d4c3
Kyle McMartin 42d4c3
# Note that this pattern only works right to match the .build-id
Kyle McMartin 42d4c3
# symlinks because of the trailing nonmatching alternation and
Kyle McMartin 42d4c3
# the leading .*, because of find-debuginfo.sh's buggy handling
Kyle McMartin 42d4c3
# of matching the pattern against the symlinks file.
debc7c
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_bindir}/perf(\.debug)?|.*%%{_libexecdir}/perf-core/.*|.*%%{_libdir}/traceevent/plugins/.*|XXX' -o perf-debuginfo.list}
Kyle McMartin 42d4c3
Kyle McMartin 42d4c3
%package -n python-perf
Kyle McMartin 42d4c3
Summary: Python bindings for apps which will manipulate perf events
Kyle McMartin 42d4c3
Group: Development/Libraries
Kyle McMartin 42d4c3
%description -n python-perf
Kyle McMartin 42d4c3
The python-perf package contains a module that permits applications
Kyle McMartin 42d4c3
written in the Python programming language to use the interface
Kyle McMartin 42d4c3
to manipulate perf events.
Kyle McMartin 42d4c3
006e9a
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
006e9a
Josh Boyer 27d8a0
%package -n python-perf-debuginfo
Josh Boyer 27d8a0
Summary: Debug information for package perf python bindings
Josh Boyer 27d8a0
Group: Development/Debug
Josh Boyer 27d8a0
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
Josh Boyer 27d8a0
AutoReqProv: no
Josh Boyer 27d8a0
%description -n python-perf-debuginfo
Josh Boyer 27d8a0
This package provides debug information for the perf python bindings.
Josh Boyer 27d8a0
006e9a
# the python_sitearch macro should already be defined from above
debc7c
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{python_sitearch}/perf.so(\.debug)?|XXX' -o python-perf-debuginfo.list}
Josh Boyer 27d8a0
Josh Boyer 27d8a0
Kyle McMartin 42d4c3
%endif # with_perf
Kyle McMartin 42d4c3
Dave Jones 1d18ad
%if %{with_tools}
Jarod Wilson 7220f8
%package -n kernel-tools
Dave Jones 1d18ad
Summary: Assortment of tools for the Linux kernel
Jesse Keating 7a3296
Group: Development/System
Jesse Keating 7a3296
License: GPLv2
Josh Boyer 02587b
Provides:  cpupowerutils = 1:009-0.6.p1
Josh Boyer 02587b
Obsoletes: cpupowerutils < 1:009-0.6.p1
Josh Boyer 02587b
Provides:  cpufreq-utils = 1:009-0.6.p1
Josh Boyer 02587b
Provides:  cpufrequtils = 1:009-0.6.p1
Josh Boyer 02587b
Obsoletes: cpufreq-utils < 1:009-0.6.p1
Josh Boyer 02587b
Obsoletes: cpufrequtils < 1:009-0.6.p1
Josh Boyer 02587b
Obsoletes: cpuspeed < 1:1.5-16
Josh Boyer 55e586
Requires: kernel-tools-libs = %{version}-%{release}
9a12aa
%define __requires_exclude ^%{_bindir}/python
Jarod Wilson 7220f8
%description -n kernel-tools
Dave Jones 1d18ad
This package contains the tools/ directory from the kernel source
Kyle McMartin 42d4c3
and the supporting documentation.
Roland McGrath 3c4ea9
Jarod Wilson 7220f8
%package -n kernel-tools-libs
Josh Boyer 55e586
Summary: Libraries for the kernels-tools
Josh Boyer 55e586
Group: Development/System
Josh Boyer 55e586
License: GPLv2
Jarod Wilson 7220f8
%description -n kernel-tools-libs
Josh Boyer 55e586
This package contains the libraries built from the tools/ directory
Josh Boyer 55e586
from the kernel source.
Josh Boyer 55e586
Jarod Wilson 7220f8
%package -n kernel-tools-libs-devel
Josh Boyer 8addb5
Summary: Assortment of tools for the Linux kernel
Josh Boyer 8addb5
Group: Development/System
Josh Boyer 8addb5
License: GPLv2
Josh Boyer 02587b
Requires: kernel-tools = %{version}-%{release}
Josh Boyer 0ad371
Provides:  cpupowerutils-devel = 1:009-0.6.p1
Josh Boyer 0ad371
Obsoletes: cpupowerutils-devel < 1:009-0.6.p1
Josh Boyer 55e586
Requires: kernel-tools-libs = %{version}-%{release}
Josh Boyer a5b375
Provides: kernel-tools-devel
Jarod Wilson 7220f8
%description -n kernel-tools-libs-devel
Josh Boyer 8addb5
This package contains the development files for the tools/ directory from
Josh Boyer 8addb5
the kernel source.
Josh Boyer 8addb5
Jarod Wilson 7220f8
%package -n kernel-tools-debuginfo
Dave Jones 1d18ad
Summary: Debug information for package kernel-tools
Roland McGrath 3c4ea9
Group: Development/Debug
Roland McGrath 3c4ea9
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}
Roland McGrath 3c4ea9
AutoReqProv: no
Jarod Wilson 7220f8
%description -n kernel-tools-debuginfo
Dave Jones 1d18ad
This package provides debug information for package kernel-tools.
Roland McGrath 3c4ea9
Roland McGrath 3c4ea9
# Note that this pattern only works right to match the .build-id
Roland McGrath 3c4ea9
# symlinks because of the trailing nonmatching alternation and
Roland McGrath 3c4ea9
# the leading .*, because of find-debuginfo.sh's buggy handling
Roland McGrath 3c4ea9
# of matching the pattern against the symlinks file.
debc7c
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '.*%%{_bindir}/centrino-decode(\.debug)?|.*%%{_bindir}/powernow-k8-decode(\.debug)?|.*%%{_bindir}/cpupower(\.debug)?|.*%%{_libdir}/libcpupower.*|.*%%{_bindir}/turbostat(\.debug)?|.*%%{_bindir}/x86_energy_perf_policy(\.debug)?|.*%%{_bindir}/tmon(\.debug)?|.*%%{_bindir}/lsgpio(\.debug)?|.*%%{_bindir}/gpio-hammer(\.debug)?|.*%%{_bindir}/gpio-event-mon(\.debug)?|.*%%{_bindir}/iio_event_monitor(\.debug)?|.*%%{_bindir}/iio_generic_buffer(\.debug)?|.*%%{_bindir}/lsiio(\.debug)?|XXX' -o kernel-tools-debuginfo.list}
Kyle McMartin ec31ef
Kyle McMartin 42d4c3
%endif # with_tools
Jesse Keating 7a3296
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
Group: Development/Debug\
Jesse Keating 7a3296
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}\
Jesse Keating 7a3296
Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{version}-%{release}\
f8e555
Provides: installonlypkg(kernel)\
Jesse Keating 7a3296
AutoReqProv: no\
Jarod Wilson b55491
%description %{?1:%{1}-}debuginfo\
Jesse Keating 7a3296
This package provides debug information for package %{name}%{?1:-%{1}}.\
Jesse Keating 7a3296
This is required to use SystemTap with %{name}%{?1:-%{1}}-%{KVERREL}.\
debc7c
%{expand:%%global _find_debuginfo_opts %{?_find_debuginfo_opts} -p '/.*/%%{KVERREL}%{?1:[+]%{1}}/.*|/.*%%{KVERREL}%{?1:\+%{1}}(\.debug)?' -o debuginfo%{?1}.list}\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
Jesse Keating 7a3296
#
Jesse Keating 7a3296
# This macro creates a kernel-<subpackage>-devel package.
Jesse Keating 7a3296
#	%%kernel_devel_package <subpackage> <pretty-name>
Jesse Keating 7a3296
#
Jesse Keating 7a3296
%define kernel_devel_package() \
Jesse Keating 7a3296
%package %{?1:%{1}-}devel\
Jesse Keating 7a3296
Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\
Jesse Keating 7a3296
Group: System Environment/Kernel\
Jesse Keating 7a3296
Provides: kernel%{?1:-%{1}}-devel-%{_target_cpu} = %{version}-%{release}\
faf252
Provides: kernel-devel-%{_target_cpu} = %{version}-%{release}%{?1:+%{1}}\
Jarod Wilson a96d89
Provides: kernel-devel-uname-r = %{KVERREL}%{?variant}%{?1:+%{1}}\
aba394
Provides: installonlypkg(kernel)\
Jesse Keating 7a3296
AutoReqProv: no\
9b73a1
Requires(pre): findutils\
9b73a1
Requires: findutils\
575a9e
Requires: perl-interpreter\
Jarod Wilson b55491
%description %{?1:%{1}-}devel\
Jesse Keating 7a3296
This package provides kernel headers and makefiles sufficient to build modules\
Jesse Keating 7a3296
against the %{?2:%{2} }kernel package.\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
Jesse Keating 7a3296
#
Josh Boyer b8b278
# This macro creates a kernel-<subpackage>-modules-extra package.
Kyle McMartin de50ed
#	%%kernel_modules_extra_package <subpackage> <pretty-name>
Josh Boyer b8b278
#
Kyle McMartin de50ed
%define kernel_modules_extra_package() \
Josh Boyer b8b278
%package %{?1:%{1}-}modules-extra\
Josh Boyer b8b278
Summary: Extra kernel modules to match the %{?2:%{2} }kernel\
Josh Boyer b8b278
Group: System Environment/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\
94ce4e
Group: System Environment/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\
335206
group: system environment/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}\
Jesse Keating 7a3296
Group: System Environment/Kernel\
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
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.
Jesse Keating 7a3296
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
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
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
df3d8e
    Flavour=$4
df3d8e
    DoVDSO=$3
faf252
    Flav=${Flavour:++${Flavour}}
df3d8e
    InstallName=${5:-vmlinuz}
Jesse Keating 7a3296
Jesse Keating 7a3296
    # Pick the right config file for the kernel we're building
Jesse Keating 7a3296
    Config=kernel-%{version}-%{_target_cpu}${Flavour:+-${Flavour}}.config
Kyle McMartin 9fc584
    DevelDir=/usr/src/kernels/%{KVERREL}${Flav}
Jesse Keating 7a3296
Jesse Keating 7a3296
    # When the bootable image is just the ELF kernel, strip it.
Jesse Keating 7a3296
    # We already copy the unstripped file into the debuginfo package.
Jesse Keating 7a3296
    if [ "$KernelImage" = vmlinux ]; then
Jesse Keating 7a3296
      CopyKernel=cp_vmlinux
Jesse Keating 7a3296
    else
Jesse Keating 7a3296
      CopyKernel=cp
Jesse Keating 7a3296
    fi
Jesse Keating 7a3296
Kyle McMartin 9fc584
    KernelVer=%{version}-%{release}.%{_target_cpu}${Flav}
Jesse Keating 7a3296
    echo BUILDING A KERNEL FOR ${Flavour} %{_target_cpu}...
Jesse Keating 7a3296
Josh Boyer 740de5
    %if 0%{?stable_update}
Josh Boyer 740de5
    # make sure SUBLEVEL is incremented on a stable release.  Sigh 3.x.
Josh Boyer 740de5
    perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{?stablerev}/" Makefile
Josh Boyer 740de5
    %endif
Josh Boyer 740de5
Jesse Keating 7a3296
    # make sure EXTRAVERSION says what we want it to say
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
Kyle McMartin 3e75bb
    make -s 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
Kyle McMartin da80d7
    make -s ARCH=$Arch oldnoconfig >/dev/null
Kyle McMartin 43d64b
    %{make} -s ARCH=$Arch V=1 %{?_smp_mflags} $MakeTarget %{?sparse_mflags} %{?kernel_mflags}
Kyle McMartin 43d64b
    %{make} -s ARCH=$Arch V=1 %{?_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
Kyle McMartin 1c0b00
    %{make} -s ARCH=$Arch V=1 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
Kyle McMartin 43d64b
    %{make} -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
Josh Boyer c2a12c
df3d8e
    if [ $DoVDSO -ne 0 ]; then
df3d8e
        %{make} -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
df3d8e
        if [ ! -s ldconfig-kernel.conf ]; then
df3d8e
          echo > ldconfig-kernel.conf "\
df3d8e
    # Placeholder file, no vDSO hwcap entries used in this kernel."
df3d8e
        fi
df3d8e
        %{__install} -D -m 444 ldconfig-kernel.conf \
df3d8e
            $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-$KernelVer.conf
df3d8e
        rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/vdso/.build-id
Jesse Keating 7a3296
    fi
Jesse Keating 7a3296
Jesse Keating 7a3296
    # And save the headers/makefiles etc for building modules against
Jesse Keating 7a3296
    #
Jesse Keating 7a3296
    # This all looks scary, but the end result is supposed to be:
Jesse Keating 7a3296
    # * all arch relevant include/ files
Jesse Keating 7a3296
    # * all Makefile/Kconfig files
Jesse Keating 7a3296
    # * all script/ files
Jesse Keating 7a3296
Jesse Keating 7a3296
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source
Jesse Keating 7a3296
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source)
Jesse Keating 7a3296
    # dirs for additional modules per module-init-tools, kbuild/modules.txt
Jesse Keating 7a3296
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra
Jesse Keating 7a3296
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates
Jesse Keating 7a3296
    # first copy everything
Jesse Keating 7a3296
    cp --parents `find  -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    cp System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    if [ -s Module.markers ]; then
Jesse Keating 7a3296
      cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    fi
Jesse Keating 7a3296
    # then drop all but the needed Makefiles/Kconfig files
Jesse Keating 7a3296
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation
Jesse Keating 7a3296
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
Jesse Keating 7a3296
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
Jesse Keating 7a3296
    cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Jesse Keating 7a3296
    cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
803c5b
    if [ -f tools/objtool/objtool ]; then
803c5b
      cp -a tools/objtool/objtool $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/tools/objtool/ || :
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
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/
19c3eb
    cp -a --parents tools/include/tools/le_byteshift.h $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}
debc7c
    eu-readelf -n vmlinux | grep "Build ID" | awk '{print $NF}' > vmlinux.id
debc7c
    cp vmlinux.id $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/vmlinux.id
Jesse Keating 7a3296
Jesse Keating 7a3296
    #
Jesse Keating 7a3296
    # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
Jesse Keating 7a3296
    #
Jesse Keating 7a3296
    mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
Jesse Keating 7a3296
    cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
    find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
Jesse Keating 7a3296
Jesse Keating 7a3296
    # mark modules executable so that strip-to-file can strip them
Jesse Keating 7a3296
    xargs --no-run-if-empty chmod u+x < modnames
Jesse Keating 7a3296
Jesse Keating 7a3296
    # Generate a list of modules for block and networking.
Jesse Keating 7a3296
Dave Jones b89c80
    grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA |
Jesse Keating 7a3296
    sed -n 's,^.*/\([^/]*\.ko\):  *U \(.*\)$,\1 \2,p' > drivers.undef
Jesse Keating 7a3296
Jesse Keating 7a3296
    collect_modules_list()
Jesse Keating 7a3296
    {
Jesse Keating 7a3296
      sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
Kyle McMartin cdb790
        LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
Kyle McMartin cdb790
      if [ ! -z "$3" ]; then
Kyle McMartin 399410
        sed -r -e "/^($3)\$/d" -i $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
Kyle McMartin cdb790
      fi
Jesse Keating 7a3296
    }
Jesse Keating 7a3296
Jesse Keating 7a3296
    collect_modules_list networking \
e9fda3
      'register_netdev|ieee80211_register_hw|usbnet_probe|phy_driver_register|rt(l_|2x00)(pci|usb)_probe|register_netdevice'
Jesse Keating 7a3296
    collect_modules_list block \
e9fda3
      'ata_scsi_ioctl|scsi_add_host|scsi_add_host_with_dma|blk_alloc_queue|blk_init_queue|register_mtd_blktrans|scsi_esp_register|scsi_register_device_handler|blk_queue_physical_block_size' 'pktcdvd.ko|dm-mod.ko'
Jesse Keating 7a3296
    collect_modules_list drm \
e9fda3
      'drm_open|drm_init'
Jesse Keating 7a3296
    collect_modules_list modesetting \
e9fda3
      'drm_crtc_init'
Jesse Keating 7a3296
Jesse Keating 7a3296
    # detect missing or incorrect license tags
Kyle McMartin 21284e
    ( find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name '*.ko' | xargs /sbin/modinfo -l | \
Kyle McMartin 21284e
        grep -E -v 'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' ) && exit 1
Jesse Keating 7a3296
Kyle McMartin 634522
    # remove files that will be auto generated by depmod at rpm -i time
Kyle McMartin 634522
    pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/
Kyle McMartin 634522
        rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep}
Kyle McMartin 634522
    popd
Kyle McMartin 634522
Josh Boyer 0b4338
    # Call the modules-extra script to move things around
Josh Boyer 0b4338
    %{SOURCE17} $RPM_BUILD_ROOT/lib/modules/$KernelVer %{SOURCE16}
Josh Boyer b8b278
94ce4e
    #
aa7351
    # Generate the kernel-core and kernel-modules files lists
94ce4e
    #
94ce4e
94ce4e
    # Copy the System.map file for depmod to use, and create a backup of the
94ce4e
    # full module tree so we can restore it after we're done filtering
94ce4e
    cp System.map $RPM_BUILD_ROOT/.
94ce4e
    pushd $RPM_BUILD_ROOT
94ce4e
    mkdir restore
94ce4e
    cp -r lib/modules/$KernelVer/* restore/.
94ce4e
94ce4e
    # don't include anything going into k-m-e in the file lists
94ce4e
    rm -rf lib/modules/$KernelVer/extra
94ce4e
aa7351
    # Find all the module files and filter them out into the core and modules
aa7351
    # lists.  This actually removes anything going into -modules from the dir.
94ce4e
    find lib/modules/$KernelVer/kernel -name *.ko | sort -n > modules.list
e9fda3
    cp $RPM_SOURCE_DIR/filter-*.sh .
94ce4e
    %{SOURCE99} modules.list %{_target_cpu}
e9fda3
    rm filter-*.sh
94ce4e
94ce4e
    # Run depmod on the resulting module tree and make sure it isn't broken
069d85
    depmod -b . -aeF ./System.map $KernelVer &> depmod.out
069d85
    if [ -s depmod.out ]; then
069d85
        echo "Depmod failure"
069d85
        cat depmod.out
069d85
        exit 1
069d85
    else
069d85
        rm depmod.out
069d85
    fi
94ce4e
    # remove files that will be auto generated by depmod at rpm -i time
94ce4e
    pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/
94ce4e
        rm -f modules.{alias*,builtin.bin,dep*,*map,symbols*,devname,softdep}
94ce4e
    popd
94ce4e
94ce4e
    # Go back and find all of the various directories in the tree.  We use this
94ce4e
    # for the dir lists in kernel-core
Paul Bolle fc4b4c
    find lib/modules/$KernelVer/kernel -mindepth 1 -type d | sort -n > module-dirs.list
94ce4e
94ce4e
    # Cleanup
94ce4e
    rm System.map
94ce4e
    cp -r restore/* lib/modules/$KernelVer/.
94ce4e
    rm -rf restore
94ce4e
    popd
94ce4e
94ce4e
    # Make sure the files lists start with absolute paths or rpmbuild fails.
94ce4e
    # Also add in the dir entries
Kyle McMartin 892262
    sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/k-d.list > ../kernel${Flavour:+-${Flavour}}-modules.list
Kyle McMartin 892262
    sed -e 's/^lib*/%dir \/lib/' %{?zipsed} $RPM_BUILD_ROOT/module-dirs.list > ../kernel${Flavour:+-${Flavour}}-core.list
Kyle McMartin 892262
    sed -e 's/^lib*/\/lib/' %{?zipsed} $RPM_BUILD_ROOT/modules.list >> ../kernel${Flavour:+-${Flavour}}-core.list
94ce4e
94ce4e
    # Cleanup
94ce4e
    rm -f $RPM_BUILD_ROOT/k-d.list
94ce4e
    rm -f $RPM_BUILD_ROOT/modules.list
94ce4e
    rm -f $RPM_BUILD_ROOT/module-dirs.list
94ce4e
Josh Boyer f0f4ff
%if %{signmodules}
Kyle McMartin 249d64
    # Save the signing keys so we can sign the modules in __modsign_install_post
18c824
    cp certs/signing_key.pem certs/signing_key.pem.sign${Flav}
18c824
    cp certs/signing_key.x509 certs/signing_key.x509.sign${Flav}
Josh Boyer f0f4ff
%endif
Josh Boyer f0f4ff
Jesse Keating 7a3296
    # Move the devel headers out of the root file system
Kyle McMartin f6c1ae
    mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
Jesse Keating 7a3296
    mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
Josh Boyer bddef7
Josh Boyer bddef7
    # This is going to create a broken link during the build, but we don't use
Josh Boyer bddef7
    # it after this point.  We need the link to actually point to something
Josh Boyer bddef7
    # when kernel-devel is installed, and a relative link doesn't work across
Josh Boyer bddef7
    # the F17 UsrMove feature.
Josh Boyer bddef7
    ln -sf $DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
Kyle McMartin 4b3b40
Kyle McMartin 4b3b40
    # prune junk from kernel-devel
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
df3d8e
Jesse Keating 7a3296
%if %{with_debug}
df3d8e
BuildKernel %make_target %kernel_image %{_use_vdso} debug
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_pae_debug}
df3d8e
BuildKernel %make_target %kernel_image %{use_vdso} %{pae}debug
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Jesse Keating 7a3296
%if %{with_pae}
df3d8e
BuildKernel %make_target %kernel_image %{use_vdso} %{pae}
986a9f
%endif
986a9f
Jesse Keating 7a3296
%if %{with_up}
df3d8e
BuildKernel %make_target %kernel_image %{_use_vdso}
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Kyle McMartin 8bcddf
%global perf_make \
eb69f2
  make -s EXTRA_CFLAGS="${RPM_OPT_FLAGS}" LDFLAGS="%{__global_ldflags}" %{?cross_opts} -C tools/perf V=1 NO_PERF_READ_VDSO32=1 NO_PERF_READ_VDSOX32=1 WERROR=0 NO_LIBUNWIND=1 HAVE_CPLUS_DEMANGLE=1 NO_GTK2=1 NO_STRLCPY=1 NO_BIONIC=1 NO_JVMTI=1 prefix=%{_prefix}
Kyle McMartin 42d4c3
%if %{with_perf}
Josh Boyer 8addb5
# perf
f0b3a0
# make sure check-headers.sh is executable
f0b3a0
chmod +x tools/perf/check-headers.sh
Josh Boyer ed7ef3
%{perf_make} DESTDIR=$RPM_BUILD_ROOT all
Kyle McMartin 42d4c3
%endif
Josh Boyer 8addb5
Kyle McMartin 42d4c3
%if %{with_tools}
Josh Boyer 8addb5
%ifarch %{cpupowerarchs}
Josh Boyer 8addb5
# cpupower
Josh Boyer 8addb5
# make sure version-gen.sh is executable.
Josh Boyer 8addb5
chmod +x tools/power/cpupower/utils/version-gen.sh
Kyle McMartin 43d64b
%{make} %{?_smp_mflags} -C tools/power/cpupower CPUFREQ_BENCH=false
Josh Boyer 9c44ba
%ifarch %{ix86}
Kyle McMartin 076944
    pushd tools/power/cpupower/debug/i386
Kyle McMartin 43d64b
    %{make} %{?_smp_mflags} centrino-decode powernow-k8-decode
Kyle McMartin 076944
    popd
Josh Boyer 9c44ba
%endif
Josh Boyer 9c44ba
%ifarch x86_64
Kyle McMartin 076944
    pushd tools/power/cpupower/debug/x86_64
Kyle McMartin 43d64b
    %{make} %{?_smp_mflags} centrino-decode powernow-k8-decode
Kyle McMartin 076944
    popd
Josh Boyer 9c44ba
%endif
Josh Boyer b08093
%ifarch %{ix86} x86_64
Kyle McMartin 076944
   pushd tools/power/x86/x86_energy_perf_policy/
Kyle McMartin 43d64b
   %{make}
Kyle McMartin 076944
   popd
Kyle McMartin 076944
   pushd tools/power/x86/turbostat
Kyle McMartin 43d64b
   %{make}
Kyle McMartin 076944
   popd
Josh Boyer b08093
%endif #turbostat/x86_energy_perf_policy
Josh Boyer 8addb5
%endif
ec0fd9
pushd tools/thermal/tmon/
ec0fd9
%{make}
ec0fd9
popd
d6f5bf
pushd tools/iio/
d6f5bf
%{make}
d6f5bf
popd
6debda
pushd tools/gpio/
6debda
%{make}
6debda
popd
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Josh Boyer f0f4ff
# In the modsign case, we do 3 things.  1) We check the "flavour" and hard
Josh Boyer f0f4ff
# code the value in the following invocations.  This is somewhat sub-optimal
Josh Boyer f0f4ff
# but we're doing this inside of an RPM macro and it isn't as easy as it
Josh Boyer f0f4ff
# could be because of that.  2) We restore the .tmp_versions/ directory from
Josh Boyer f0f4ff
# the one we saved off in BuildKernel above.  This is to make sure we're
Josh Boyer f0f4ff
# signing the modules we actually built/installed in that flavour.  3) We
Kyle McMartin d0a8cf
# grab the arch and invoke mod-sign.sh command to actually sign the modules.
Josh Boyer f0f4ff
#
Josh Boyer f0f4ff
# We have to do all of those things _after_ find-debuginfo runs, otherwise
Josh Boyer f0f4ff
# that will strip the signature off of the modules.
Josh Boyer f0f4ff
Kyle McMartin 92559e
%define __modsign_install_post \
Kyle McMartin f9a5fa
  if [ "%{signmodules}" -eq "1" ]; then \
Kyle McMartin 63cb38
    if [ "%{with_pae}" -ne "0" ]; then \
18c824
      %{modsign_cmd} certs/signing_key.pem.sign+%{pae} certs/signing_key.x509.sign+%{pae} $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+%{pae}/ \
Josh Boyer f0f4ff
    fi \
Kyle McMartin 63cb38
    if [ "%{with_debug}" -ne "0" ]; then \
18c824
      %{modsign_cmd} certs/signing_key.pem.sign+debug certs/signing_key.x509.sign+debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+debug/ \
Josh Boyer f0f4ff
    fi \
Kyle McMartin 63cb38
    if [ "%{with_pae_debug}" -ne "0" ]; then \
18c824
      %{modsign_cmd} certs/signing_key.pem.sign+%{pae}debug certs/signing_key.x509.sign+%{pae}debug $RPM_BUILD_ROOT/lib/modules/%{KVERREL}+%{pae}debug/ \
Josh Boyer f0f4ff
    fi \
Kyle McMartin f9a5fa
    if [ "%{with_up}" -ne "0" ]; then \
18c824
      %{modsign_cmd} certs/signing_key.pem.sign certs/signing_key.x509.sign $RPM_BUILD_ROOT/lib/modules/%{KVERREL}/ \
Josh Boyer f0f4ff
    fi \
Josh Boyer f0f4ff
  fi \
Kyle McMartin 892262
  if [ "%{zipmodules}" -eq "1" ]; then \
Kyle McMartin 892262
    find $RPM_BUILD_ROOT/lib/modules/ -type f -name '*.ko' | xargs xz; \
Kyle McMartin 892262
  fi \
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
Kyle McMartin 92559e
###
Kyle McMartin 92559e
### Special hacks for debuginfo subpackages.
Kyle McMartin 92559e
###
Kyle McMartin 92559e
Kyle McMartin 92559e
# This macro is used by %%install, so we must redefine it before that.
Kyle McMartin 92559e
%define debug_package %{nil}
Kyle McMartin 92559e
Kyle McMartin 92559e
%if %{with_debuginfo}
Kyle McMartin 92559e
Jesse Keating 7a3296
%ifnarch noarch
Jesse Keating 7a3296
%global __debug_package 1
Jesse Keating 7a3296
%files -f debugfiles.list debuginfo-common-%{_target_cpu}
Jesse Keating 7a3296
%defattr(-,root,root)
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
231008
mv $RPM_BUILD_ROOT/usr/tmp-headers/include/arch-${arch}/asm $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/
f65f3f
cp -a $RPM_BUILD_ROOT/usr/tmp-headers/include/asm-generic $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/.
f65f3f
done
f65f3f
f65f3f
# Remove the rest of the architectures
f65f3f
rm -rf $RPM_BUILD_ROOT/usr/tmp-headers/include/arch*
f65f3f
rm -rf $RPM_BUILD_ROOT/usr/tmp-headers/include/asm-*
f65f3f
f65f3f
# Copy the rest of the headers over
f65f3f
for arch in arm arm64 powerpc s390 x86 ; do
f65f3f
cp -a $RPM_BUILD_ROOT/usr/tmp-headers/include/* $RPM_BUILD_ROOT/usr/${arch}-linux-gnu/include/.
f65f3f
done
f65f3f
f65f3f
rm -rf $RPM_BUILD_ROOT/usr/tmp-headers
f65f3f
%endif
f65f3f
Kyle McMartin 42d4c3
%if %{with_perf}
Josh Boyer 8addb5
# perf tool binary and supporting scripts/binaries
ff1800
%{perf_make} DESTDIR=$RPM_BUILD_ROOT lib=%{_lib} install-bin install-traceevent-plugins
713abc
# remove the 'trace' symlink.
713abc
rm -f %{buildroot}%{_bindir}/trace
cc7c4b
# remove the perf-tips
cc7c4b
rm -rf %{buildroot}%{_docdir}/perf-tip
Josh Boyer 8addb5
Kyle McMartin ec31ef
# python-perf extension
Kyle McMartin 8bcddf
%{perf_make} DESTDIR=$RPM_BUILD_ROOT install-python_ext
Kyle McMartin ec31ef
Josh Boyer 8addb5
# perf man pages (note: implicit rpm magic compresses them later)
Josh Boyer ed7ef3
mkdir -p %{buildroot}/%{_mandir}/man1
Josh Boyer ed7ef3
pushd %{buildroot}/%{_mandir}/man1
Josh Boyer ed7ef3
tar -xf %{SOURCE10}
c528f4
%if !%{with_tools}
c528f4
    rm -f kvm_stat.1
c528f4
%endif
Josh Boyer ed7ef3
popd
Kyle McMartin 42d4c3
%endif
Josh Boyer 8addb5
Kyle McMartin 42d4c3
%if %{with_tools}
Josh Boyer 8addb5
%ifarch %{cpupowerarchs}
Kyle McMartin 43d64b
%{make} -C tools/power/cpupower DESTDIR=$RPM_BUILD_ROOT libdir=%{_libdir} mandir=%{_mandir} CPUFREQ_BENCH=false install
Josh Boyer 8addb5
rm -f %{buildroot}%{_libdir}/*.{a,la}
Josh Boyer 8addb5
%find_lang cpupower
Josh Boyer 8addb5
mv cpupower.lang ../
Josh Boyer 9c44ba
%ifarch %{ix86}
Kyle McMartin 076944
    pushd tools/power/cpupower/debug/i386
Josh Boyer 8addb5
    install -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode
Josh Boyer 8addb5
    install -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode
Kyle McMartin 076944
    popd
Josh Boyer 9c44ba
%endif
Josh Boyer 9c44ba
%ifarch x86_64
Kyle McMartin 076944
    pushd tools/power/cpupower/debug/x86_64
Josh Boyer 9c44ba
    install -m755 centrino-decode %{buildroot}%{_bindir}/centrino-decode
Josh Boyer 9c44ba
    install -m755 powernow-k8-decode %{buildroot}%{_bindir}/powernow-k8-decode
Kyle McMartin 076944
    popd
Josh Boyer 9c44ba
%endif
Josh Boyer 8addb5
chmod 0755 %{buildroot}%{_libdir}/libcpupower.so*
Josh Boyer 8addb5
mkdir -p %{buildroot}%{_unitdir} %{buildroot}%{_sysconfdir}/sysconfig
Josh Boyer 8addb5
install -m644 %{SOURCE2000} %{buildroot}%{_unitdir}/cpupower.service
Josh Boyer 8addb5
install -m644 %{SOURCE2001} %{buildroot}%{_sysconfdir}/sysconfig/cpupower
Josh Boyer 8addb5
%endif
Josh Boyer b08093
%ifarch %{ix86} x86_64
Josh Boyer b08093
   mkdir -p %{buildroot}%{_mandir}/man8
Kyle McMartin 076944
   pushd tools/power/x86/x86_energy_perf_policy
Josh Boyer b08093
   make DESTDIR=%{buildroot} install
Kyle McMartin 076944
   popd
Kyle McMartin 076944
   pushd tools/power/x86/turbostat
Josh Boyer b08093
   make DESTDIR=%{buildroot} install
Kyle McMartin 076944
   popd
Josh Boyer b08093
%endif #turbostat/x86_energy_perf_policy
ec0fd9
pushd tools/thermal/tmon
ec0fd9
make INSTALL_ROOT=%{buildroot} install
ec0fd9
popd
d6f5bf
pushd tools/iio
f8b490
make DESTDIR=%{buildroot} install
d6f5bf
popd
6debda
pushd tools/gpio
6debda
make DESTDIR=%{buildroot} install
6debda
popd
a3e7d7
pushd tools/kvm/kvm_stat
a04e78
make INSTALL_ROOT=%{buildroot} install-tools
a3e7d7
popd
Josh Boyer 8addb5
%endif
Josh Boyer 8addb5
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
%clean
Jesse Keating 7a3296
rm -rf $RPM_BUILD_ROOT
Jesse Keating 7a3296
Jesse Keating 7a3296
###
Jesse Keating 7a3296
### scripts
Jesse Keating 7a3296
###
Jesse Keating 7a3296
Josh Boyer 93e777
%if %{with_tools}
945e53
%post -n kernel-tools-libs
Josh Boyer 8addb5
/sbin/ldconfig
Josh Boyer 8addb5
945e53
%postun -n kernel-tools-libs
Josh Boyer 8addb5
/sbin/ldconfig
Josh Boyer 93e777
%endif
Josh Boyer 8addb5
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
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
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
%defattr(-,root,root)
Jesse Keating 7a3296
/usr/include/*
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
f65f3f
%if %{with_cross_headers}
f65f3f
%files cross-headers
f65f3f
%defattr(-,root,root)
f65f3f
/usr/*-linux-gnu/include/*
f65f3f
%endif
f65f3f
Jesse Keating 7a3296
%if %{with_bootwrapper}
Jesse Keating 7a3296
%files bootwrapper
Jesse Keating 7a3296
%defattr(-,root,root)
Jesse Keating 7a3296
/usr/sbin/*
Jesse Keating 7a3296
%{_libdir}/kernel-wrapper
Jesse Keating 7a3296
%endif
Jesse Keating 7a3296
Kyle McMartin 42d4c3
%if %{with_perf}
Kyle McMartin 42d4c3
%files -n perf
Jesse Keating 7a3296
%defattr(-,root,root)
Jesse Keating 7a3296
%{_bindir}/perf
Kyle McMartin bb584d
%dir %{_libdir}/traceevent/plugins
Kyle McMartin bb584d
%{_libdir}/traceevent/plugins/*
Jesse Keating 7a3296
%dir %{_libexecdir}/perf-core
Jesse Keating 7a3296
%{_libexecdir}/perf-core/*
01b3ca
%{_datadir}/perf-core/*
Kyle McMartin 42d4c3
%{_mandir}/man[1-8]/perf*
6e82a6
%{_sysconfdir}/bash_completion.d/perf
Josh Boyer 83337c
%doc linux-%{KVERREL}/tools/perf/Documentation/examples.txt
Kyle McMartin 42d4c3
Kyle McMartin 42d4c3
%files -n python-perf
Kyle McMartin 42d4c3
%defattr(-,root,root)
006e9a
%{python_sitearch}
Kyle McMartin 42d4c3
Kyle McMartin 42d4c3
%if %{with_debuginfo}
Kyle McMartin 42d4c3
%files -f perf-debuginfo.list -n perf-debuginfo
Kyle McMartin 42d4c3
%defattr(-,root,root)
Josh Boyer 27d8a0
Josh Boyer 27d8a0
%files -f python-perf-debuginfo.list -n python-perf-debuginfo
Josh Boyer 27d8a0
%defattr(-,root,root)
Kyle McMartin 42d4c3
%endif
Kyle McMartin 42d4c3
%endif # with_perf
Roland McGrath 3c4ea9
Kyle McMartin 42d4c3
%if %{with_tools}
Jarod Wilson 831c8c
%files -n kernel-tools -f cpupower.lang
Kyle McMartin 42d4c3
%defattr(-,root,root)
Josh Boyer 8addb5
%ifarch %{cpupowerarchs}
Josh Boyer 8addb5
%{_bindir}/cpupower
Josh Boyer 6ec053
%ifarch %{ix86} x86_64
Josh Boyer 8addb5
%{_bindir}/centrino-decode
Josh Boyer 8addb5
%{_bindir}/powernow-k8-decode
Josh Boyer 6ec053
%endif
Josh Boyer 8addb5
%{_unitdir}/cpupower.service
Kyle McMartin 42d4c3
%{_mandir}/man[1-8]/cpupower*
Josh Boyer 8addb5
%config(noreplace) %{_sysconfdir}/sysconfig/cpupower
Josh Boyer b08093
%ifarch %{ix86} x86_64
Josh Boyer b08093
%{_bindir}/x86_energy_perf_policy
Josh Boyer b08093
%{_mandir}/man8/x86_energy_perf_policy*
Josh Boyer b08093
%{_bindir}/turbostat
Josh Boyer b08093
%{_mandir}/man8/turbostat*
Josh Boyer b08093
%endif
ec0fd9
%{_bindir}/tmon
d6f5bf
%{_bindir}/iio_event_monitor
d6f5bf
%{_bindir}/iio_generic_buffer
d6f5bf
%{_bindir}/lsiio
6debda
%{_bindir}/lsgpio
6debda
%{_bindir}/gpio-hammer
6debda
%{_bindir}/gpio-event-mon
a3e7d7
%{_mandir}/man1/kvm_stat*
a3e7d7
%{_bindir}/kvm_stat
Josh Boyer 8addb5
%endif
Josh Boyer 8addb5
Roland McGrath 3c4ea9
%if %{with_debuginfo}
Jarod Wilson cd3790
%files -f kernel-tools-debuginfo.list -n kernel-tools-debuginfo
Roland McGrath 3c4ea9
%defattr(-,root,root)
Roland McGrath 3c4ea9
%endif
Josh Boyer 8addb5
Josh Boyer 8addb5
%ifarch %{cpupowerarchs}
Jarod Wilson 831c8c
%files -n kernel-tools-libs
Josh Boyer 55e586
%{_libdir}/libcpupower.so.0
3856ef
%{_libdir}/libcpupower.so.0.0.1
Josh Boyer 55e586
Jarod Wilson 831c8c
%files -n kernel-tools-libs-devel
Josh Boyer 8addb5
%{_libdir}/libcpupower.so
Josh Boyer 8addb5
%{_includedir}/cpufreq.h
Josh Boyer 8addb5
%endif
Kyle McMartin 42d4c3
%endif # with_perf
Jesse Keating 7a3296
94ce4e
# empty meta-package
94ce4e
%files
94ce4e
%defattr(-,root,root)
94ce4e
Dave Jones 166b79
# This is %%{image_install_path} on an arch where that includes ELF files,
Jesse Keating 7a3296
# or empty otherwise.
Jesse Keating 7a3296
%define elf_image_install_path %{?kernel_image_elf:%{image_install_path}}
Jesse Keating 7a3296
Jesse Keating 7a3296
#
Jesse Keating 7a3296
# This macro defines the %%files sections for a kernel package
Jesse Keating 7a3296
# and its devel and debuginfo packages.
Jesse Keating 7a3296
#	%%kernel_variant_files [-k vmlinux] <condition> <subpackage>
Jesse Keating 7a3296
#
Jesse Keating 7a3296
%define kernel_variant_files(k:) \
df3d8e
%if %{2}\
df3d8e
%{expand:%%files -f kernel-%{?3:%{3}-}core.list %{?3:%{3}-}core}\
Jesse Keating 7a3296
%defattr(-,root,root)\
d23e53
%{!?_licensedir:%global license %%doc}\
d23e53
%license linux-%{KVERREL}/COPYING\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/%{?-k:%{-k*}}%{!?-k:vmlinuz}\
df3d8e
%ghost /%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?3:+%{3}}\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/.vmlinuz.hmac \
df3d8e
%ghost /%{image_install_path}/.vmlinuz-%{KVERREL}%{?3:+%{3}}.hmac \
Kyle McMartin 49ba08
%ifarch %{arm} aarch64\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/dtb \
df3d8e
%ghost /%{image_install_path}/dtb-%{KVERREL}%{?3:+%{3}} \
783eee
%endif\
df3d8e
%attr(600,root,root) /lib/modules/%{KVERREL}%{?3:+%{3}}/System.map\
df3d8e
%ghost /boot/System.map-%{KVERREL}%{?3:+%{3}}\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/config\
df3d8e
%ghost /boot/config-%{KVERREL}%{?3:+%{3}}\
df3d8e
%ghost /boot/initramfs-%{KVERREL}%{?3:+%{3}}.img\
b7897a
%dir /lib/modules\
df3d8e
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}\
df3d8e
%dir /lib/modules/%{KVERREL}%{?3:+%{3}}/kernel\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/build\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/source\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/updates\
df3d8e
%if %{1}\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/vdso\
df3d8e
/etc/ld.so.conf.d/kernel-%{KVERREL}%{?3:+%{3}}.conf\
Jesse Keating 7a3296
%endif\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/modules.*\
df3d8e
%{expand:%%files -f kernel-%{?3:%{3}-}modules.list %{?3:%{3}-}modules}\
94ce4e
%defattr(-,root,root)\
df3d8e
%{expand:%%files %{?3:%{3}-}devel}\
Jesse Keating 7a3296
%defattr(-,root,root)\
a78151
%defverify(not mtime)\
df3d8e
/usr/src/kernels/%{KVERREL}%{?3:+%{3}}\
df3d8e
%{expand:%%files %{?3:%{3}-}modules-extra}\
Josh Boyer b8b278
%defattr(-,root,root)\
df3d8e
/lib/modules/%{KVERREL}%{?3:+%{3}}/extra\
Jesse Keating 7a3296
%if %{with_debuginfo}\
Jesse Keating 7a3296
%ifnarch noarch\
df3d8e
%{expand:%%files -f debuginfo%{?3}.list %{?3:%{3}-}debuginfo}\
Jesse Keating 7a3296
%defattr(-,root,root)\
Jesse Keating 7a3296
%endif\
Jesse Keating 7a3296
%endif\
df3d8e
%if %{?3:1} %{!?3:0}\
df3d8e
%{expand:%%files %{3}}\
335206
%defattr(-,root,root)\
335206
%endif\
Jesse Keating 7a3296
%endif\
Jesse Keating 7a3296
%{nil}
Jesse Keating 7a3296
df3d8e
%kernel_variant_files  %{_use_vdso} %{with_up}
df3d8e
%kernel_variant_files  %{_use_vdso} %{with_debug} debug
df3d8e
%kernel_variant_files %{use_vdso} %{with_pae} %{pae}
df3d8e
%kernel_variant_files %{use_vdso} %{with_pae_debug} %{pae}debug
Jesse Keating 7a3296
Jesse Keating 7a3296
# plz don't put in a version string unless you're going to tag
Jesse Keating 7a3296
# and build.
Dave Jones 1d43b9
#
2117ac
#
Jesse Keating 7a3296
%changelog
59566d
* Thu Oct 19 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc5.git3.1
59566d
- Linux v4.14-rc5-31-g73d3393ada4f
59566d
e46f6e
* Thu Oct 19 2017 Laura Abbott <labbott@redhat.com>
e46f6e
- Turn off DCCP
e46f6e
122f40
* Wed Oct 18 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc5.git2.1
122f40
- Linux v4.14-rc5-22-g3e0cc09a3a2c
122f40
68373b
* Tue Oct 17 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc5.git1.1
68373b
- Linux v4.14-rc5-15-gebe6e90ccc66
68373b
- Reenable debugging options.
68373b
bb0af2
* Mon Oct 16 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc5.git0.1
bb0af2
- Linux v4.14-rc5
bb0af2
bd9b02
* Mon Oct 16 2017 Justin M. Forbes <jforbes@fedoraproject.org>
bd9b02
- Disable debugging options.
bd9b02
4290f5
* Sun Oct 15 2017 Peter Robinson <pbrobinson@fedoraproject.org>
4290f5
- Fix USB-3 Superspeed negotiation on exynos5 hardware
4290f5
e5be67
* Fri Oct 13 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc4.git4.1
e5be67
- Linux v4.14-rc4-143-g997301a860fc
e5be67
8e041b
* Thu Oct 12 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc4.git3.1
8e041b
- Linux v4.14-rc4-84-gff5abbe799e2
8e041b
bc0aa7
* Thu Oct 12 2017 Hans de Goede <jwrdegoede@fedoraproject.org>
bc0aa7
- Fix vboxvideo causing gnome 3.26+ to not work under VirtualBox
bc0aa7
7b8fc1
* Wed Oct 11 2017 Jeremy Cline <jeremy@jcline.org>
1c7a44
- Fix incorrect updates of uninstantiated keys crash the kernel (rhbz 1498016 1498017)
7b8fc1
7271c4
* Wed Oct 11 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc4.git2.1
7271c4
- Linux v4.14-rc4-77-g56ae414e9d27
7271c4
b61852
* Tue Oct 10 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc4.git1.1
b61852
- Linux v4.14-rc4-52-g529a86e063e9
b61852
- Reenable debugging options.
b61852
bc12ea
* Mon Oct 09 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc4.git0.1
bc12ea
- Linux v4.14-rc4
bc12ea
d72ceb
* Mon Oct 09 2017 Justin M. Forbes <jforbes@fedoraproject.org>
d72ceb
- Disable debugging options.
d72ceb
9e549f
* Mon Oct  9 2017 Peter Robinson <pbrobinson@fedoraproject.org>
9e549f
- Enable KASLR on aarch64
9e549f
2b8f26
* Fri Oct 06 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc3.git4.1
2b8f26
- Linux v4.14-rc3-394-gbf2db0b9f580
2b8f26
d12373
* Fri Oct  6 2017 Peter Robinson <pbrobinson@fedoraproject.org>
d12373
- Initial support for Socionext Synquacer platform
d12373
1d26b7
* Thu Oct 05 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc3.git3.1
1d26b7
- Linux v4.14-rc3-315-g0f380715e51f
1d26b7
75e32f
* Wed Oct 04 2017 Justin M. Forbes <jforbes@redhat.com> - 4.14.0-0.rc3.git2.1
75e32f
- Linux v4.14-rc3-102-gd81fa669e3de
75e32f
22ba5a
* Tue Oct 03 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc3.git1.1
22ba5a
- Linux v4.14-rc3-90-g887c8ba753fb
22ba5a
- Reenable debugging options.
22ba5a
f5a7ba
* Mon Oct 02 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc3.git0.1
f5a7ba
- Linux v4.14-rc3
f5a7ba
f3c108
* Mon Oct 02 2017 Justin M. Forbes <jforbes@fedoraproject.org>
f3c108
- Disable debugging options.
f3c108
b771fb
* Fri Sep 29 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc2.git4.1
b771fb
- Linux v4.14-rc2-201-g35dbba31be52
b771fb
c26763
* Thu Sep 28 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc2.git3.1
c26763
- Linux v4.14-rc2-125-g9cd6681cb116
c26763
29fb35
* Wed Sep 27 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc2.git2.1
29fb35
- Linux v4.14-rc2-48-gdc972a67cc54
29fb35
56e9f3
* Tue Sep 26 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc2.git1.1
56e9f3
- Linux v4.14-rc2-44-ge365806ac289
56e9f3
- Reenable debugging options.
56e9f3
2930cf
* Mon Sep 25 2017 Peter Robinson <pbrobinson@fedoraproject.org>
2930cf
- Add patch to fix PCI on tegra20
2930cf
8b5049
* Mon Sep 25 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc2.git0.1
8b5049
- Linux v4.14-rc2
8b5049
1b37da
* Mon Sep 25 2017 Justin M. Forbes <jforbes@fedoraproject.org>
1b37da
- Disable debugging options.
1b37da
7e73dd
* Fri Sep 22 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc1.git4.1
7e73dd
- Linux v4.14-rc1-125-g0a8abd97dcda
7e73dd
cb76f9
* Thu Sep 21 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc1.git3.1
cb76f9
- Linux v4.14-rc1-39-gc52f56a69d10
cb76f9
b40728
* Wed Sep 20 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc1.git2.1
b40728
- Linux v4.14-rc1-35-g820bf5c419e4
b40728
2a0ad7
* Tue Sep 19 2017 Laura Abbott <labbott@redhat.com>
2a0ad7
- Disable CONFIG_VIRTIO_BLK_SCSI
2a0ad7
00e879
* Tue Sep 19 2017 Justin M. Forbes <jforbes@redhat.com> - 4.14.0-0.rc1.git1.1
00e879
- Linux v4.14-rc1-13-gebb2c2437d80
00e879
- Reenable debugging options.
1b3f60
- Fix PPC build
00e879
ab0c52
* Mon Sep 18 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc1.git0.1
ab0c52
- Linux v4.14-rc1
ab0c52
77c153
* Mon Sep 18 2017 Justin M. Forbes <jforbes@fedoraproject.org>
77c153
- Disable debugging options.
77c153
6faa1e
* Fri Sep 15 2017 Peter Robinson <pbrobinson@fedoraproject.org>
6faa1e
- Enable Tegra 186
6faa1e
e6cec5
* Thu Sep 14 2017 Justin M. Forbes <jforbes@redhat.com> - 4.14.0-0.rc0.git6.1
e6cec5
- Linux v4.13-11811-g46c1e79fee41
e6cec5
961e1f
* Wed Sep 13 2017 Justin M. Forbes <jforbes@redhat.com> - 4.14.0-0.rc0.git5.1
961e1f
- Linux v4.13-11559-g6d8ef53e8b2f
961e1f
f7b2de
* Tue Sep 12 2017 Peter Robinson <pbrobinson@fedoraproject.org> 4.14.0-0.rc0.git4.1
f7b2de
- Enable Physlink/SFP functionality
f7b2de
- Tegra DRM FTB fix
f7b2de
27e72a
* Mon Sep 11 2017 Peter Robinson <pbrobinson@fedoraproject.org>
27e72a
- Raspberry Pi serial console fixes, minor other Pi improvements
27e72a
- Various ARM cleanups, build mmc/pwrseq non modular
27e72a
f7b2de
* Mon Sep 11 2017 Justin M. Forbes <jforbes@fedoraproject.org>
21e4b8
- Linux v4.13-11197-gf007cad159e9
21e4b8
326117
* Sat Sep  9 2017 Peter Robinson <pbrobinson@fedoraproject.org>
326117
- Only build ParPort support on x86
326117
f8b490
* Fri Sep 08 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc0.git3.1
f8b490
- Linux v4.13-9219-g015a9e66b9b8
f8b490
7bc381
* Thu Sep 07 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc0.git2.1
7bc381
- Linux v4.13-6657-g3b9f8ed25dbe
7bc381
7c0c57
* Wed Sep 06 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.14.0-0.rc0.git1.1
7c0c57
- Linux v4.13-4257-ge7d0c41ecc2e
7c0c57
3f038f
* Mon Sep  4 2017 Peter Robinson <pbrobinson@fedoraproject.org>
3f038f
- Revert drop of sun8i-emac DT bindings, we support for certain devs
3f038f
0aeda4
* Mon Sep 04 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-1
0aeda4
- Linux v4.13
0aeda4
a0b333
* Fri Sep 01 2017 Laura Abbott <labbott@redhat.com> - 4.13.0-0.rc7.git4.1
a0b333
- Linux v4.13-rc7-74-ge89ce1f89f62
a0b333
a6c714
* Thu Aug 31 2017 Peter Robinson <pbrobinson@fedoraproject.org>
a6c714
- Disable Infiniband/RDMA on ARMv7 as we no longer have userspace tools
a6c714
9f38a5
* Thu Aug 31 2017 Laura Abbott <labbott@redhat.com> - 4.13.0-0.rc7.git3.1
9f38a5
- Linux v4.13-rc7-37-g42ff72cf2702
9f38a5
51a2ae
* Thu Aug 31 2017 Hans de Goede <jwrdegoede@fedoraproject.org>
51a2ae
- Update patches for power-button wakeup issues on Bay / Cherry Trail devices
51a2ae
- Add patches to fix an IRQ storm on devices with a MAX17042 fuel-gauge
51a2ae
717a8b
* Wed Aug 30 2017 Peter Robinson <pbrobinson@fedoraproject.org>
717a8b
- Fix for QCom Dragonboard USB
717a8b
dd763b
* Wed Aug 30 2017 Laura Abbott <labbott@redhat.com> - 4.13.0-0.rc7.git2.1
dd763b
- Linux v4.13-rc7-15-g36fde05f3fb5
dd763b
67de56
* Tue Aug 29 2017 Laura Abbott <labbott@redhat.com> - 4.13.0-0.rc7.git1.1
67de56
- Linux v4.13-rc7-7-g9c3a815f471a
67de56
973a83
* Tue Aug 29 2017 Laura Abbott <labbott@redhat.com>
973a83
- Reenable debugging options.
973a83
fec661
* Mon Aug 28 2017 Laura Abbott <labbott@redhat.com> - 4.13.0-0.rc7.git0.1
fec661
- Linux v4.13-rc7
fec661
c2c1e3
* Mon Aug 28 2017 Laura Abbott <labbott@redhat.com> - 4.13.0-0.rc6.git4.2
c2c1e3
- Disable debugging options.
c2c1e3
9a12aa
* Fri Aug 25 2017 Justin M. Forbes <jforbes@fedoraproject.org>
9a12aa
- For for AMD Stoney GPU (rhbz 1485086)
9a12aa
- Fix for CVE-2017-7558 (rhbz 1480266 1484810)
9a12aa
- Fix for kvm_stat (rhbz 1483527)
9a12aa
e66a6e
* Fri Aug 25 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc6.git4.1
e66a6e
- Linux v4.13-rc6-102-g90a6cd503982
e66a6e
6491c8
* Thu Aug 24 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc6.git3.1
6491c8
- Linux v4.13-rc6-66-g143c97cc6529
6491c8
b163f5
* Wed Aug 23 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc6.git2.1
b163f5
- Linux v4.13-rc6-50-g98b9f8a45499
b163f5
c69551
* Tue Aug 22 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.13.0-0.rc6.git1.1
c69551
- Linux v4.13-rc6-45-g6470812e2226
c69551
- Reenable debugging options.
c69551
eb93a3
* Tue Aug 22 2017 Peter Robinson <pbrobinson@fedoraproject.org>
eb93a3
- Force python3 for kvm_stat because we can't dep (rhbz 1456722)
eb93a3
604223
* Mon Aug 21 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.13.0-0.rc6.git0.1
604223
- Disable debugging options.
604223
- Linux v4.13-rc6
604223
5e1c70
* Fri Aug 18 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.13.0-0.rc5.git4.1
5e1c70
- Linux v4.13-rc5-130-g039a8e384733
5e1c70
0da84f
* Thu Aug 17 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc5.git3.1
0da84f
- Linux v4.13-rc5-75-gac9a40905a61
0da84f
94d0b8
* Thu Aug 17 2017 Laura Abbott <labbott@fedoraproject.org>
94d0b8
- Fix for vmalloc_32 failure (rhbz 1482249)
94d0b8
3ebb80
* Wed Aug 16 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc5.git2.1
3ebb80
- Linux v4.13-rc5-67-g510c8a899caf
3ebb80
1a59a2
* Wed Aug 16 2017 Laura Abbott <labbott@redhat.com>
1a59a2
- Fix for iio race
1a59a2
c0d49b
* Wed Aug 16 2017 Hans de Goede <jwrdegoede@fedoraproject.org>
c0d49b
- Enable CONFIG_DRM_VBOXVIDEO=m on x86
c0d49b
- Enable CONFIG_R8188EU=m on x86_64, some Cherry Trail devices use this
c0d49b
ec1658
* Tue Aug 15 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc5.git1.1
ec1658
- Linux v4.13-rc5-9-gfcd07350007b
ec1658
32d17a
* Mon Aug 14 2017 Justin M. Forbes <jforbes@fedoraproject.org>
32d17a
- Fix for signed module loading (rhbz 1476467)
32d17a
5c4de6
* Mon Aug 14 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc5.git0.1
5c4de6
- Linux v4.13-rc5
5c4de6
673c70
* Mon Aug 14 2017 Laura Abbott <labbott@fedoraproject.org>
673c70
- Disable debugging options.
673c70
3a2f51
* Fri Aug 11 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc4.git4.1
3a2f51
- Linux v4.13-rc4-220-gb2dbdf2ca1d2
3a2f51
42b457
* Fri Aug 11 2017 Dan Horak <dan@danny.cz>
42b457
- disable SWIOTLB on Power (#1480380)
42b457
d1d51e
* Fri Aug 11 2017 Josh Boyer <jwboyer@fedoraproject.org>
d1d51e
- Disable MEMORY_HOTPLUG_DEFAULT_ONLINE on ppc64 (rhbz 1476380)
d1d51e
091798
* Thu Aug 10 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc4.git3.1
091798
- Linux v4.13-rc4-139-g8d31f80eb388
091798
35e84f
* Wed Aug 09 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc4.git2.1
35e84f
- Linux v4.13-rc4-52-gbfa738cf3dfa
35e84f
011b6c
* Tue Aug 08 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc4.git1.1
011b6c
- Linux v4.13-rc4-18-g623ce3456671
011b6c
9c4001
* Tue Aug 08 2017 Laura Abbott <labbott@fedoraproject.org>
9c4001
- Reenable debugging options.
9c4001
0e2d67
* Mon Aug 07 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc4.git0.1
0e2d67
- Linux v4.13-rc4
0e2d67
6b6406
* Mon Aug 07 2017 Laura Abbott <labbott@fedoraproject.org>
6b6406
- Disable debugging options.
6b6406
d43706
* Fri Aug  4 2017 Peter Robinson <pbrobinson@fedoraproject.org>
d43706
- ARM QCom updates
a74753
- Patch to fix USB on Raspberry Pi
d43706
69ae94
* Fri Aug 04 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc3.git4.1
69ae94
- Linux v4.13-rc3-152-g869c058fbe74
69ae94
3fcce5
* Thu Aug 03 2017 Laura Abbott <labbott@redhat.com>
3fcce5
- Keep UDF in the main kernel package (rhbz 1471314)
3fcce5
0a23e9
* Thu Aug 03 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc3.git3.1
0a23e9
- Linux v4.13-rc3-118-g19ec50a438c2
0a23e9
dba076
* Wed Aug 02 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc3.git2.1
dba076
- Linux v4.13-rc3-102-g26c5cebfdb6c
dba076
af1fa6
* Tue Aug 01 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc3.git1.1
af1fa6
- Linux v4.13-rc3-97-gbc78d646e708
af1fa6
8aa232
* Tue Aug 01 2017 Laura Abbott <labbott@fedoraproject.org>
8aa232
- Reenable debugging options.
8aa232
5be151
* Mon Jul 31 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc3.git0.1
5be151
- Linux v4.13-rc3
5be151
f05a3b
* Mon Jul 31 2017 Laura Abbott <labbott@fedoraproject.org>
f05a3b
- Disable debugging options.
f05a3b
e15eb4
* Mon Jul 31 2017 Florian Weimer <fweimer@redhat.com> - 4.13.0-0.rc2.git3.2
e15eb4
- Rebuild with binutils fix for ppc64le (#1475636)
e15eb4
b7cebf
* Fri Jul 28 2017 Adrian Reber <adrian@lisas.de>
b7cebf
- Enable CHECKPOINT_RESTORE on s390x
b7cebf
0762ab
* Fri Jul 28 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc2.git3.1
0762ab
- Linux v4.13-rc2-110-g0b5477d9dabd
0762ab
10aaea
* Thu Jul 27 2017 Laura Abbott <labbott@fedoraproject.org>
10aaea
- Revert patch breaking mustang boot
10aaea
567b85
* Thu Jul 27 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc2.git2.1
567b85
- Linux v4.13-rc2-27-gda08f35b0f82
567b85
3080ef
* Thu Jul 27 2017 Peter Robinson <pbrobinson@fedoraproject.org>
3080ef
- Enable ACPI CPPC CPUFreq driver on aarch64
3080ef
fcbe33
* Wed Jul 26 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc2.git1.1
fcbe33
- Linux v4.13-rc2-22-gfd2b2c57ec20
fcbe33
2e77a0
* Wed Jul 26 2017 Laura Abbott <labbott@fedoraproject.org>
2e77a0
- Reenable debugging options.
2e77a0
f98f1e
* Mon Jul 24 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc2.git0.1
f98f1e
- Linux v4.13-rc2
f98f1e
10c9f7
* Mon Jul 24 2017 Laura Abbott <labbott@fedoraproject.org>
10c9f7
- Disable debugging options.
10c9f7
f4d7bf
* Fri Jul 21 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc1.git4.1
f4d7bf
- Linux v4.13-rc1-190-g921edf312a6a
f4d7bf
fde1b6
* Thu Jul 20 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc1.git3.1
fde1b6
- Linux v4.13-rc1-72-gbeaec533fc27
fde1b6
7a8acb
* Wed Jul 19 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc1.git2.1
7a8acb
- Linux v4.13-rc1-59-g74cbd96bc2e0
7a8acb
b7ab40
* Tue Jul 18 2017 Peter Robinson <pbrobinson@fedoraproject.org>
b7ab40
- Add fix for Tegra GPU display with IOMMU
b7ab40
- Add QCom IOMMU for Dragonboard display
bcf363
- Add QCom patch to fix USB on Dragonboard
fb5869
- Fix Raspberry Pi booting with LPAE kernel
b7ab40
b9167a
* Tue Jul 18 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc1.git1.1
b9167a
- Linux v4.13-rc1-24-gcb8c65ccff7f
b9167a
96e2be
* Tue Jul 18 2017 Laura Abbott <labbott@fedoraproject.org>
96e2be
- Reenable debugging options.
96e2be
398699
* Mon Jul 17 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc1.git0.1
398699
- Linux v4.13-rc1
398699
927dc5
* Mon Jul 17 2017 Laura Abbott <labbott@fedoraproject.org>
927dc5
- Disable debugging options.
927dc5
9088a3
* Sun Jul 16 2017 Peter Robinson <pbrobinson@fedoraproject.org>
9088a3
- Minor ARM config updates
9088a3
5cdbaa
* Fri Jul 14 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc0.git8.1
5cdbaa
- Linux v4.12-11618-gb86faee6d111
5cdbaa
e7048b
* Thu Jul 13 2017 Peter Robinson <pbrobinson@fedoraproject.org>
e7048b
- Minor updates for ARM
e7048b
4730cc
* Thu Jul 13 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc0.git7.1
4730cc
- Linux v4.12-10985-g4ca6df134847
4730cc
185d8f
* Wed Jul 12 2017 Peter Robinson <pbrobinson@fedoraproject.org>
185d8f
- Build in i2c-rk3x to fix some device boot
185d8f
e77b66
* Wed Jul 12 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc0.git6.1
e77b66
- Linux v4.12-10784-g3b06b1a7448e
e77b66
1516e3
* Tue Jul 11 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc0.git5.1
1516e3
- Linux v4.12-10624-g9967468
1516e3
519b08
* Mon Jul 10 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc0.git4.1
519b08
- Linux v4.12-10317-gaf3c8d9
519b08
cd35ee
* Fri Jul 07 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc0.git3.1
cd35ee
- Linux v4.12-7934-g9f45efb
cd35ee
bf7ea1
* Thu Jul 06 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc0.git2.1
bf7ea1
- Linux v4.12-6090-g9b51f04
bf7ea1
ad5e49
* Wed Jul 05 2017 Laura Abbott <labbott@fedoraproject.org> - 4.13.0-0.rc0.git1.1
ad5e49
ad5e49
- Linux v4.12-3441-g1996454
ad5e49
c85a99
* Wed Jul 05 2017 Laura Abbott <labbott@fedoraproject.org>
c85a99
- Reenable debugging options.
c85a99
421200
* Mon Jul 03 2017 Justin M. Forbes <jforbes@fedoraproject.org> - 4.12.0-1
421200
- Linux v4.12
421200
- Disable debugging options.
421200