dingjian / rpms / kernel-rt

Forked from rpms/kernel-rt 4 years ago
Clone

Blame SPECS/kernel-rt.spec

19f436
Summary: The Linux Realtime kernel
19f436
19f436
# catch building on Fedora
19f436
%if "%{?dist}" == "" || "0%{?fedora}" != "0"
19f436
%global dist .el7
19f436
%endif
19f436
19f436
%global __spec_install_pre %{___build_pre}
19f436
19f436
# realtimeN
54527e
%global rtbuild 204
19f436
19f436
# RHEL7 build number
54527e
%global rhel_build 327
19f436
19f436
# The preempt RT patch level
18be90
%global rttag rt56
18be90
18be90
# For a kernel released for public testing, released_kernel should be 1.
18be90
# For internal testing builds during development, it should be 0.
18be90
%global released_kernel 0
19f436
19f436
# conditional with/without variables
19f436
# Note that the logic here is inverted; a  bcond_without implies
19f436
# that the variable is on by default (since you use --without to turn it off)
19f436
# Likewise a bcond_with implies the variable is off by default (turned on by --with)
19f436
%bcond_without rt
19f436
%bcond_without doc
19f436
%bcond_without debug
19f436
%bcond_with    headers
19f436
%bcond_with    vanilla
19f436
%bcond_without trace
19f436
%bcond_with    perf
19f436
%bcond_with    firmware
19f436
%bcond_without debuginfo
19f436
%bcond_without dracut
19f436
19f436
# What parts do we want to build?  We must build at least one kernel.
19f436
# These are the kernels that are built IF the architecture allows it.
19f436
# Note that these are regular macros, not the bcond macros defined above,
19f436
# so they can be reassigned inside the spec file.
19f436
19f436
%global buildrt        %{with rt}
19f436
%global builddoc       %{with doc}
19f436
%global builddebug     %{with debug}
19f436
%global buildheaders   %{with headers}
19f436
%global buildvanilla   %{with vanilla}
19f436
%global buildtrace     %{with trace}
19f436
%global buildperf      %{with perf}
19f436
%global buildfirmware  %{with firmware}
19f436
%global builddebuginfo %{with debuginfo}
19f436
19f436
19f436
# Verbose output?
19f436
#%global verbose V=1
19f436
19f436
# use dracut or mkinitrd?
19f436
%global use_dracut    %{with dracut}
19f436
19f436
# Versions of various parts
19f436
19f436
# Polite request for people who spin their own kernel rpms:
19f436
# please modify the "buildid" define in a way that identifies
19f436
# that the kernel isn't the stock distribution kernel, for example,
19f436
# by setting the define to ".local" or ".bz123456"
19f436
#
19f436
# % define buildid .local
19f436
19f436
%global rhel 1
19f436
%if %{rhel}
19f436
%global distro_build  0
19f436
### %global signmodules 1
19f436
%global signmodules 1
19f436
%else
19f436
# fedora_build defines which build revision of this kernel version we're
19f436
# building. Rather than incrementing forever, as with the prior versioning
19f436
# setup, we set fedora_cvs_origin to the current cvs revision s/1.// of the
19f436
# kernel spec when the kernel is rebased, so fedora_build automatically
19f436
# works out to the offset from the rebase, so it doesn't get too ginormous.
19f436
#
19f436
# If you're building on a branch, the RCS revision will be something like
19f436
# 1.1205.1.1.  In this case we drop the initial 1, subtract fedora_cvs_origin
19f436
# from the second number, and then append the rest of the RCS string as is.
19f436
# Don't stare at the awk too long, you'll go blind.
19f436
%global fedora_cvs_origin   1462
19f436
%global fedora_cvs_revision() %2
19f436
%global distro_build %(echo %{fedora_cvs_origin}.%{fedora_cvs_revision $Revision: 1.694 $} | awk -F . '{ OFS = "."; ORS = ""; print $3 - $1 ; i = 4 ; OFS = ""; while (i <= NF) { print ".", $i ; i++} }')
19f436
%global distro_build %{fedora_build}
19f436
%global signmodules 0
19f436
%endif
19f436
19f436
# if patch fuzzy patch applying will be forbidden
19f436
%global with_fuzzy_patches 0
19f436
18be90
%global rpmversion 3.10.0
19f436
19f436
19f436
# What parts do we want to build?  We must build at least one kernel.
19f436
# These are the kernels that are built IF the architecture allows it.
19f436
# All should default to 1 (enabled) and be flipped to 0 (disabled)
19f436
# by later arch-specific checks.
19f436
19f436
# The following build options are enabled by default.
19f436
# Use either --without <opt> in your rpmbuild command or force values
19f436
# to 0 in here to disable them.
19f436
#
19f436
# perf noarch subpkg
19f436
%global with_vdso_install 1
19f436
19f436
# Build the kernel-doc package, but don't fail the build if it botches.
19f436
# Here "true" means "continue" and "false" means "fail the build".
19f436
%global doc_build_fail true
19f436
19f436
# Additional options for user-friendly one-off kernel building:
19f436
# Only build the base kernel (--with baseonly):
19f436
%global with_baseonly  0
19f436
# Only build the debug kernel (--with dbgonly):
19f436
%global with_dbgonly   0
19f436
19f436
# should we do C=1 builds with sparse
19f436
%global with_sparse	%{?_with_sparse:      1} %{?!_with_sparse:      0}
19f436
18be90
%global pkg_release_simple %{rhel_build}.%{rttag}.%{rtbuild}
18be90
18be90
%global pkg_release %{pkg_release_simple}%{?dist}%{?buildid}
19f436
19f436
%global KVERREL %{rpmversion}-%{pkg_release}.%{_target_cpu}
19f436
19f436
# The kernel tarball/base version
18be90
%global kversion %{rpmversion}
19f436
19f436
%global make_target bzImage
19f436
19f436
%global hdrarch %_target_cpu
19f436
%global asmarch %_target_cpu
19f436
19f436
%if !%{builddebuginfo}
19f436
%global _enable_debug_packages 0
19f436
%global fancy_debuginfo 0
19f436
%else
19f436
%global _enable_debug_packages 1
19f436
%global fancy_debuginfo 1
19f436
%endif
19f436
%global debuginfodir /usr/lib/debug
19f436
19f436
# if requested, only build base kernel
19f436
%if %{with_baseonly}
19f436
%global builddebug 0
19f436
%global buildtrace 0
19f436
%global buildvanilla 0
19f436
%global buildperf 0
19f436
%global buildheaders 0
19f436
%global builddebuginfo 0
19f436
%endif
19f436
19f436
# if requested, only build debug kernel
19f436
%if %{with_dbgonly}
19f436
%if %{debugbuildsenabled}
19f436
%global buildrt 0
19f436
%endif
19f436
%global buildperf 0
19f436
%endif
19f436
19f436
%global all_x86 i386 i686
19f436
19f436
%if %{with_vdso_install}
19f436
# These arches install vdso/ directories.
19f436
%global vdso_arches %{all_x86} x86_64
19f436
%endif
19f436
19f436
19f436
# don't do debug builds on anything but i686 and x86_64
19f436
%ifnarch i686 x86_64
19f436
%global builddebug 0
19f436
%endif
19f436
19f436
# only package docs if we're noarch
19f436
%ifnarch noarch
19f436
%global builddoc 0
19f436
%global buildfirmware 0
19f436
%endif
19f436
19f436
# don't build noarch kernels or headers (duh)
19f436
%ifarch noarch
19f436
%global buildrt 0
19f436
%global buildheaders 0
19f436
%global buildperf 0
19f436
%global buildtrace 0
19f436
%global buildvanilla 0
19f436
%global all_arch_configs kernel-%{version}-*.config
19f436
%endif
19f436
19f436
# Per-arch tweaks
19f436
19f436
%global asmarch x86
19f436
%global image_install_path boot
19f436
%global kernel_image arch/x86/boot/bzImage
19f436
19f436
%ifarch %{all_x86}
19f436
%global hdrarch i386
19f436
%global all_arch_configs kernel-%{rpmversion}-i?86-rt*.config
19f436
%endif
19f436
19f436
%ifarch x86_64
19f436
%global all_arch_configs kernel-%{rpmversion}-x86_64-rt*.config
19f436
%endif
19f436
19f436
%global oldconfig_target oldconfig
19f436
5223ee
# Should make listnewconfig fail if there's config options
5223ee
# # printed out?
5223ee
%define listnewconfig_fail 1
5223ee
19f436
# To temporarily exclude an architecture from being built, add it to
19f436
# %nobuildarches. Do _NOT_ use the ExclusiveArch: line, because if we
19f436
# don't build kernel-headers then the new build system will no longer let
19f436
# us use the previous build of that package -- it'll just be completely AWOL.
19f436
# Which is a BadThing(tm).
19f436
19f436
# We don't build a kernel on i386; we only do kernel-headers there,
19f436
# and we no longer build for 31bit S390. Same for 32bit sparc and arm.
19f436
%global nobuildarches i386 i586 i686 s390 sparc sparc64 ppc ia64 %{arm} noarch
19f436
19f436
%ifarch %nobuildarches
19f436
%global buildrt 0
19f436
%global builddebug 0
19f436
%global buildvanilla 0
19f436
%global buildtrace 0
19f436
%global builddebuginfo 0
19f436
%global buildperf 0
19f436
%global _enable_debug_packages 0
19f436
%endif
19f436
19f436
#
19f436
# Three sets of minimum package version requirements in the form of Conflicts:
19f436
# to versions below the minimum
19f436
#
19f436
19f436
#
19f436
# First the general kernel 3.0 required versions as per
19f436
# Documentation/Changes
19f436
#
19f436
%global kernel_dot_org_conflicts  ppp < 2.4.3-3, isdn4k-utils < 3.2-32, nfs-utils < 1.0.7-12, e2fsprogs < 1.37-4, util-linux < 2.12, jfsutils < 1.1.7-2, reiserfs-utils < 3.6.19-2, xfsprogs < 2.6.13-4, procps < 3.2.5-6.3, oprofile < 0.9.1-2, device-mapper-libs < 1.02.63-2, mdadm < 3.2.1-5
19f436
19f436
#
19f436
# Then a series of requirements that are distribution specific, either
19f436
# because we add patches for something, or the older versions have
19f436
# problems with the newer kernel or lack certain things that make
19f436
# integration in the distro harder than needed.
19f436
#
19f436
%global package_conflicts initscripts < 7.23, udev < 145-11, iptables < 1.3.2-1, ipw2200-firmware < 2.4, iwl4965-firmware < 228.57.2, selinux-policy-targeted < 1.25.3-14, squashfs-tools < 4.0, wireless-tools < 29-3
19f436
19f436
# We moved the drm include files into kernel-headers, make sure there's
19f436
# a recent enough libdrm-devel on the system that doesn't have those.
19f436
%global kernel_headers_conflicts libdrm-devel < 2.4.0-0.15
19f436
19f436
#
19f436
# Packages that need to be installed before the kernel is, because the %%post
19f436
# scripts use them.
19f436
#
19f436
%global kernel_prereq  fileutils, module-init-tools >= 3.16-2, initscripts >= 8.11.1-1, grubby >= 8.28-2, rt-setup >= 1.55
19f436
19f436
%if %{use_dracut}
19f436
%global initrd_prereq  dracut-kernel >= 001-7
19f436
%else
19f436
%global initrd_prereq  mkinitrd >= 6.0.61-1
19f436
%endif
19f436
19f436
#
19f436
# This macro does requires, provides, conflicts, obsoletes for a kernel package.
19f436
#	%%kernel_reqprovconf <subpackage>
19f436
# It uses any kernel_<subpackage>_conflicts and kernel_<subpackage>_obsoletes
19f436
# macros defined above.
19f436
#
19f436
%define kernel_reqprovconf \
19f436
Provides: kernel = %{rpmversion}-%{pkg_release}\
19f436
Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}%{?1:.%{1}}\
19f436
Provides: kernel-drm = 4.3.0\
19f436
Provides: kernel-drm-nouveau = 16\
19f436
Provides: kernel-modeset = 1\
19f436
Provides: kernel-uname-r = %{KVERREL}%{?1:.%{1}}\
19f436
Requires(pre): %{kernel_prereq}\
19f436
Requires(pre): %{initrd_prereq}\
54527e
Requires(pre): linux-firmware >= 20150904-43\
19f436
Requires(post): %{_sbindir}/new-kernel-pkg\
19f436
Requires(preun): %{_sbindir}/new-kernel-pkg\
19f436
Conflicts: %{kernel_dot_org_conflicts}\
19f436
Conflicts: %{package_conflicts}\
19f436
%{expand:%%{?kernel%{?1:_%{1}}_conflicts:Conflicts: %%{kernel%{?1:_%{1}}_conflicts}}}\
19f436
%{expand:%%{?kernel%{?1:_%{1}}_obsoletes:Obsoletes: %%{kernel%{?1:_%{1}}_obsoletes}}}\
19f436
%{expand:%%{?kernel%{?1:_%{1}}_provides:Provides: %%{kernel%{?1:_%{1}}_provides}}}\
19f436
# We can't let RPM do the dependencies automatic because it'll then pick up\
19f436
# a correct but undesirable perl dependency from the module headers which\
19f436
# isn't required for the kernel proper to function\
19f436
AutoReq: no\
19f436
AutoProv: yes\
19f436
%{nil}
19f436
19f436
Name: kernel-rt
19f436
Group: System Environment/Kernel
19f436
License: GPLv2
19f436
URL: http://www.kernel.org/
19f436
Version: %{rpmversion}
19f436
Release: %{pkg_release}
19f436
# DO NOT CHANGE THE 'ExclusiveArch' LINE TO TEMPORARILY EXCLUDE AN ARCHITECTURE BUILD.
19f436
# SET %%nobuildarches (ABOVE) INSTEAD
19f436
ExclusiveArch: noarch x86_64
19f436
ExclusiveOS: Linux
19f436
Provides: kernel-rt = %{rpmversion}
19f436
Provides: kernel-rt-drm = 4.3.0
19f436
Provides: kernel-rt-%{_target_cpu} = %{rpmversion}-%{pkg_release}
19f436
19f436
%kernel_reqprovconf
19f436
%ifarch x86_64
19f436
Obsoletes: kernel-smp
19f436
%endif
19f436
19f436
#
19f436
# List the packages used during the kernel build
19f436
#
19f436
BuildRequires: module-init-tools, patch >= 2.5.4, bash >= 2.03, sh-utils, tar
19f436
BuildRequires: bzip2, findutils, gzip, m4, perl, make >= 3.78, diffutils, gawk
19f436
BuildRequires: gcc >= 3.4.2, binutils >= 2.12, redhat-rpm-config
19f436
BuildRequires: hostname, net-tools, patchutils, rpm-build >= 4.8.0-7, bc
19f436
BuildRequires: openssl
19f436
BuildRequires: hmaccalc
19f436
%ifarch x86_64
19f436
BuildRequires: pesign >= 0.109-4
19f436
%endif
19f436
Buildrequires: xz
19f436
%if %{builddoc}
19f436
BuildRequires: xmlto
19f436
BuildRequires: asciidoc
19f436
%endif
19f436
%if %{with_sparse}
19f436
BuildRequires: sparse >= 0.4.1
19f436
%endif
19f436
%if %{buildrt}
19f436
%if %{buildperf}
19f436
BuildRequires: elfutils-libelf-devel zlib-devel binutils-devel newt-devel python-devel perl(ExtUtils::Embed)
19f436
BuildRequires: elfutils-devel asciidoc xmlto
19f436
BuildRequires: audit-libs-devel
19f436
%endif
19f436
%endif
19f436
%if %{signmodules}
19f436
BuildRequires: gnupg
19f436
%endif
19f436
BuildRequires: python
19f436
19f436
BuildConflicts: rhbuildsys(DiskFree) < 7Gb
19f436
19f436
%if %{fancy_debuginfo}
19f436
# Fancy new debuginfo generation introduced in Fedora 8.
19f436
# Note this must be a define since it needs to be overridden in some macro
19f436
# expansions
19f436
%define debuginfo_args --strict-build-id
19f436
%endif
19f436
19f436
Source0: %{name}-%{rpmversion}-%{pkg_release_simple}.tar.xz
19f436
19f436
Source10: sign-modules
19f436
%define modsign_cmd %{SOURCE10}
19f436
Source11: genkey
19f436
Source12: perf
19f436
Source13: perf-archive
19f436
Source14: find-provides
19f436
Source15: merge.pl
19f436
Source17: sanity_check.py
19f436
Source19: extrakeys.pub
19f436
19f436
Source31: x509.genkey
19f436
Source32: extra_certificates
19f436
Source33: securebootca.cer
19f436
Source34: secureboot.cer
19f436
Source35: rheldup3.x509
19f436
Source36: rhelkpatch1.x509
19f436
5223ee
### Configuration files
5223ee
Source50: kernel-%{version}-x86_64-rt.config
5223ee
Source51: kernel-%{version}-x86_64-rt-trace.config
5223ee
Source52: kernel-%{version}-x86_64-rt-debug.config
19f436
5223ee
### Started using a unified SRPM
19f436
54527e
# Bugzilla: 1209952
54527e
#
54527e
# Commit 32b3809 broke the manual kernel build because it depended on
54527e
# variables set in the specfile during the RPM build process.
54527e
#
54527e
# Commit 32b3809 was reverted and the new solution will be applying
54527e
# those changes at the %build section of the specfile.
54527e
Patch001: avoid-debuginfo-hash-collision-scripts.patch
54527e
54527e
# Empty final patch file to facilitate testing of kernel patches
19f436
Patch999999: linux-kernel-test.patch
19f436
19f436
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
19f436
19f436
# Override find_provides to use a script that provides "kernel(symbol) = hash".
19f436
# Pass path of the RPM temp dir containing kabideps to find-provides script.
19f436
# %global _use_internal_dependency_generator 0
19f436
# %global __find_provides %_sourcedir/find-provides %{_tmppath}
19f436
# %global __find_requires /usr/lib/rpm/redhat/find-requires kernel
19f436
19f436
%description
19f436
The kernel-rt package contains the Linux kernel (vmlinuz), the core of any
19f436
Linux operating system.  The kernel handles the basic functions
19f436
of the operating system: memory allocation, process allocation, device
19f436
input and output, etc.
19f436
19f436
This kernel has been compiled withe the RT patch applied and is intended
19f436
for use in deterministic response-time situations
19f436
19f436
19f436
%package doc
19f436
Summary: Various documentation bits found in the kernel source
19f436
Group: Documentation
19f436
%description doc
19f436
This package contains documentation files from the kernel
19f436
source. Various bits of information about the Linux kernel and the
19f436
device drivers shipped with it are documented in these files.
19f436
19f436
You will want to install this package if you need a reference to the
19f436
options that can be passed to Linux kernel modules at load time.
19f436
19f436
19f436
%package headers
19f436
Summary: Header files for the Linux kernel for use by glibc
19f436
Group: Development/System
19f436
Obsoletes: glibc-kernheaders
19f436
Provides: glibc-kernheaders = 3.0-46
19f436
%description headers
19f436
Kernel-headers includes the C header files that specify the interface
19f436
between the Linux kernel and userspace libraries and programs.  The
19f436
header files define structures and constants that are needed for
19f436
building most standard programs and are also needed for rebuilding the
19f436
glibc package.
19f436
19f436
%package firmware
19f436
Summary: Firmware files used by the Linux kernel
19f436
Group: Development/System
19f436
# This is... complicated.
19f436
# Look at the WHENCE file.
19f436
License: GPL+ and GPLv2+ and MIT and Redistributable, no modification permitted
19f436
Provides: kernel-firmware = %{rpmversion}-%{pkg_release}
19f436
Provides: kernel-rt-firmware = %{rpmversion}-%{pkg_release}
19f436
%description firmware
19f436
Kernel-firmware includes firmware files required for some devices to
19f436
operate.
19f436
19f436
%if %{builddebuginfo}
19f436
%package debuginfo-common-%{_target_cpu}
19f436
Summary: Kernel source files used by %{name}-debuginfo packages
19f436
Group: Development/Debug
19f436
%description debuginfo-common-%{_target_cpu}
19f436
This package is required by %{name}-debuginfo subpackages.
19f436
It provides the kernel source files common to all builds.
19f436
%endif
19f436
19f436
%if %{buildrt}
19f436
%if %{buildperf}
19f436
%package -n perf-rt
19f436
Summary: Performance monitoring for the Linux kernel
19f436
Group: Development/System
19f436
Provides: perl(Perf::Trace::Context), perl(Perf::Trace::Core), perl(Perf::Trace::Util)
19f436
License: GPLv2
19f436
Obsoletes: perf
19f436
%description -n perf-rt
19f436
This package provides the supporting documentation for the perf tool
19f436
shipped in each kernel image subpackage.
19f436
%endif
19f436
%endif
19f436
19f436
#
54527e
# this macro creates a kernel-rt-<subpackage>-kvm package
54527e
# %%kernel_kvm_package <subpackage>
54527e
#
54527e
%define kernel_kvm_package() \
54527e
%package %{?1:%{1}-}kvm\
54527e
Summary: KVM modules for package %{name}%{?1:-%{1}}\
54527e
Group: System Environment/Kernel\
54527e
Requires: %{name} = %{version}-%{release}\
54527e
AutoReq: no\
54527e
%description -n %{name}%{?1:-%{1}}-kvm\
54527e
This package provides KVM modules for package %{name}%{?1:-%{1}}.\
54527e
%{nil}
54527e
54527e
#
54527e
# This macro creates a kernel-rt-<subpackage>-kvm-debuginfo package.
54527e
#	%%kernel_kvm_debuginfo_package <subpackage>
54527e
#
54527e
%define kernel_kvm_debuginfo_package() \
54527e
%package %{?1:%{1}-}kvm-debuginfo\
54527e
Summary: Debug information for package %{name}%{?1:-%{1}}-kvm\
54527e
Group: Development/Debug\
54527e
Provides: %{name}%{?1:-%{1}}-kvm-debuginfo-%{_target_cpu} = %{version}-%{release}\
54527e
AutoReqProv: no\
54527e
%description -n %{name}%{?1:-%{1}}-kvm-debuginfo\
54527e
This package provides debug information for package %{name}%{?1:-%{1}}.\
54527e
This is required to use SystemTap with %{name}%{?1:%{1}}-%{KVERREL}.\
54527e
%{expand:%%global debuginfo_args %{?debuginfo_args} -p '/.*/%%{KVERREL}%{?1:\.%{1}}/.*|/.*%%{KVERREL}%{?1:\.%{1}}(\.debug)?' -o debuginfo%{?1}-kvm.list}\
54527e
%{nil}
54527e
54527e
#
19f436
# This macro creates a kernel-<subpackage>-debuginfo package.
19f436
#	%%kernel_debuginfo_package <subpackage>
19f436
#
19f436
%define kernel_debuginfo_package() \
19f436
%package %{?1:%{1}-}debuginfo\
19f436
Summary: Debug information for package %{name}%{?1:-%{1}}\
19f436
Group: Development/Debug\
19f436
Requires: %{name}-debuginfo-common-%{_target_cpu} = %{version}-%{release}\
19f436
Provides: %{name}%{?1:-%{1}}-debuginfo-%{_target_cpu} = %{version}-%{release}\
19f436
AutoReqProv: no\
19f436
%description -n %{name}%{?1:-%{1}}-debuginfo\
19f436
This package provides debug information for package %{name}%{?1:-%{1}}.\
19f436
This is required to use SystemTap with %{name}%{?1:%{1}}-%{KVERREL}.\
19f436
%{expand:%%global debuginfo_args %{?debuginfo_args} -p '/.*/%%{KVERREL}%{?1:\.%{1}}/.*|/.*%%{KVERREL}%{?1:\.%{1}}(\.debug)?' -o debuginfo%{?1}.list}\
19f436
%{nil}
19f436
19f436
#
19f436
# This macro creates a kernel-<subpackage>-devel package.
19f436
#	%%kernel_devel_package <subpackage> <pretty-name>
19f436
#
19f436
%define kernel_devel_package() \
19f436
%package %{?1:%{1}-}devel\
19f436
Summary: Development package for building kernel modules to match the %{?2:%{2} }kernel\
19f436
Group: System Environment/Kernel\
19f436
Provides: kernel-rt%{?1:-%{1}}-devel-%{_target_cpu} = %{version}-%{release}\
19f436
Provides: kernel-rt-devel-%{_target_cpu} = %{version}-%{release}%{?1:.%{1}}\
19f436
Provides: kernel-rt-devel = %{version}-%{release}%{?1:.%{1}}\
19f436
Provides: kernel-rt-devel-uname-r = %{KVERREL}%{?1:.%{1}}\
19f436
AutoReqProv: no\
19f436
Requires(pre): /usr/bin/find\
19f436
%description -n kernel-rt%{?variant}%{?1:-%{1}}-devel\
19f436
This package provides kernel headers and makefiles sufficient to build modules\
19f436
against the %{?2:%{2} }kernel package.\
19f436
%{nil}
19f436
19f436
#
19f436
# This macro creates a kernel-<subpackage> and its -devel and -debuginfo too.
19f436
#	%%define variant_summary The Linux kernel compiled for <configuration>
19f436
#	%%kernel_variant_package [-n <pretty-name>] <subpackage>
19f436
#
19f436
%define kernel_variant_package(n:) \
19f436
%package %1\
19f436
Summary: %{variant_summary}\
19f436
Group: System Environment/Kernel\
19f436
%kernel_reqprovconf\
19f436
%{expand:%%kernel_devel_package %1 %{!?-n:%1}%{?-n:%{-n*}}}\
19f436
%{expand:%%kernel_debuginfo_package %1}\
54527e
%{expand:%%kernel_kvm_package %1}\
54527e
%{expand:%%kernel_kvm_debuginfo_package %1}\
19f436
%{nil}
19f436
19f436
19f436
# First the auxiliary packages of the main kernel package.
19f436
%kernel_devel_package
19f436
%kernel_debuginfo_package
19f436
19f436
%if %{signmodules}
19f436
cp %{SOURCE19} .
19f436
cat <
19f436
###
19f436
### Now generating a PGP key pair to be used for signing modules.
19f436
###
19f436
### If this takes a long time, you might wish to run rngd in the background to
19f436
### keep the supply of entropy topped up.  It needs to be run as root, and
19f436
### should use a hardware random number generator if one is available, eg:
19f436
###
19f436
###     rngd -r /dev/hwrandom
19f436
###
19f436
### If one isn't available, the pseudo-random number generator can be used:
19f436
###
19f436
###     rngd -r /dev/urandom
19f436
###
19f436
EOF
19f436
gpg --homedir . --batch --gen-key %{SOURCE31}
19f436
cat <
19f436
###
19f436
### Key pair generated.
19f436
###
19f436
EOF
19f436
# if there're external keys to be included
19f436
if [ -s %{SOURCE19} ]; then
19f436
	gpg --homedir . --no-default-keyring --keyring kernel.pub --import %{SOURCE19}
19f436
fi
19f436
gpg --homedir . --export --keyring ./kernel.pub Red > extract.pub
19f436
gcc -o scripts/bin2c scripts/bin2c.c
19f436
mkdir crypto/signature
19f436
scripts/bin2c ksign_def_public_key __initdata <extract.pub >crypto/signature/key.h
19f436
%endif
19f436
54527e
# create the production kvm module package
54527e
%kernel_kvm_package
54527e
%kernel_kvm_debuginfo_package
54527e
19f436
# Now, each variant package.
19f436
19f436
%if %{with debug}
19f436
# kernel-rt-debug
19f436
%define variant_summary The Linux kernel compiled with extra debugging enabled
19f436
%kernel_variant_package debug
19f436
%description debug
19f436
The kernel package contains the Linux kernel (vmlinuz), the core of any
19f436
Linux operating system.  The kernel handles the basic functions
19f436
of the operating system:  memory allocation, process allocation, device
19f436
input and output, etc.
19f436
19f436
This variant of the kernel has numerous debugging options enabled.
19f436
It should only be installed when trying to gather additional information
19f436
on kernel bugs, as some of these options impact performance noticably.
19f436
%endif
19f436
19f436
%if %{with trace}
19f436
# kernel-rt-trace
19f436
%define variant_summary The Linux kernel compiled with extra tracing options enabled
19f436
%kernel_variant_package trace
19f436
%description trace
19f436
The kernel package contains the Linux kernel (vmlinuz), the core of any
19f436
Linux operating system.  The kernel handles the basic functions
19f436
of the operating system:  memory allocation, process allocation, device
19f436
input and output, etc.
19f436
19f436
This variant of the kernel has numerous tracing options enabled.
19f436
It should only be installed when trying to gather additional information
19f436
on kernel bugs, as some of these options impact performance noticably.
19f436
%endif
19f436
19f436
%if %{with vanilla}
19f436
# kernel-rt-vanilla
19f436
%define variant_summary The Linux kernel compiled without RT capabilities for debugging
19f436
%kernel_variant_package vanilla
19f436
%description vanilla
19f436
The kernel package contains the Linux kernel (vmlinuz), the core of any
19f436
Linux operating system.  The kernel handles the basic functions
19f436
of the operating system:  memory allocation, process allocation, device
19f436
input and output, etc.
19f436
19f436
This variant of the kernel has the realtime capabilities disabled, but
19f436
has a configuration close to the one used in the realtime kernel.
19f436
It should only be installed when trying to gather additional information
19f436
on kernel bugs.
19f436
%endif
19f436
19f436
%prep
19f436
## ApplyPatch routine
19f436
patch_command='patch -p1 -F1 -s'
19f436
ApplyPatch()
19f436
{
19f436
local patch=$1
19f436
shift
19f436
if [ ! -f $RPM_SOURCE_DIR/$patch ]; then
19f436
echo "Can't find $RPM_SOURCE_DIR/$patch"
19f436
exit 1;
19f436
fi
19f436
case "$patch" in
19f436
*.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
19f436
*.gz) gunzip < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
19f436
*.xz) unxz <  "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;;
19f436
*) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;;
19f436
esac
19f436
}
19f436
19f436
# we don't want a .config file when building firmware: it just confuses the build system
19f436
%define build_firmware \
19f436
   # mv .config .config.firmware_save \
19f436
   make INSTALL_FW_PATH=$RPM_BUILD_ROOT/lib/firmware/%{rpmversion}-%{pkg_release} firmware_install \
19f436
   # mv .config.firmware_save .config \
19f436
   ln -s /lib/firmware/%{rpmversion}-%{pkg_release} $RPM_BUILD_ROOT/lib/firmware/%{rpmversion}-%{pkg_release}.i686 \
19f436
   ln -s /lib/firmware/%{rpmversion}-%{pkg_release} $RPM_BUILD_ROOT/lib/firmware/%{rpmversion}-%{pkg_release}.x86_64 \
19f436
   for kvname in debug trace; do \
19f436
      ln -s /lib/firmware/%{rpmversion}-%{pkg_release} $RPM_BUILD_ROOT/lib/firmware/%{rpmversion}-%{pkg_release}.i686.$kvname \
19f436
      ln -s /lib/firmware/%{rpmversion}-%{pkg_release} $RPM_BUILD_ROOT/lib/firmware/%{rpmversion}-%{pkg_release}.x86_64.$kvname \
19f436
   done \
19f436
   # install firmware files for bfa 3.1.2.1 \
19f436
   pushd $RPM_BUILD_ROOT/lib/firmware/%{rpmversion}-%{pkg_release} \
19f436
   popd
19f436
19f436
19f436
if [ ! -d kernel-%{kversion}/vanilla-%{kversion}/ ]; then
19f436
	rm -f pax_global_header;
19f436
%setup -q -n kernel-%{kversion} -c
54527e
	mv %{name}-%{rpmversion}-%{pkg_release_simple}%{dist} vanilla-%{kversion};
19f436
else
19f436
	cd kernel-%{kversion}/;
19f436
fi
19f436
19f436
if [ -d linux-%{kversion}.%{_target_cpu} ]; then
19f436
  # Just in case we ctrl-c'd a prep already
19f436
  rm -rf deleteme.%{_target_cpu}
19f436
  # Move away the stale away, and delete in background.
19f436
  mv linux-%{kversion}.%{_target_cpu} deleteme.%{_target_cpu}
19f436
  rm -rf deleteme.%{_target_cpu} &
19f436
fi
19f436
5223ee
if [ -L vanilla-%{kversion}/configs ]; then
5223ee
        rm -f vanilla-%{kversion}/configs
5223ee
        mkdir vanilla-%{kversion}/configs
5223ee
fi
5223ee
19f436
cp -rl vanilla-%{kversion} linux-%{kversion}.%{_target_cpu}
19f436
19f436
cd linux-%{kversion}.%{_target_cpu}
19f436
19f436
## Apply Patches here
19f436
ApplyPatch linux-kernel-test.patch
19f436
19f436
# move off upstream version mechanism
19f436
if [ -e localversion-rt ]; then
19f436
   mv -f localversion-rt upstream-localversion-rt
19f436
fi
19f436
19f436
# Any further pre-build tree manipulations happen here.
19f436
19f436
chmod +x scripts/checkpatch.pl
19f436
19f436
# only deal with configs if we are going to build for the arch
19f436
%ifnarch %nobuildarches
19f436
5223ee
# copy the configurations files here
54527e
cp %{SOURCE50} %{SOURCE51} %{SOURCE52} .
19f436
19f436
# now run oldconfig over all the config files
19f436
for i in *.config
19f436
do
19f436
  mv $i .config
19f436
  Arch=`head -1 .config | cut -b 3-`
5223ee
  make %{?cross_opts} ARCH=$Arch listnewconfig | grep -E '^CONFIG_' >.newoptions || true
5223ee
%if %{listnewconfig_fail}
5223ee
  if [ -s .newoptions ]; then
5223ee
    cat .newoptions
5223ee
    exit 1
5223ee
  fi
5223ee
%endif
5223ee
  rm -f .newoptions
5223ee
  make %{?cross_opts} ARCH=$Arch oldnoconfig
19f436
  echo "# $Arch" > configs/$i
19f436
  cat .config >> configs/$i
19f436
done
19f436
# end of kernel config
19f436
%endif
19f436
19f436
# get rid of unwanted files resulting from patch fuzz
19f436
find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null
19f436
19f436
# remove unnecessary SCM files
19f436
find . -name .gitignore -exec rm -f {} \; >/dev/null
19f436
19f436
cd ..
19f436
19f436
###
19f436
### build
19f436
###
19f436
%build
19f436
19f436
%if %{with_sparse}
19f436
%global sparse_mflags	C=1
19f436
%endif
19f436
19f436
%if %{fancy_debuginfo}
19f436
# This override tweaks the kernel makefiles so that we run debugedit on an
19f436
# object before embedding it.  When we later run find-debuginfo.sh, it will
19f436
# run debugedit again.  The edits it does change the build ID bits embedded
19f436
# in the stripped object, but repeating debugedit is a no-op.  We do it
19f436
# beforehand to get the proper final build ID bits into the embedded image.
19f436
# This affects the vDSO images in vmlinux, and the vmlinux image in bzImage.
19f436
export AFTER_LINK=\
19f436
'sh -xc "/usr/lib/rpm/debugedit -b $$RPM_BUILD_DIR -d /usr/src/debug \
19f436
				-i $@ > $@.id"'
19f436
%endif
19f436
19f436
cp_vmlinux()
19f436
{
19f436
  eu-strip --remove-comment -o "$2" "$1"
19f436
}
19f436
19f436
BuildKernel() {
19f436
    MakeTarget=$1
19f436
    KernelImage=$2
19f436
    Flavour=$3
19f436
    InstallName=${4:-vmlinuz}
19f436
19f436
    # Pick the right config file for the kernel we're building
19f436
    suffix=
19f436
    if [ "$Flavour" != "" ]
19f436
    then
19f436
	suffix="-${Flavour}"
19f436
    fi
19f436
    Config=kernel-%{kversion}-%{_target_cpu}-rt${suffix}.config
19f436
    DevelDir=/usr/src/kernels/%{KVERREL}${Flavour:+.${Flavour}}
19f436
19f436
    # When the bootable image is just the ELF kernel, strip it.
19f436
    # We already copy the unstripped file into the debuginfo package.
19f436
    if [ "$KernelImage" = vmlinux ]; then
19f436
      CopyKernel=cp_vmlinux
19f436
    else
19f436
      CopyKernel=cp
19f436
    fi
19f436
19f436
    KernelVer=%{version}-%{release}.%{_target_cpu}${Flavour:+.${Flavour}}
19f436
    echo BUILDING A KERNEL FOR ${Flavour} %{_target_cpu}...
19f436
19f436
    # make sure EXTRAVERSION says what we want it to say
19f436
    perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -%{release}.%{_target_cpu}${Flavour:+.${Flavour}}/" Makefile
19f436
19f436
    # if pre-rc1 devel kernel, must fix up SUBLEVEL for our versioning scheme
19f436
    %if !0%{?rcrev}
19f436
    %if 0%{?gitrev}
19f436
    perl -p -i -e 's/^SUBLEVEL.*/SUBLEVEL = %{upstream_sublevel}/' Makefile
19f436
    %endif
19f436
    %endif
19f436
19f436
    # and now to start the build process
19f436
19f436
    make -s mrproper
19f436
19f436
    cp configs/$Config .config
19f436
    echo USING CONFIG configs/$Config
19f436
19f436
    Arch=`head -1 .config | cut -b 3-`
19f436
    echo USING ARCH=$Arch
19f436
100b38
    # hack to help solving the debuginfo hash collision
100b38
    export KernelVer
100b38
19f436
    make -s ARCH=$Arch %{oldconfig_target} > /dev/null
19f436
    make -s ARCH=$Arch %{?verbose} %{?_smp_mflags} $MakeTarget %{?sparse_mflags}
19f436
    make -s ARCH=$Arch %{?verbose} %{?_smp_mflags} modules %{?sparse_mflags} || exit 1
19f436
19f436
%if %{buildrt}
19f436
%if %{buildperf}
19f436
    if [ -z "$Flavour" ]; then
19f436
        pushd tools/perf
19f436
        chmod +x util/generate-cmdlist.sh util/PERF-VERSION-GEN
19f436
        ### make -s %{?_smp_mflags} %{?verbose} DESTDIR=$RPM_BUILD_ROOT prefix=/usr install
19f436
        make -s %{?verbose} %{?_smp_mflags} NO_DEMANGLE=1 perf
19f436
        mkdir -p $RPM_BUILD_ROOT/usr/libexec/
19f436
        install -m 755 perf $RPM_BUILD_ROOT/usr/libexec/perf.%{KVERREL}%{?Flavour:+.%{Flavour}}
19f436
        popd
19f436
    fi
19f436
%endif
19f436
%endif
19f436
19f436
    # Start installing the results
19f436
%if %{builddebuginfo}
19f436
    mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/boot
19f436
    mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/%{image_install_path}
19f436
    install -m 644 System.map $RPM_BUILD_ROOT/%{debuginfodir}/boot/System.map-$KernelVer
19f436
%endif
19f436
    mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
19f436
    install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
19f436
    install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer
19f436
%if %{use_dracut}
19f436
    # We estimate the size of the initramfs because rpm needs to take this size
19f436
    # into consideration when performing disk space calculations. (See bz #530778)
19f436
    dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initramfs-$KernelVer.img bs=1M count=20
19f436
%else
19f436
    dd if=/dev/zero of=$RPM_BUILD_ROOT/boot/initrd-$KernelVer.img bs=1M count=5
19f436
%endif
19f436
    if [ -f arch/$Arch/boot/zImage.stub ]; then
19f436
      cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || :
19f436
    fi
19f436
# EFI SecureBoot signing, x86_64-only
19f436
%ifarch x86_64
19f436
    %pesign -s -i $KernelImage -o $KernelImage.signed -a %{SOURCE33} -c %{SOURCE34} -n redhatsecureboot301
19f436
    mv $KernelImage.signed $KernelImage
19f436
%endif
19f436
    $CopyKernel $KernelImage $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
19f436
    chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
19f436
19f436
    # hmac sign the kernel for FIPS
19f436
    echo "Creating hmac file: $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac"
19f436
    ls -l $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
19f436
    sha512hmac $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer | sed -e "s,$RPM_BUILD_ROOT,," > $RPM_BUILD_ROOT/%{image_install_path}/.vmlinuz-$KernelVer.hmac;
19f436
19f436
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
19f436
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/kernel
19f436
    if [ "$Flavour" != "kdump" ]; then
19f436
        # Override $(mod-fw) because we don't want it to install any firmware
19f436
        # we'll get it from the linux-firmware package and we don't want conflicts
19f436
        make -s %{?cross_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer mod-fw=
19f436
    fi
19f436
%ifarch %{vdso_arches}
19f436
    make -s %{?cross_opts} ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT vdso_install KERNELRELEASE=$KernelVer
19f436
    if [ ! -s ldconfig-kernel.conf ]; then
19f436
      echo > ldconfig-kernel.conf "\
19f436
# Placeholder file, no vDSO hwcap entries used in this kernel."
19f436
    fi
19f436
    %{__install} -D -m 444 ldconfig-kernel.conf \
19f436
        $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernel-rt-$KernelVer.conf
19f436
%endif
19f436
19f436
    # And save the headers/makefiles etc for building modules against
19f436
    #
19f436
    # This all looks scary, but the end result is supposed to be:
19f436
    # * all arch relevant include/ files
19f436
    # * all Makefile/Kconfig files
19f436
    # * all script/ files
19f436
19f436
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
19f436
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source
19f436
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
19f436
    (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source)
19f436
    # dirs for additional modules per module-init-tools, kbuild/modules.txt
19f436
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra
19f436
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates
19f436
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/weak-updates
19f436
    # first copy everything
19f436
    cp --parents `find  -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
19f436
    # now nuke the MRG directory
19f436
    # TODO: figure out of we need this or not
19f436
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/MRG
19f436
19f436
    cp System.map $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
19f436
    if [ -s Module.markers ]; then
19f436
      cp Module.markers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
19f436
    fi
19f436
19f436
    # then drop all but the needed Makefiles/Kconfig files
19f436
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation
19f436
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts
19f436
    rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
19f436
    cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
19f436
    cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
19f436
    if [ -d arch/$Arch/scripts ]; then
19f436
      cp -a arch/$Arch/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || :
19f436
    fi
19f436
    if [ -f arch/$Arch/*lds ]; then
19f436
      cp -a arch/$Arch/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || :
19f436
    fi
19f436
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o
19f436
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o
19f436
19f436
    # hack to remove .build-id conflict with RHEL kernel debuginfo
19f436
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/conmakehash
19f436
    rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/pnmtologo
19f436
19f436
    if [ -d arch/%{asmarch}/include ]; then
19f436
          cp -a --parents arch/%{asmarch}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/
19f436
    fi
19f436
    mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
19f436
    cd include
19f436
    cp -a $(echo * | sed -e 's/^asm$//') $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
19f436
    #cp -a acpi config crypto keys linux math-emu media mtd net pcmcia rdma rxrpc scsi sound trace video drm asm-generic generated xen $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
19f436
    if [ -L asm ]; then
19f436
      asmdir=$(readlink asm)
19f436
      cp -a $asmdir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/
19f436
      pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
19f436
      ln -s $asmdir asm
19f436
      popd
19f436
    fi
19f436
    # Make sure the Makefile and vermagic.h have a matching timestamp so that
19f436
    # external modules can be built
19f436
    touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/vermagic.h
19f436
    touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/autoconf.h
19f436
    # Copy .config to include/config/auto.conf so "make prepare" is unnecessary.
19f436
    cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf
19f436
    cd ..
19f436
19f436
    #
19f436
    # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm
19f436
    #
19f436
%if %{builddebuginfo}
19f436
    mkdir -p $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
19f436
    cp vmlinux $RPM_BUILD_ROOT%{debuginfodir}/lib/modules/$KernelVer
19f436
%endif
19f436
19f436
    find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames
19f436
19f436
    # mark modules executable so that strip-to-file can strip them
19f436
    xargs --no-run-if-empty chmod u+x < modnames
19f436
19f436
    # Generate a list of modules for block and networking.
19f436
19f436
    grep -F /drivers/ modnames | xargs --no-run-if-empty nm -upA |
19f436
    sed -n 's,^.*/\([^/]*\.ko\):  *U \(.*\)$,\1 \2,p' > drivers.undef
19f436
19f436
    collect_modules_list()
19f436
    {
19f436
      sed -r -n -e "s/^([^ ]+) \\.?($2)\$/\\1/p" drivers.undef |
19f436
      LC_ALL=C sort -u > $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
19f436
      if [ ! -z "$3" ]; then
19f436
        sed -r -e "/^($3)\$/d" -i $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$1
19f436
      fi
19f436
    }
19f436
19f436
    collect_modules_list networking 'register_netdev|ieee80211_register_hw|usbnet_probe|phy_driver_register|rt2x00(pci|usb)_probe|register_netdevice'
19f436
    collect_modules_list block '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'
19f436
    collect_modules_list drm 'drm_open|drm_init'
19f436
    collect_modules_list modesetting 'drm_crtc_init'
54527e
    collect_modules_list kvm 'kvm_init'
19f436
19f436
    # detect missing or incorrect license tags
19f436
    rm -f modinfo
19f436
    while read i
19f436
    do
19f436
      echo -n "${i#$RPM_BUILD_ROOT/lib/modules/$KernelVer/} " >> modinfo
19f436
      /sbin/modinfo -l $i >> modinfo
19f436
    done < modnames
19f436
19f436
    egrep -v \
19f436
    	  'GPL( v2)?$|Dual BSD/GPL$|Dual MPL/GPL$|GPL and additional rights$' \
19f436
	  modinfo && exit 1
19f436
19f436
    rm -f modinfo modnames
19f436
19f436
    # Save off the .tmp_versions/ directory.  We'll use it in the
19f436
    # __debug_install_post macro below to sign the right things
19f436
    # Also save the signing keys so we actually sign the modules with the
19f436
    # right key.
19f436
    cp -r .tmp_versions .tmp_versions.sign${Flavour:+.${Flavour}}
19f436
    cp signing_key.priv signing_key.priv.sign${Flavour:+.${Flavour}}
19f436
    cp signing_key.x509 signing_key.x509.sign${Flavour:+.${Flavour}}
19f436
19f436
    # remove files that will be auto generated by depmod at rpm -i time
19f436
    for i in alias alias.bin ccwmap dep dep.bin ieee1394map inputmap isapnpmap ofmap pcimap seriomap symbols symbols.bin usbmap
19f436
    do
19f436
      rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.$i
19f436
    done
19f436
19f436
    # Move the devel headers out of the root file system
19f436
    mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
19f436
    mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
19f436
    ln -sf ../../../..$DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
19f436
    # copy Module.symvers
19f436
    cp Module.symvers $RPM_BUILD_ROOT/$DevelDir
19f436
}
19f436
19f436
###
19f436
# DO it...
19f436
###
19f436
19f436
# prepare directories
19f436
rm -rf $RPM_BUILD_ROOT
19f436
mkdir -p $RPM_BUILD_ROOT/boot
19f436
19f436
cd linux-%{kversion}.%{_target_cpu}
19f436
54527e
# Bugzilla: 1209952
54527e
#
54527e
# Commit 32b3809 broke the manual kernel build because it depended on
54527e
# variables set in the specfile during the RPM build process.
54527e
#
54527e
# Commit 32b3809 was reverted and the new solution will be applying
54527e
# those changes at the %build section of the specfile.
54527e
patch -p1 < $RPM_SOURCE_DIR/avoid-debuginfo-hash-collision-scripts.patch > /dev/null
54527e
19f436
%if %{builddebug}
19f436
BuildKernel %make_target %kernel_image debug
19f436
%endif
19f436
19f436
%if %{buildtrace}
19f436
BuildKernel %make_target %kernel_image trace
19f436
%endif
19f436
19f436
%if %{buildvanilla}
19f436
BuildKernel %make_target %kernel_image vanilla
19f436
%endif
19f436
19f436
# maybe %if %{buildrt}
19f436
%if %{buildrt}
19f436
BuildKernel %make_target %kernel_image
19f436
%endif
19f436
19f436
%if %{builddoc}
19f436
# Make the HTML and man pages.
19f436
make -j1 htmldocs mandocs || %{doc_build_fail}
19f436
19f436
# sometimes non-world-readable files sneak into the kernel source tree
19f436
chmod -R a=rX Documentation
19f436
find Documentation -type d | xargs chmod u+w
19f436
%endif
19f436
19f436
%if %{buildrt}
19f436
%if %{buildperf}
19f436
pushd tools/perf
19f436
make %{?_smp_mflags} man || %{doc_build_fail}
19f436
popd
19f436
%endif
19f436
%endif
19f436
# In the modsign case, we do 3 things.  1) We check the "flavour" and hard
19f436
# code the value in the following invocations.  This is somewhat sub-optimal
19f436
# but we're doing this inside of an RPM macro and it isn't as easy as it
19f436
# could be because of that.  2) We restore the .tmp_versions/ directory from
19f436
# the one we saved off in BuildKernel above.  This is to make sure we're
19f436
# signing the modules we actually built/installed in that flavour.  3) We
19f436
# grab the arch and invoke 'make modules_sign' and the mod-extra-sign.sh
19f436
# commands to actually sign the modules.
19f436
#
19f436
# We have to do all of those things _after_ find-debuginfo runs, otherwise
19f436
# that will strip the signature off of the modules.
19f436
#
19f436
# Finally, pick a module at random and check that it's signed and fail the build
19f436
# if it isn't.
19f436
19f436
%ifnarch noarch
19f436
%define __modsign_install_post \
19f436
   if [ "%{with_rt}" -ne "0" ]; then \
19f436
      Arch=`head -1 configs/kernel-%{version}-%{_target_cpu}-rt.config | cut -b 3-` \
19f436
      rm -rf .tmp_versions \
19f436
      mv .tmp_versions.sign .tmp_versions \
19f436
      mv signing_key.priv.sign signing_key.priv \
19f436
      mv signing_key.x509.sign signing_key.x509 \
19f436
      %{modsign_cmd} $RPM_BUILD_ROOT/lib/modules/%{KVERREL} || exit 1 \
19f436
   fi\
54527e
   for AAA in %{?with_trace:trace} %{?with_debug:debug} %{?with_vanilla:vanilla}; do \
5223ee
      Arch=`head -1 configs/kernel-%{version}-%{_target_cpu}-rt-${AAA}.config | cut -b 3-` \
19f436
      rm -rf .tmp_versions \
19f436
      mv .tmp_versions.sign.${AAA} .tmp_versions \
19f436
      mv signing_key.priv.sign.${AAA} signing_key.priv \
19f436
      mv signing_key.x509.sign.${AAA} signing_key.x509 \
19f436
      %{modsign_cmd} $RPM_BUILD_ROOT/lib/modules/%{KVERREL}.${AAA} || exit 1 \
19f436
   done \
19f436
%{nil}
19f436
%endif
19f436
19f436
###
19f436
### Special hacks for debuginfo subpackages.
19f436
###
19f436
19f436
# This macro is used by %%install, so we must redefine it before that.
19f436
%global debug_package %{nil}
19f436
19f436
%if %{fancy_debuginfo}
19f436
%define __debug_install_post \
19f436
  /usr/lib/rpm/find-debuginfo.sh %{debuginfo_args} %{_builddir}/%{?buildsubdir}\
19f436
%{nil}
19f436
%endif
19f436
19f436
%if %{builddebuginfo}
19f436
%ifnarch noarch
19f436
%global __debug_package 1
19f436
%files -f debugfiles.list debuginfo-common-%{_target_cpu}
19f436
%defattr(-,root,root)
19f436
%endif
19f436
%endif
19f436
19f436
#
19f436
# Disgusting hack alert! We need to ensure we sign modules *after* all
19f436
# invocations of strip occur, which is in __debug_install_post if
19f436
# find-debuginfo.sh runs, and __os_install_post if not.
19f436
#
19f436
%ifnarch noarch
19f436
%define __spec_install_post \
19f436
  %{?__debug_package:%{__debug_install_post}}\
19f436
  %{__arch_install_post}\
19f436
  %{__os_install_post}\
19f436
  %{__modsign_install_post}\
19f436
%{nil}
19f436
%endif
19f436
19f436
###
19f436
### install
19f436
###
19f436
19f436
%install
19f436
# for some reason, on RHEL-5 RPM_BUILD_ROOT doesn't get set
19f436
if [ -z "$RPM_BUILD_ROOT" ]; then
19f436
	export RPM_BUILD_ROOT="%{buildroot}";
19f436
fi
19f436
19f436
cd linux-%{kversion}.%{_target_cpu}
19f436
19f436
%if %{builddoc}
19f436
docdir=$RPM_BUILD_ROOT%{_datadir}/doc/kernel-rt-doc-%{rpmversion}
19f436
man9dir=$RPM_BUILD_ROOT%{_datadir}/man/man9rt
19f436
19f436
# copy the source over
19f436
mkdir -p $docdir
19f436
tar -f - --exclude=man --exclude='.*' --exclude=*.xml --exclude=*.tmpl -c Documentation | tar xf - -C $docdir
19f436
19f436
# Install man pages for the kernel API.
19f436
mkdir -p $man9dir
19f436
find Documentation/DocBook/man -name '*.9.gz' -print0 |
19f436
xargs -0 --no-run-if-empty %{__install} -m 444 -t $man9dir $m
19f436
ls $man9dir | grep -q '' || > $man9dir/BROKEN
19f436
%endif # builddoc
19f436
19f436
# perf docs
19f436
%if %{buildrt}
19f436
%if %{buildperf}
19f436
mandir=$RPM_BUILD_ROOT%{_datadir}/man
19f436
man1dir=$mandir/man1
19f436
pushd tools/perf/Documentation
19f436
make install-man mandir=$mandir
19f436
popd
19f436
19f436
pushd $man1dir
19f436
for d in *.1; do
19f436
 gzip $d;
19f436
done
19f436
popd
19f436
19f436
# perf shell wrapper
19f436
mkdir -p $RPM_BUILD_ROOT/usr/sbin/
19f436
cp $RPM_SOURCE_DIR/perf $RPM_BUILD_ROOT/usr/sbin/perf
19f436
chmod 0755 $RPM_BUILD_ROOT/usr/sbin/perf
19f436
cp $RPM_SOURCE_DIR/perf-archive $RPM_BUILD_ROOT/usr/sbin/perf-archive
19f436
chmod 0755 $RPM_BUILD_ROOT/usr/sbin/perf-archive
19f436
mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/perf
19f436
%endif # buildperf
19f436
%endif
19f436
19f436
%if %{buildheaders}
19f436
# Install kernel headers
19f436
make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install
19f436
19f436
# Do headers_check but don't die if it fails.
19f436
make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_check \
19f436
     > hdrwarnings.txt || :
19f436
if grep -q exist hdrwarnings.txt; then
19f436
   sed s:^$RPM_BUILD_ROOT/usr/include/:: hdrwarnings.txt
19f436
   # Temporarily cause a build failure if header inconsistencies.
19f436
   # exit 1
19f436
fi
19f436
19f436
find $RPM_BUILD_ROOT/usr/include \
19f436
     \( -name .install -o -name .check -o \
19f436
     	-name ..install.cmd -o -name ..check.cmd \) | xargs rm -f
19f436
19f436
# glibc provides scsi headers for itself, for now
19f436
rm -rf $RPM_BUILD_ROOT/usr/include/scsi
19f436
rm -f $RPM_BUILD_ROOT/usr/include/asm*/atomic.h
19f436
rm -f $RPM_BUILD_ROOT/usr/include/asm*/io.h
19f436
rm -f $RPM_BUILD_ROOT/usr/include/asm*/irq.h
19f436
%endif
19f436
19f436
%if %{buildfirmware}
19f436
%{build_firmware}
19f436
mkdir -p $RPM_BUILD_ROOT%{_datadir}/doc/kernel-rt-%{rpmversion}-%{pkg_release}/firmware
19f436
cp firmware/WHENCE $RPM_BUILD_ROOT%{_datadir}/doc/kernel-rt-%{rpmversion}-%{pkg_release}/firmware
19f436
%endif
19f436
19f436
###
19f436
### clean
19f436
###
19f436
19f436
%clean
19f436
rm -rf $RPM_BUILD_ROOT
19f436
19f436
###
19f436
### scripts
19f436
###
19f436
19f436
#
19f436
# This macro defines a %%post script for a kernel*-devel package.
19f436
#	%%kernel_devel_post [<subpackage>]
19f436
#
19f436
%define kernel_devel_post() \
19f436
%{expand:%%post %{?1:%{1}-}devel}\
19f436
if [ -f /etc/sysconfig/kernel ]\
19f436
then\
19f436
    . /etc/sysconfig/kernel || exit $?\
19f436
fi\
19f436
if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ]\
19f436
then\
19f436
    (cd /usr/src/kernels/%{KVERREL}%{?1:.%{1}} &&\
19f436
     /usr/bin/find . -type f | while read f; do\
19f436
       hardlink -c /usr/src/kernels/*.fc*.*/$f $f\
19f436
     done)\
19f436
fi\
19f436
%{nil}
19f436
19f436
# This macro defines a %%posttrans script for a kernel package.
19f436
#	%%kernel_variant_posttrans [<subpackage>]
19f436
# More text can follow to go at the end of this variant's %%post.
19f436
#
19f436
# grubby might be called during installation when a boot loader configuration
19f436
# file is not present, so just drop any error messages. See BZ#610813 for
19f436
# more details.
19f436
%define kernel_variant_posttrans() \
19f436
%{expand:%%posttrans %{?1}}\
19f436
%{expand:\
19f436
NEWKERNARGS=""\
19f436
(/sbin/grubby --info=`/sbin/grubby --default-kernel`) 2>/dev/null | grep -q crashkernel\
19f436
if [ $? -ne 0 ]\
19f436
then\
19f436
	NEWKERNARGS="--kernel-args=\"crashkernel=auto\""\
19f436
fi\
19f436
NKPARGS="--mkinitrd --depmod --update"\
19f436
%if %{use_dracut}\
19f436
NKPARGS="$NKPARGS --dracut"\
19f436
%endif\
19f436
/sbin/new-kernel-pkg --package kernel-rt $NKPARGS %{KVERREL}%{?1:.%{1}} $NEWKERNARGS || exit $?\
19f436
}\
19f436
/sbin/new-kernel-pkg --package kernel-rt --rpmposttrans %{KVERREL}%{?1:.%{1}} || exit $?\
19f436
%{nil}
19f436
19f436
#
19f436
# This macro defines a %%post script for a kernel package and its devel package.
19f436
#	%%kernel_variant_post [-v <subpackage>] [-r <replace>]
19f436
# More text can follow to go at the end of this variant's %%post.
19f436
#
19f436
%define kernel_variant_post(v:r:) \
19f436
%{expand:%%kernel_devel_post %{?-v*}}\
19f436
%{expand:%%kernel_variant_posttrans %{?-v*}}\
19f436
%{expand:%%post %{?-v*}}\
19f436
%{expand:\
19f436
/sbin/new-kernel-pkg --package kernel-rt %{!?-v:--make-default} --install %{KVERREL}%{?-v:.%{-v*}} || exit $?\
19f436
}\
19f436
[ -d /lib/firmware/updates ] || mkdir -p /lib/firmware/updates\
19f436
ln -sf /lib/firmware/mrg-rt-firmware /lib/firmware/updates/%{KVERREL}%{?1:.%{1}}\
19f436
%{nil}
19f436
54527e
# This macro defines a %%post script for a kernel-rt-kvm package.
54527e
#	%%kernel_kvm_variant_post <subpackage>
54527e
#
54527e
%define kernel_kvm_variant_post() \
54527e
%{expand:%%post %{?1:%{1}-}kvm}\
54527e
depmod %{KVERREL}%{?1:.%{1}} || exit $?\
54527e
%{nil}
19f436
19f436
# This macro defines a %%preun script for a kernel package.
19f436
#	%%kernel_variant_preun <subpackage>
19f436
#
19f436
%define kernel_variant_preun() \
19f436
%{expand:%%preun %{?1}}\
19f436
/sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}%{?1:.%{1}} || exit $?\
19f436
%{nil}
19f436
54527e
# This macro defines a %%postun script for a kernel-rt-kvm package.
54527e
#	%%kernel_kvm_variant_postun <subpackage>
54527e
#
54527e
%define kernel_kvm_variant_postun() \
54527e
%{expand:%%postun %{?1:%{1}-}kvm}\
54527e
depmod %{KVERREL}%{?1:.%{1}} || exit $?\
54527e
%{nil}
54527e
19f436
%kernel_variant_preun
19f436
%kernel_variant_post
54527e
%kernel_kvm_variant_post
54527e
%kernel_kvm_variant_postun
19f436
19f436
%if %{with debug}
19f436
# kernel-rt-debug %post script
19f436
%kernel_variant_preun debug
19f436
%kernel_variant_post -v debug
54527e
%kernel_kvm_variant_post debug
54527e
%kernel_kvm_variant_postun debug
19f436
%endif
19f436
19f436
%if %{with trace}
19f436
# kernel-rt-trace %post script
19f436
%kernel_variant_preun trace
19f436
%kernel_variant_post -v trace
54527e
%kernel_kvm_variant_post trace
54527e
%kernel_kvm_variant_postun trace
19f436
%endif
19f436
19f436
%if %{with vanilla}
19f436
# kernel-rt-vanilla %post script
19f436
%kernel_variant_preun vanilla
19f436
%kernel_variant_post -v vanilla
54527e
%kernel_kvm_variant_post vanilla
54527e
%kernel_kvm_variant_postun vanilla
19f436
%endif
19f436
19f436
if [ -x /sbin/ldconfig ]
19f436
then
19f436
    /sbin/ldconfig -X || exit $?
19f436
fi
19f436
19f436
###
19f436
### file lists
19f436
###
19f436
19f436
%if %{buildheaders}
19f436
%files headers
19f436
%defattr(-,root,root)
19f436
/usr/include/*
19f436
%endif
19f436
19f436
%if %{buildfirmware}
19f436
%files firmware
19f436
%defattr(-,root,root)
19f436
/lib/firmware/*
19f436
%doc %{_datadir}/doc/kernel-rt-%{rpmversion}-%{pkg_release}/firmware/WHENCE
19f436
%endif
19f436
19f436
# only some architecture builds need kernel-doc
19f436
%if %{builddoc}
19f436
%files doc
19f436
%defattr(-,root,root)
19f436
%{_datadir}/doc/kernel-rt-doc-%{rpmversion}/Documentation/*
19f436
%dir %{_datadir}/doc/kernel-rt-doc-%{rpmversion}/Documentation
19f436
%dir %{_datadir}/doc/kernel-rt-doc-%{rpmversion}
19f436
%{_datadir}/man/man9rt/*
19f436
%endif
19f436
19f436
%if %{buildrt}
19f436
%if %{buildperf}
19f436
%files -n perf-rt
19f436
%defattr(-,root,root)
19f436
/usr/sbin/perf
19f436
/usr/sbin/perf-archive
19f436
/usr/libexec/*
19f436
%{_datadir}/man/man1/*
19f436
%{_datadir}/doc/perf
19f436
%endif
19f436
%endif
19f436
19f436
# This is %{image_install_path} on an arch where that includes ELF files,
19f436
# or empty otherwise.
19f436
%global elf_image_install_path %{?kernel_image_elf:%{image_install_path}}
19f436
19f436
#
19f436
# This macro defines the %%files sections for a kernel package
19f436
# and its devel and debuginfo packages.
19f436
#	%%kernel_variant_files [-k vmlinux] <condition> <subpackage>
19f436
#
19f436
%define kernel_variant_files(k:) \
19f436
%if %{1}\
19f436
%{expand:%%files %{?2}}\
19f436
%defattr(-,root,root)\
19f436
/%{image_install_path}/%{?-k:%{-k*}}%{!?-k:vmlinuz}-%{KVERREL}%{?2:.%{2}}\
19f436
/%{image_install_path}/.vmlinuz-%{KVERREL}%{?2:.%{2}}.hmac\
19f436
/boot/System.map-%{KVERREL}%{?2:.%{2}}\
19f436
/boot/config-%{KVERREL}%{?2:.%{2}}\
54527e
%exclude /lib/modules/%{KVERREL}%{?2:.%{2}}/kernel/arch/x86/kvm\
54527e
%exclude /lib/modules/%{KVERREL}%{?2:.%{2}}/modules.kvm\
19f436
%dir /lib/modules/%{KVERREL}%{?2:.%{2}}\
19f436
/lib/modules/%{KVERREL}%{?2:.%{2}}/kernel\
19f436
/lib/modules/%{KVERREL}%{?2:.%{2}}/extra\
19f436
/lib/modules/%{KVERREL}%{?2:.%{2}}/build\
19f436
/lib/modules/%{KVERREL}%{?2:.%{2}}/source\
19f436
/lib/modules/%{KVERREL}%{?2:.%{2}}/updates\
19f436
/lib/modules/%{KVERREL}%{?2:.%{2}}/weak-updates\
19f436
%ifarch %{vdso_arches}\
19f436
/lib/modules/%{KVERREL}%{?2:.%{2}}/vdso\
19f436
/etc/ld.so.conf.d/kernel-rt-%{KVERREL}%{?2:.%{2}}.conf\
19f436
%endif\
19f436
/lib/modules/%{KVERREL}%{?2:.%{2}}/modules.*\
19f436
%if %{use_dracut}\
19f436
%ghost /boot/initramfs-%{KVERREL}%{?2:.%{2}}.img\
19f436
%else\
19f436
%ghost /boot/initrd-%{KVERREL}%{?2:.%{2}}.img\
19f436
%endif\
19f436
%{expand:%%files %{?2:%{2}-}devel}\
19f436
%defattr(-,root,root)\
19f436
%dir /usr/src/kernels\
19f436
/usr/src/kernels/%{KVERREL}%{?2:.%{2}}\
19f436
%if %{builddebuginfo}\
19f436
%ifnarch noarch\
19f436
%if %{builddebuginfo}\
19f436
%if %{fancy_debuginfo}\
19f436
%{expand:%%files -f debuginfo%{?2}.list %{?2:%{2}-}debuginfo}\
19f436
%{debuginfodir}/boot/System.map-%{KVERREL}%{?2:.%{2}}\
19f436
%else\
19f436
%{expand:%%files %{?2:%{2}-}debuginfo}\
19f436
%endif\
19f436
%endif\
19f436
%defattr(-,root,root)\
19f436
%if %{builddebuginfo}\
19f436
%if !%{fancy_debuginfo}\
19f436
%if "%{elf_image_install_path}" != ""\
19f436
%{debuginfodir}/%{elf_image_install_path}/*-%{KVERREL}%{?2:.%{2}}.debug\
19f436
%endif\
19f436
%endif\
54527e
%exclude %{debuginfodir}/lib/modules/%{KVERREL}%{?2:.%{2}}/kernel/arch/x86/kvm\
19f436
%{debuginfodir}/lib/modules/%{KVERREL}%{?2:.%{2}}\
19f436
%{debuginfodir}/usr/src/kernels/%{KVERREL}%{?2:.%{2}}\
19f436
%{debuginfodir}/boot/System.map-%{KVERREL}%{?2:.%{2}}\
19f436
%endif\
19f436
%endif\
19f436
%endif\
19f436
%endif\
54527e
%ifnarch noarch\
54527e
%{expand:%%files %{?2:%{2}-}kvm}\
54527e
/lib/modules/%{KVERREL}%{?2:.%{2}}/modules.kvm\
54527e
/lib/modules/%{KVERREL}%{?2:.%{2}}/kernel/arch/x86/kvm\
54527e
%{expand:%%files %{?2:%{2}-}kvm-debuginfo}\
54527e
%dir %{debuginfodir}/lib/modules/%{KVERREL}%{?2:.%{2}}/kernel/arch/x86/kvm\
54527e
%{debuginfodir}/lib/modules/%{KVERREL}%{?2:.%{2}}/kernel/arch/x86/kvm\
54527e
%endif\
19f436
%{nil}
19f436
19f436
%kernel_variant_files %{buildrt}
19f436
19f436
%if %{builddebug}
19f436
%kernel_variant_files %{builddebug} debug
19f436
%endif
19f436
19f436
%if %{buildtrace}
19f436
%kernel_variant_files %{buildtrace} trace
19f436
%endif
19f436
19f436
%if %{buildvanilla}
19f436
%kernel_variant_files %{buildvanilla} vanilla
19f436
%endif
19f436
19f436
%changelog
54527e
* Thu Oct 29 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-327.rt56.204.el7]
54527e
- [rt] merged kernel-3.10.0-327.el7 [1201915]
54527e
- [rt] nohz: enable nohz if nohz_full encountered on boot command line [1276071]
54527e
54527e
* Fri Oct 23 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-326.rt56.203.el7]
54527e
- [rt] merged kernel-3.10.0-326.el7 [1201915]
54527e
54527e
* Mon Oct 19 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-325.rt56.202.el7]
54527e
- [rt] merged kernel-3.10.0-325.el7 [1201915]
54527e
54527e
* Wed Oct 14 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-324.rt56.201.el7]
54527e
- [rt] merged kernel-3.10.0-324.el7 [1201915]
54527e
54527e
* Mon Oct 12 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-323.rt56.200.el7]
54527e
- [rt] merged kernel-3.10.0-323.el7 [1201915]
3c52ec
54527e
* Tue Oct 06 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-322.rt56.199.el7]
54527e
- [rt] merged kernel-3.10.0-322.el7 [1201915]
a522aa
54527e
* Thu Oct 01 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-321.rt56.198.el7]
54527e
- [rt] perf: set the perf hrtimer handler to irqsafe [1196232]
a522aa
54527e
* Wed Sep 30 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-321.rt56.197.el7]
54527e
- [rt] merged kernel-3.10.0-321.el7 [1201915]
100b38
54527e
* Tue Sep 29 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-320.rt56.196.el7]
54527e
- [rt] nohz: disabled by default [1206356]
100b38
54527e
* Mon Sep 28 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-320.rt56.195.el7]
54527e
- [rt] merged kernel-3.10.0-320.el7 [1201915]
54527e
- [rt] ixgbevf: Prevent livelock spinning grabbing ixgbevf_qv_lock [1265882]
100b38
54527e
* Tue Sep 22 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-319.rt56.194.el7]
54527e
- [rt] merged kernel-3.10.0-319.el7 (Luis Goncalves) [1201915]
100b38
54527e
* Tue Sep 22 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-318.rt56.193.el7]
54527e
- [rt] merged kernel-3.10.0-318.el7 (Luis Goncalves) [1201915]
54527e
- [rt] sunrpc: use get_cpu_light() for getting the CPU value (Steven Rostedt) [1265264]
100b38
54527e
* Sun Sep 20 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-317.rt56.192.el7]
54527e
- [rt] merged kernel-3.10.0-317.el7 (Luis Goncalves) [1201915]
5b4e24
54527e
* Fri Sep 18 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-316.rt56.191.el7]
54527e
- [rt] revert "[netdrv] ixgbe: Refactor busy poll socket code to address multiple issues" [1261109]
5223ee
54527e
* Tue Sep 15 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-316.rt56.190.el7]
54527e
- [rt] merged kernel-3.10.0-316.el7 (Luis Goncalves) [1201915]
5223ee
54527e
* Tue Sep  8 2015 Clark Williams <williams@redhat.com> [3.10.0-315.rt56.189.el7]
54527e
- [rt] merged kernel-3.10.0-315.el7 (Clark Williams) [1201915]
5223ee
54527e
* Fri Sep  4 2015 Clark Williams <williams@redhat.com> [3.10.0-314.rt56.188.el7]
54527e
- [rt] merged kernel-3.10.0-314.el7 (Clark Williams) [1201915]
5223ee
54527e
* Fri Sep  4 2015 Clark Williams <williams@redhat.com> [3.10.0-313.rt56.187.el7]
54527e
- x86: Convert mce timer to hrtimer [1257341]
18be90
54527e
* Tue Sep  1 2015 Clark Williams <williams@redhat.com> [3.10.0-313.rt56.186.el7]
54527e
- [rt] merged kernel-3.10.0-313.el7 (Clark Williams) [1201915]
54527e
54527e
* Mon Aug 31 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-312.rt56.185.el7]
54527e
- [rt] merged kernel-3.10.0-312.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Fri Aug 28 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-311.rt56.184.el7]
54527e
- [rt] merged kernel-3.10.0-311.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Thu Aug 27 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-310.rt56.183.el7]
54527e
- [rt] merged kernel-3.10.0-310.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Mon Aug 24 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-309.rt56.182.el7]
54527e
- [rt] merged kernel-3.10.0-309.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Mon Aug 24 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-308.rt56.181.el7]
54527e
- [rhel-rt] specfile: run depmod when installing -kvm sub-packages [1255341] [1245306]
54527e
54527e
* Mon Aug 24 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-308.rt56.180.el7]
54527e
- [rt] merged kernel-3.10.0-308.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Wed Aug 19 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-306.0.1.rt56.179.el7]
54527e
- [misc] redhat: roll back to pre-release secureboot keys [1254992] [1201915]
54527e
54527e
* Mon Aug 17 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-306.rt56.179.el7]
54527e
- [rt] merged kernel-3.10.0-306.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Mon Aug 17 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-305.rt56.178.el7]
54527e
- [rt] merged kernel-3.10.0-305.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Thu Aug 13 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-304.rt56.177.el7]
54527e
- [rhel-rt] specfile: create -kvm-debuginfo sub-packages for kernel [1245306]
54527e
54527e
* Mon Aug 10 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-304.rt56.176.el7]
54527e
- [rt] merged kernel-3.10.0-304.el7 (Luis Goncalves) [1201915]
54527e
- [rt] hwlat_detector: record max diff from outer sample (Clark Williams) [1251570]
54527e
54527e
* Thu Aug 06 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-303.rt56.175.el7]
54527e
- [rt] merged kernel-3.10.0-303.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Sat Aug 01 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-302.rt56.174.el7]
54527e
- [rt] merged kernel-3.10.0-302.el7 (Luis Goncalves) [1201915]
54527e
- [rhel-rt] specfile: add logic to create -kvm sub-packages for kernel (Clark Williams) [1245306]
54527e
54527e
* Thu Jul 30 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-301.rt56.173.el7]
54527e
- [rt] merged kernel-3.10.0-301.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Mon Jul 27 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-300.rt56.172.el7]
54527e
- [rt] merged kernel-3.10.0-300.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Thu Jul 23 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-298.rt56.171.el7]
54527e
- [rt] merged kernel-3.10.0-298.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Wed Jul 22 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-297.rt56.170.el7]
54527e
- [rt] skbuff: Use local_lock instead of disabling interrupts (Steven Rostedt) [1245026]
54527e
54527e
* Tue Jul 21 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-297.rt56.169.el7]
54527e
- [rt] merged kernel-3.10.0-297.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Sun Jul 19 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-296.rt56.168.el7]
54527e
- [rt] merged kernel-3.10.0-296.el7 (Luis Goncalves) [1201915]
54527e
- [rt] reverted hrtimer changes introduced in -294 (Luis Goncalves) [1201915]
54527e
54527e
* Tue Jul 14 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-294.rt56.167.el7]
54527e
- [rt] merged kernel-3.10.0-294.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Tue Jul 07 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-292.rt56.166.el7]
54527e
- [rt] merged kernel-3.10.0-292.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Tue Jul 07 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-291.rt56.165.el7]
54527e
- [rt] merged kernel-3.10.0-291.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Tue Jul 07 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-290.rt56.164.el7]
54527e
- [rhel-rt] fold -virt configs into the production kernel [1201915]
54527e
54527e
* Mon Jul 06 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-290.rt56.163.el7]
54527e
- [rt] merged kernel-3.10.0-290.el7 (Luis Goncalves) [1201915]
54527e
- backport irq_work changes from 3.18-rt [1240403]
54527e
54527e
* Mon Jun 29 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-287.rt56.162.el7]
54527e
- [rt] merged kernel-3.10.0-287.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Fri Jun 26 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-283.rt56.161.el7]
54527e
- [rt] merged kernel-3.10.0-283.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Wed Jun 24 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-280.rt56.160.el7]
54527e
- [rt] merged kernel-3.10.0-280.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Tue Jun 23 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-277.rt56.159.el7]
54527e
- [rt] nfs: Use __write_seqcount_begin() version (Steven Rostedt) [1230365]
54527e
- scripts: avoid debuginfo hash collisions on scripts/ [1209952]
54527e
54527e
* Tue Jun 23 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-277.rt56.158.el7]
54527e
- [rt] merged kernel-3.10.0-277.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Thu Jun 18 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-269.rt56.157.el7]
54527e
- [rt] merged kernel-3.10.0-269.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Wed Jun 17 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-268.rt56.156.el7]
54527e
- [rt] merged kernel-3.10.0-268.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Wed Jun 17 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-267.rt56.155.el7]
54527e
- [rt] merged kernel-3.10.0-267.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Mon Jun 15 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-264.rt56.154.el7]
54527e
- [rt] merged kernel-3.10.0-264.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Thu Jun 11 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-262.rt56.153.el7]
54527e
- [rt] fix small regressions introduced during the merge (Luis Goncalves) [1201915]
54527e
54527e
* Tue Jun 09 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-262.rt56.152.el7]
54527e
- [rt] merged kernel-3.10.0-262.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Mon Jun 08 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-258.rt56.151.el7]
54527e
- [rt] merged kernel-3.10.0-258.el7 (Luis Goncalves) [1201915]
54527e
54527e
* Tue Jun 02 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-237.rt56.150.el7]
54527e
- scripts: avoid debuginfo hash collisions on scripts/ [1209952]
54527e
- xfs: Disable percpu SB on PREEMPT_RT_FULL (Steven Rostedt) [1223089]
54527e
54527e
* Thu Apr 23 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-237.rt56.149.el7]
54527e
- [rt] configs: add the required changes to the -virt kernel [1213866]
54527e
54527e
* Fri Apr 17 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-237.rt56.148.el7]
54527e
- hrtimer: make hrtimer_start() (almost) never fail (Luiz Capitulino) [1207691]
54527e
- ixgbe: Prevent livelock spinning grabbing ixgbe_qv_lock (Steven Rostedt) [1209610]
54527e
54527e
* Sun Apr 12 2015 Luis Claudio R. Goncalves <lgoncalv@redhat.com> [3.10.0-237.rt56.147.el7]
54527e
- [rt] rebase to kernel -237 build (Luis Goncalves) [1201915]
54527e
54527e
* Tue Mar 24 2015 Clark Williams <williams@redhat.com> [3.10.0-234.rt56.146.el7]
54527e
- [rt]: kernel-rt-3.10.0-233.rt56.144.el7 (Clark Williams) [1201915]
54527e
54527e
* Mon Mar 23 2015 Clark Williams <williams@redhat.com> [3.10.0-233.rt56.145.el7]
54527e
- [rt]: kernel-rt-3.10.0-233.rt56.144.el7 (Clark Williams) [1201915]
54527e
54527e
* Tue Mar 17 2015 Clark Williams <williams@redhat.com> [3.10.0-232.rt56.144.el7]
54527e
- [rt] rebase to kernel -232 build (Clark Williams) [1200897]
54527e
54527e
* Fri Mar 13 2015 Clark Williams <williams@redhat.com> [3.10.0-231.rt56.143.el7]
54527e
- [rt] rebase to kernel -231 build and update build infrastructure (Clark Williams) [1200897]
18be90
- sunrpc: don't wait for write before allowing reads from use-gss-proxy file (Jeff Layton)
54527e
54527e
* Tue Mar 03 2015 Clark Williams <williams@redhat.com> [3.10.0-229.rt56.142]
18be90
- netfilter: fix up incorrect type passed to xt_register_match (Clark Williams)
54527e
- Revert "netfilter: xt_connlimit: remove revision 0" (John Kacur) [1169755]
18be90
19f436
* Wed Feb 11 2015 Clark Williams <williams@redhat.com>  [3.10.0-229.rt56.141]
19f436
- [rt] mce: fixed RHEL-RT mis-merge with mce cleanup commit [1191668]
19f436
19f436
* Thu Jan 29 2015 Clark Williams <williams@redhat.com>  [3.10.0-229.rt56.140]
19f436
- rebased to rhel build 229 [1160430]
19f436
19f436
* Tue Jan 27 2015 Clark Williams <williams@redhat.com>  [3.10.0-227.rt56.139]
19f436
- rebased to rhel build 227 [1160430]
19f436
19f436
* Mon Jan 26 2015 Clark Williams <williams@redhat.com>  [3.10.0-226.rt56.138]
19f436
- rebased to rhel build 226 [1160430]
19f436
19f436
* Fri Jan 23 2015 Clark Williams <williams@redhat.com>  [3.10.0-225.rt56.137]
19f436
- rebased to rhel build 225 [1160430]
19f436
19f436
* Mon Jan 19 2015 Clark Williams <williams@redhat.com>  [3.10.0-224.rt56.136]
19f436
- rebased to rhel build 224 [1160430]
19f436
19f436
* Tue Jan 13 2015 Clark Williams <williams@redhat.com>  [3.10.0-223.rt56.135]
19f436
- rebased to rhel build 223 [1160430]
19f436
19f436
* Mon Jan 12 2015 Clark Williams <williams@redhat.com>  [3.10.0-222.rt56.134]
19f436
- rebased to rhel build 222 [1160430]
19f436
- net: iwlwifi: driver fails to initialize on RHEL-RT 3.10.0-220.rt56.el7 [1178919]
19f436
19f436
* Thu Jan  8 2015 Clark Williams <williams@redhat.com>  [3.10.0-221.rt56.133]
19f436
-  Setting up the function tracer hardlocks the machine [1172823]
19f436
19f436
* Wed Jan  7 2015 Clark Williams <williams@redhat.com>  [3.10.0-221.rt56.132]
19f436
- rebased to rhel build 221 [1160430]
19f436
- Performance problems with 3.10 LAZY_PREEMPT on Realtime kernel [1179371]
19f436
19f436
* Mon Jan  5 2015 Clark Williams <williams@redhat.com>  [3.10.0-220.rt56.131]
19f436
- net: iwlwifi: request only a threaded handler for interrupts [1178919]
19f436
19f436
* Tue Dec 23 2014 Clark Williams <williams@redhat.com>  [3.10.0-220.rt56.130]
19f436
- rebased to rhel build 220 [1160430]
19f436
19f436
* Thu Dec 18 2014 Clark Williams <williams@redhat.com>  [3.10.0-219.rt56.129]
19f436
- rebased to rhel build 219 [1160430]
19f436
19f436
* Thu Dec 18 2014 Clark Williams <williams@redhat.com>  [3.10.0-218.rt56.128]
19f436
- rebased to rhel build 218 [1160430]
19f436
19f436
* Mon Dec 15 2014 Clark Williams <williams@redhat.com>  [3.10.0-217.rt56.127]
19f436
- rebased to rhel build 217 [1160430]
19f436
19f436
* Tue Dec  9 2014 Clark Williams <williams@redhat.com>  [3.10.0-216.rt56.126]
19f436
- rebased to rhel build 216 [1160430]
19f436
- mm: Remove open coded local_irq_{enable,disable}() [1167452]
19f436
19f436
* Fri Dec  5 2014 Clark Williams <williams@redhat.com>  [3.10.0-213.rt56.125]
19f436
- rebased to rhel build 213 [1160430]
19f436
19f436
* Wed Dec  3 2014 Clark Williams <williams@redhat.com>  [3.10.0-212.rt56.124]
19f436
- rebased to rhel build 212 [1160430]
19f436
19f436
* Tue Dec  2 2014 Clark Williams <williams@redhat.com>  [3.10.0-211.rt56.123]
19f436
- rebased to rhel build 211 [1160430]
19f436
19f436
* Mon Nov 24 2014 Clark Williams <williams@redhat.com>  [3.10.0-210.rt56.122]
19f436
- rebased to rhel build 210 [1160430]
19f436
19f436
* Mon Nov 24 2014 Clark Williams <williams@redhat.com>  [3.10.0-209.rt56.121]
19f436
- rebased to rhel build 209 [1160430]
19f436
19f436
* Mon Nov 24 2014 Clark Williams <williams@redhat.com>  [3.10.0-206.rt56.120]
19f436
- rebased to rhel build 206 [1160430]
19f436
19f436
* Thu Nov 20 2014 Clark Williams <williams@redhat.com>  [3.10.0-205.rt56.119]
19f436
- rebased to rhel build 205 [1160430]
19f436
19f436
* Wed Nov 19 2014 Clark Williams <williams@redhat.com>  [3.10.0-204.rt56.118]
19f436
- ftrace/x86: Add frames pointers to trampoline as necessary [1161760]
19f436
19f436
* Tue Nov 18 2014 Clark Williams <williams@redhat.com>  [3.10.0-204.rt56.117]
19f436
- Fix scheduling while atomic in ring buffer for PREEMPT_RT [1161760]
19f436
19f436
* Mon Nov 17 2014 Clark Williams <williams@redhat.com>  [3.10.0-204.rt56.116]
19f436
- rebased to rhel build 204 [1160430]
19f436
19f436
* Fri Nov 14 2014 Clark Williams <williams@redhat.com>  [3.10.0-203.rt56.115]
19f436
- rebased to rhel build 203 [1160430]
19f436
19f436
* Tue Nov 11 2014 Clark Williams <williams@redhat.com>  [3.10.0-201.rt56.114]
19f436
- rebased to rhel build 201 [1160430]
19f436
19f436
* Mon Nov 10 2014 Clark Williams <williams@redhat.com> - 3.10.0-200.rt56.113
19f436
- rebased to rhel build 200 [1160430]
19f436
- apply blk_mq patches to avoid "scheduling while atomic" [1162253]
19f436
19f436
* Wed Nov  5 2014 Clark Williams <williams@redhat.com> - 3.10.0-198.rt56.112
19f436
- rebased to rhel build 198 [1160430]
19f436
- kernel: zero the cpumask before running sched_getaffinity [1158225]
19f436
19f436
* Tue Nov  4 2014 Clark Williams <williams@redhat.com> - 3.10.0-196.rt56.111
19f436
- corrected build and commit syntax for dist-git [1151560]
19f436
19f436
* Tue Oct 28 2014 Clark Williams <williams@redhat.com> - 3.10.0-196.rt56.110
19f436
- initial rhel-7.1 build [1151560]
19f436
- rebased to rhel build 196 [1159388]
19f436
19f436
* Tue Oct 28 2014 Clark Williams <williams@redhat.com> - 3.10.0-193.rt56.109
19f436
- virt: reverted blk-mq commits in virtio-blk due to 'scheduling while atomic' errors
19f436
19f436
* Fri Oct 24 2014 Clark Williams <williams@redhat.com> - 3.10.0-193.rt56.108
19f436
- configs: turned on CONFIG_VIRT_DRIVERS for virt config on RHEL7
19f436
- configs: turned on CONFIG_VIRTIO_MMIO for virt config on RHEL7
19f436
- configs: turned on CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES for virt configs on RHEL7
19f436
- configs: turned on CONFIG_PARAVIRT_DEBUG for virt config on RHEL7
19f436
- configs: turned on CONFIG_PARAVIRT_TIME_ACCOUNTING for virt config on RHEL7
19f436
- configs: turned on CONFIG_DEBUG_VIRTUAL for virt config on RHEL7
19f436
19f436
* Fri Oct 24 2014 Clark Williams <williams@redhat.com> - 3.10.0-193.rt56.107
19f436
- rebased to rhel build 193
19f436
19f436
* Wed Oct 22 2014 Clark Williams <williams@redhat.com> - 3.10.0-191.rt56.106
19f436
- rebased to rhel build 191
19f436
19f436
* Wed Oct 22 2014 Clark Williams <williams@redhat.com> - 3.10.0-190.rt56.105
19f436
- cpumask: set nr_cpumask_bits to nr_cpu_ids on PREEMPT_RT
19f436
19f436
* Tue Oct 21 2014 Clark Williams <williams@redhat.com> - 3.10.0-190.rt56.104
19f436
- rebased to rhel build 190
19f436
19f436
* Thu Oct 16 2014 Clark Williams <williams@redhat.com> - 3.10.0-188.rt56.103
19f436
- configs: turned off CONFIG_MIGRATION and CONFIG_CMA due to latency spikes
19f436
19f436
* Tue Oct 14 2014 Clark Williams <williams@redhat.com> - 3.10.0-188.rt56.102
19f436
- turned on -virt sub-package build for el7rt
19f436
19f436
* Mon Oct 13 2014 Clark Williams <williams@redhat.com> - 3.10.0-188.rt56.101
19f436
- rebased to rhel build 188
19f436
19f436
* Fri Oct 10 2014 Clark Williams <williams@redhat.com> - 3.10.0-186.rt56.100
19f436
- turned off default build of -virt and -vanilla kernel packages
19f436
- rebased to rhel build 186
19f436
19f436
* Thu Oct  9 2014 Clark Williams <williams@redhat.com> - 3.10.0-185.rt56.99
19f436
- configs: modified virt configs to match RHEL7 configs
19f436
- configs: turned on CONFIG_FAIR_GROUP_SCHED and CFS_BANDWIDTH
19f436
- rebased to rhel build 185
19f436
19f436
* Wed Oct  8 2014 Clark Williams <williams@redhat.com> - 3.10.0-183.rt56.98
19f436
- rebased to rhel build 183
19f436
19f436
* Tue Oct  7 2014 Clark Williams <williams@redhat.com> - 3.10.0-182.rt56.97
19f436
- configs: Turned on CONFIG_MIGRATION and CONFIG_CMA (left COMPACTION off)
19f436
- x86: updated arch/x86/boot/tools/build.c to use unified types.h
19f436
- rebased to rhel build 182
19f436
19f436
* Mon Oct  6 2014 Clark Williams <williams@redhat.com> - 3.10.0-179.rt56.96
19f436
- configs: turn off CONFIG_PARAVIRT_SPINLOCKS for virt config
19f436
- configs: turn off CONFIG_PARAVIRT_TIME_ACCOUNTING for virt config
19f436
19f436
* Sun Oct  5 2014 Clark Williams <williams@redhat.com> - 3.10.0-179.rt56.95
19f436
- specfile: fixed bogus path for new-kernel-pkg
19f436
- specfile: removed incorrect linux-firmware version
19f436
19f436
* Sun Oct  5 2014 Clark Williams <williams@redhat.com> - 3.10.0-179.rt56.94
19f436
- mm: move clear_hwpoisoned_pages under CONFIG_MEMORY_HOTREMOVE
19f436
- configs: handle unknown configs for el6rt
19f436
19f436
* Sun Oct  5 2014 Clark Williams <williams@redhat.com> - 3.10.0-179.rt56.93
19f436
- specfile: require new linux-firmware version (match RHEL)
19f436
- configs: Turned off CONFIG_MIGRATION and related configs
19f436
- rebased to rhel build 179
19f436
19f436
* Fri Oct  3 2014 Clark Williams <williams@redhat.com> - 3.10.0-178.rt56.92
19f436
- tracing: Disable tracing on warning
19f436
- rebased to rhel build 178
19f436
19f436
* Fri Oct  3 2014 Clark Williams <williams@redhat.com> - 3.10.0-177.rt56.91
19f436
- rebased to rhel build 177
19f436
19f436
* Tue Sep 30 2014 Clark Williams <williams@redhat.com> - 3.10.0-176.rt56.90
19f436
- rebased to rhel build 176
19f436
19f436
* Tue Sep 30 2014 Clark Williams <williams@redhat.com> - 3.10.0-174.rt56.89
19f436
- rebased to rhel build 174
19f436
19f436
* Mon Sep 29 2014 Clark Williams <williams@redhat.com> - 3.10.0-171.rt56.88
19f436
- rebased to rhel build 171
19f436
19f436
* Wed Sep 24 2014 Clark Williams <williams@redhat.com> - 3.10.0-170.rt56.87
19f436
- rebased to rhel build 170
19f436
19f436
* Tue Sep 23 2014 Clark Williams <williams@redhat.com> - 3.10.0-168.rt56.86
19f436
- rebased to rhel build 168
19f436
19f436
* Tue Sep 23 2014 Clark Williams <williams@redhat.com> - 3.10.0-167.rt56.85
19f436
- rebased to rhel build 167
19f436
19f436
* Fri Sep 19 2014 Clark Williams <williams@redhat.com> - 3.10.0-163.rt56.84
19f436
- rebased to rhel build 163
19f436
19f436
* Tue Sep 16 2014 Clark Williams <williams@redhat.com> - 3.10.0-161.rt56.83
19f436
- rebased to rhel build 161
19f436
19f436
* Tue Sep 16 2014 Clark Williams <williams@redhat.com> - 3.10.0-160.rt56.82
19f436
- rebased to rhel build 160
19f436
19f436
* Mon Sep 15 2014 Clark Williams <williams@redhat.com> - 3.10.0-158.rt56.81
19f436
- rebased to rhel build 158
19f436
19f436
* Mon Sep 15 2014 Clark Williams <williams@redhat.com> - 3.10.0-155.rt56.80
19f436
- rcu: unify boost and kthread priorities then make it boot time settable
19f436
- configs: added RCU_KTHREAD_PRIO and removed RCU_BOOST_PRIO
19f436
19f436
* Fri Sep 12 2014 Clark Williams <williams@redhat.com> - 3.10.0-155.rt56.79
19f436
- rebased to rhel build 155
19f436
- removed CONFIG_RCU_NOCB_CPU_* overrides in rt tree to use RHEL values
19f436
- changed CONFIG_RCU_BOOST_PRIO to 2 for realtime
19f436
19f436
* Thu Sep 11 2014 Clark Williams <williams@redhat.com> - 3.10.0-154.rt56.78
19f436
- rebased to rhel build 154
19f436
19f436
* Thu Sep  4 2014 Clark Williams <williams@redhat.com> - 3.10.0-152.rt56.77
19f436
- rebased to rhel build 152
19f436
19f436
* Tue Sep  2 2014 Clark Williams <williams@redhat.com> - 3.10.0-150.rt56.76
19f436
- rebased to rhel build 150
19f436
19f436
* Tue Sep  2 2014 Clark Williams <williams@redhat.com> - 3.10.0-147.rt56.75
19f436
- rebased to rhel build 147
19f436
19f436
* Wed Aug 27 2014 Clark Williams <williams@redhat.com> - 3.10.0-144.rt56.74
19f436
- brought RT patch up to current 3.10 level (-rt56)
19f436
  - Fix latency histogram after "hrtimer: Set expiry time before switch_hrtimer_base()"
19f436
  - timer: do not spin_trylock() on UP
19f436
  - rcu: make RCU_BOOST default on RT
19f436
  - net: gianfar: do not disable interrupts
19f436
  - net: gianfar: do not try to cleanup TX packets if they are not done
19f436
19f436
* Wed Aug 13 2014 Clark Williams <williams@redhat.com> - 3.10.0-144.rt34.73
19f436
- rebased to rhel build 144
19f436
19f436
* Thu Aug  7 2014 Clark Williams <williams@redhat.com> - 3.10.0-143.rt34.72
19f436
- rebased to rhel build 143
19f436
19f436
* Tue Aug  5 2014 Clark Williams <williams@redhat.com> - 3.10.0-142.rt34.71
19f436
- add the .virt variant modules to the signing pass loop
19f436
- turn off lockdep in main rt kernel
19f436
- x86: MCE: Add raw_lock conversion again
19f436
19f436
* Mon Aug  4 2014 Clark Williams <williams@redhat.com> - 3.10.0-142.rt34.70
19f436
- rebased to rhel build 142
19f436
19f436
* Thu Jul 31 2014 Clark Williams <williams@redhat.com> - 3.10.0-140.rt34.69
19f436
- fix cpu hotplug commit error
19f436
19f436
* Tue Jul 29 2014 Clark Williams <williams@redhat.com> - 3.10.0-140.rt34.68
19f436
- rebased to rhel build 140
19f436
19f436
* Fri Jul 25 2014 Clark Williams <williams@redhat.com> - 3.10.0-138.rt34.67
19f436
- debugging: turn on lockdep in main rt kernel for beaker tests
19f436
- from Luis Claudio R. Goncalves <lgoncalv@redhat.com>:
19f436
  - redhat: remove leftover from old specfile
19f436
  - redhat: fixed version and changelog on the specfile
19f436
  - redhat: fix the logi fir defining TOPDIR, RTDIR and RHDIR
19f436
  - redhat: fix a typo in the MRG Makefiles
19f436
  - redhat: use bz2 for the tarball instead of xz
19f436
  - redhat:  prepared specfile for rhel7-rt-on-rhel6 (with old style module signing)
19f436
  - redhat: remove unused config file
19f436
  - redhat: add the config files for rhel7-rt-on-rhel6
19f436
  - redhat-rt: patch required for rhel7-rt-on-rhel6
19f436
19f436
* Mon Jul 21 2014 Clark Williams <williams@redhat.com> - 3.10.0-138.rt34.66
19f436
- rebased to rhel build 138
19f436
19f436
* Sun Jul 20 2014 Clark Williams <williams@redhat.com> - 3.10.0-137.rt34.65
19f436
- rebased to rhel build 137
19f436
19f436
* Thu Jul 17 2014 Clark Williams <williams@redhat.com> - 3.10.0-136.rt34.64
19f436
- rebased to rhel build 136
19f436
19f436
* Wed Jul 16 2014 Clark Williams <williams@redhat.com> - 3.10.0-135.rt34.63
19f436
- rebased to rhel build 135
19f436
19f436
* Thu Jul 10 2014 Clark Williams <williams@redhat.com> - 3.10.0-133.rt34.62
19f436
- rebased to rhel build 133
19f436
19f436
* Thu Jul 10 2014 Clark Williams <williams@redhat.com> - 3.10.0-132.rt34.61
19f436
- rebased to rhel build 132
19f436
- workqueue: Prevent deadlock/stall on RT
19f436
19f436
* Wed Jul  2 2014 Clark Williams <williams@redhat.com> - 3.10.0-130.rt34.60
19f436
- hcd: change local_irq_* functions in URB completion to be nort variants
19f436
19f436
* Tue Jul  1 2014 Clark Williams <williams@redhat.com> - 3.10.0-130.rt34.59
19f436
- rebased to rhel build 130
19f436
19f436
* Mon Jun 30 2014 Clark Williams <williams@redhat.com> - 3.10.0-128.rt34.58
19f436
- nfnetlink_log: unset nf_loggers for net namespace when unload nfnetlink_log
19f436
19f436
* Wed Jun 25 2014 Clark Williams <williams@redhat.com> - 3.10.0-128.rt34.57
19f436
- netconsole: enable netconsole on PREEMPT_RT
19f436
19f436
* Tue Jun 24 2014 Clark Williams <williams@redhat.com> - 3.10.0-128.rt34.56
19f436
- sched: Do not clear PF_NO_SETAFFINITY flag in select_fallback_rq()
19f436
19f436
* Thu Jun 19 2014 Clark Williams <williams@redhat.com> - 3.10.0-128.rt34.55
19f436
- rebased to rhel build 128
19f436
- added tglx patch to rtmutex to fix slow path race
19f436
19f436
* Wed Jun 18 2014 Clark Williams <williams@redhat.com> - 3.10.0-127.rt34.54
19f436
- add code to drivers/cpufreq/powernow-k8.c to prevent panic on boot
19f436
19f436
* Tue Jun 17 2014 Clark Williams <williams@redhat.com> - 3.10.0-127.rt34.53
19f436
- turned on CONFIG_NO_HZ_FULL
19f436
- turned off CONFIG_NO_HZ_IDLE
19f436
- turned on CONFIG_FAIR_GROUP_SCHED
19f436
- turned off CONFIG_IRQ_TIME_ACCOUNTING
19f436
- turned off CONFIG_
19f436
19f436
* Mon Jun 16 2014 Clark Williams <williams@redhat.com> - 3.10.0-127.rt34.52
19f436
- turned on specfile logic to build virt subpackage
19f436
19f436
* Thu Jun 12 2014 Clark Williams <williams@redhat.com> - 3.10.0-127.rt34.51
19f436
- rebased to rhel build 127
19f436
19f436
* Fri Jun  6 2014 Clark Williams <williams@redhat.com> - 3.10.0-126.rt34.50
19f436
- rebased to rhel build 126
19f436
- moved RHEL7 RT infrastructure to redhat/realtime
19f436
- added RHEL6 RT infrastructure to redhat/MRG
19f436
19f436
* Tue Jun  3 2014 Clark Williams <williams@redhat.com> - 3.10.0-124.rt34.49
19f436
- rebased to rhel build 124
19f436
- futex: Prevent attaching to kernel threads
19f436
- futex: Add another early deadlock detection check
19f436
- more spefile changes for module signing
19f436
- removed sighand debugging patch
19f436
- reverted RT commit 'slub: delay ctor until the object is requested'
19f436
19f436
* Fri May 30 2014 Clark Williams <williams@redhat.com> - 3.10.0-123.rt34.48
19f436
- enable module signing
19f436
19f436
* Thu May 29 2014 Clark Williams <williams@redhat.com> - 3.10.0-123.rt34.47
19f436
- debugging patch for sighand from rostedt
19f436
19f436
* Fri May  9 2014 Clark Williams <williams@redhat.com> - 3.10.0-123.rt34.46
19f436
- rt,blk,mq: Make blk_mq_cpu_notify_lock a raw spinlock
19f436
19f436
* Fri May  9 2014 Clark Williams <williams@redhat.com> - 3.10.0-123.rt34.45
19f436
- rt: Move migrate_disable() up in trylocks
19f436
19f436
* Tue May  6 2014 Clark Williams <williams@redhat.com> - 3.10.0-123.rt34.44
19f436
- rebased to rhel build 123
19f436
19f436
* Mon May  5 2014 Clark Williams <williams@redhat.com> - 3.10.0-122.rt34.43
19f436
- rebased to rhel build 122
19f436
19f436
* Wed Apr  9 2014 Clark Williams <williams@redhat.com> - 3.10.0-121.rt34.42
19f436
- rebased to rhel build 121
19f436
19f436
* Tue Apr  8 2014 Clark Williams <williams@redhat.com> - 3.10.0-120.rt34.41
19f436
- rebased to rhel build 120
19f436
- synced with upstream 3.10.34-rt34 quilt queue
19f436
19f436
* Wed Apr  2 2014 Clark Williams <williams@redhat.com> - 3.10.0-118.rt33.40
19f436
- rebased to rhel build 118
19f436
- modified specfile to use xz compression
19f436
- modified config system to turn off CGROUP group schedulers
19f436
19f436
* Tue Apr  1 2014 Clark Williams <williams@redhat.com> - 3.10.0-117.rt33.39
19f436
- rebased to rhel build 117
19f436
- from Luis Claudio R. Goncalves <lgoncalv@redhat.com>:
19f436
  - spec: do not create an empty include/linux/version.h
19f436
  - spec: added ApplyPatch and the support for linux-kernel-test.patch
19f436
  - spec: fix the buildid usage on the specfile
19f436
19f436
* Mon Mar 31 2014 Clark Williams <williams@redhat.com> - 3.10.0-116.rt33.38
19f436
- rebased to rhel build 116
19f436
19f436
* Wed Mar 26 2014 Clark Williams <williams@redhat.com> - 3.10.0-114.rt33.37
19f436
- rebased to rhel build 114
19f436
19f436
* Fri Mar 21 2014 Clark Williams <williams@redhat.com> - 3.10.0-113.rt33.36
19f436
- rebased to rhel build 113
19f436
19f436
* Wed Mar 19 2014 Clark Williams <williams@redhat.com> - 3.10.0-112.rt33.35
19f436
- rebased to rhel build 112
19f436
- picked up 3.10-rt33 commit:
19f436
  - crypto: Reduce preempt disabled regions, more algos
19f436
- updated realtime version to -rt33
19f436
19f436
* Mon Mar 17 2014 Clark Williams <williams@redhat.com> - 3.10.0-111.rt32.34
19f436
- rebased to rhel build 111
19f436
19f436
* Wed Mar 12 2014 Clark Williams <williams@redhat.com> - 3.10.0-109.rt32.33
19f436
- rebased to rhel build 109
19f436
19f436
* Mon Mar 10 2014 Clark Williams <williams@redhat.com> - 3.10.0-107.rt32.32
19f436
- pulled new rt-specific patches from latest RT series, updated to -rt32
19f436
  - fs: jbd2: pull your plug when waiting for space
19f436
  - net: sched: dev_deactivate_many(): use msleep(1) instead of yield()
19f436
19f436
* Mon Mar 10 2014 Clark Williams <williams@redhat.com> - 3.10.0-107.rt31.31
19f436
- rebased to rhel build 107
19f436
19f436
* Fri Mar  7 2014 Clark Williams <williams@redhat.com> - 3.10.0-106.rt31.30
19f436
- rebased to rhel build 106
19f436
- reverted removal of stop_cpus_lock in kernel/stop_machine.c
19f436
19f436
* Wed Mar  5 2014 Clark Williams <williams@redhat.com> - 3.10.0-105.rt31.29
19f436
- rebased to rhel build 105
19f436
19f436
* Tue Mar  4 2014 Clark Williams <williams@redhat.com> - 3.10.0-102.rt31.28
19f436
- rebased to rhel build 102
19f436
19f436
* Tue Mar  4 2014 Clark Williams <williams@redhat.com> - 3.10.0-99.rt31.27
19f436
- added rostedt cpu_chill() patch to prevent live-lock
19f436
19f436
* Mon Mar  3 2014 Clark Williams <williams@redhat.com> - 3.10.0-99.rt31.26
19f436
- cherry-picked new RT patches from 3.10.12-rt31 series
19f436
19f436
* Fri Feb 28 2014 Clark Williams <williams@redhat.com> - 3.10.0-99.rt30.25
19f436
- rebased to rhel build 99
19f436
19f436
* Fri Feb 28 2014 Clark Williams <williams@redhat.com> - 3.10.0-98.rt30.24
19f436
- rebased to rhel build 98
19f436
19f436
* Thu Feb 27 2014 Clark Williams <williams@redhat.com> - 3.10.0-97.rt30.23
19f436
- synced with latest 3.10 rt patchset (3.10.32-rt30)
19f436
19f436
* Wed Feb 26 2014 Clark Williams <williams@redhat.com> - 3.10.0-97.rt25.22
19f436
- rebased to rhel build 97
19f436
19f436
* Wed Feb 26 2014 Clark Williams <williams@redhat.com> - 3.10.0-93.rt25.21
19f436
- reworked rebase to use hotplug function from RT patchset
19f436
19f436
* Mon Feb 24 2014 Clark Williams <williams@redhat.com> - 3.10.0-93.rt25.20
19f436
- rebased to rhel build 93
19f436
- switched to rhel7 hotplug mechanism in _cpu_down() (kernel/cpu.c)
19f436
19f436
* Fri Feb 21 2014 Clark Williams <williams@redhat.com> - 3.10.0-90.rt25.19
19f436
- rebased to rhel build 90
19f436
19f436
* Wed Feb 19 2014 Clark Williams <williams@redhat.com> - 3.10.0-89.rt25.18
19f436
- added cpu_chill() patch from Sebastian Andrzej Siewior <bigeasy@linutronix.de>
19f436
19f436
* Tue Feb 18 2014 Clark Williams <williams@redhat.com> - 3.10.0-89.rt25.17
19f436
- rebased to rhel build 89
19f436
- added 3.12-rt17 series patch to disable cmpxchg for lockref
19f436
19f436
* Thu Feb 13 2014 Clark Williams <williams@redhat.com> - 3.10.0-87.rt25.16
19f436
- rebased to rhel build 87
19f436
19f436
* Tue Feb 11 2014 Clark Williams <williams@redhat.com> - 3.10.0-86.rt25.15
19f436
- rebased to rhel build 86
19f436
19f436
* Tue Feb 11 2014 Clark Williams <williams@redhat.com> - 3.10.0-85.rt25.14
19f436
- rebased to rhel build 85
19f436
19f436
* Mon Feb 10 2014 Clark Williams <williams@redhat.com> - 3.10.0-84.rt25.13
19f436
- rebased to rhel build 84
19f436
19f436
* Tue Feb  4 2014 Clark Williams <williams@redhat.com> - 3.10.0-82.rt25.12
19f436
- fixup mismerge of mm/swap.c
19f436
19f436
* Tue Feb  4 2014 Clark Williams <williams@redhat.com> - 3.10.0-82.rt25.11
19f436
- rebased to rhel build 82
19f436
19f436
* Wed Jan 22 2014 Clark Williams <williams@redhat.com> - 3.10.0-76.rt25.10
19f436
- updated Makefile and kernel-rt.spec to use new versioning scheme
19f436
19f436
* Wed Jan 15 2014 Clark Williams <williams@redhat.com> - 3.10.0-rt23.9
19f436
- change specfile to not build firmware package kernel-rt-firmware
19f436
19f436
* Tue Jan 14 2014 Clark Williams <williams@redhat.com> - 3.10.0-rt23.8
19f436
- rebased to rhel build 68
19f436
19f436
* Mon Jan 13 2014 Clark Williams <williams@redhat.com> - 3.10.0-rt23.7
19f436
- fixed stop_machine issue that prevented system boot
19f436
19f436
* Wed Jan  8 2014 Clark Williams <williams@redhat.com> - 3.10.0-rt23.6
19f436
- remove dependency on rt-firmware package
19f436
19f436
* Tue Jan  7 2014 Clark Williams <williams@redhat.com> - 3.10.0-rt23.5
19f436
- rebased to rhel build 65
19f436
- applied sit fix from Willem de Bruijn <willemb@google.com>
19f436
19f436
* Tue Dec 17 2013 Clark Williams <williams@redhat.com> - 3.10.0-rt19.4
19f436
- applied ip6_tunnel fix from Nicolas Dichtel <nicolas.dichtel@6wind.com>
19f436
19f436
* Tue Dec 17 2013 Clark Williams <williams@redhat.com> - 3.10.0-rt19.3
19f436
- rebased to rhel build 62
19f436
- added Johannes Berg patch for iwlwifi on RT
19f436
19f436
* Mon Dec 16 2013 Clark Williams <williams@redhat.com> - 3.10.0-rt19.2
19f436
- rebased to 3.10.22-rt19 patchset
19f436
19f436
* Wed Oct 30 2013 Clark Williams <williams@redhat.com> - 3.10.0-rt18.1
19f436
- initial build