| Summary: The Linux RT kernel |
| |
| # build parallelism: |
| %{!?_smp_mflags:%define _smp_mflags --jobs=16} |
| |
| # realtime kernels are named "kernel-rt" |
| %define kernel kernel |
| %define realtime rt |
| |
| # mrgN |
| %define iteration 46 |
| |
| # rtN |
| %define rttag rt29 |
| |
| # What parts do we want to build? We must build at least one kernel. |
| # These are the kernels that are built IF the architecture allows it. |
| |
| %define buildrt 0 |
| %define builddoc 0 |
| %define builddebug 1 |
| %define buildheaders 0 |
| %define buildvanilla 0 |
| %define buildtrace 0 |
| %define buildkabi 0 |
| %define buildperf 1 |
| %define buildfirmware 1 |
| |
| %define _enable_debug_packages 1 |
| |
| # Versions of various parts |
| |
| %define base_sublevel 33 |
| |
| # all of this is to handle the differences between building |
| # from a released kernel tarball and a release-candidate (rc) |
| # tarball |
| %define released_kernel 1 |
| |
| ## If this is a released kernel ## |
| %if 0%{?released_kernel} |
| %define upstream_sublevel %{base_sublevel} |
| # Do we have a 2.6.33.y update to apply? |
| %define stable_update 7 |
| # Set rpm version accordingly |
| %if 0%{?stable_update} |
| %define stablerev .%{stable_update} |
| %endif |
| %define rpmversion 2.6.%{base_sublevel}%{?stablerev} |
| |
| ## The not-released-kernel case ## |
| %else |
| # The next upstream release sublevel (base_sublevel+1) |
| %define upstream_sublevel %(expr %{base_sublevel} + 1) |
| # The rc snapshot level |
| %define rcrev 8 |
| # Set rpm version accordingly |
| %define rpmversion 2.6.%{upstream_sublevel} |
| %endif |
| |
| # pkg_release is what we'll fill in for the rpm Release field |
| %if 0%{?released_kernel} |
| ### Old naming convention w/o rtX |
| ### %define pkg_release %{iteration}%{?buildid}%{?dist} |
| %define pkg_release %{rttag}.%{iteration}%{?buildid}%{?dist} |
| %else |
| %if 0%{?rcrev} |
| %define rctag rc%rcrev |
| %endif |
| %if 0%{?gitrev} |
| %define gittag .git%gitrev |
| %if !0%{?rcrev} |
| %define rctag .rc0 |
| %endif |
| %endif |
| ### old naming convention |
| ### %define pkg_release 0.%{iteration}%{?rctag}%{?gittag}%{?buildid}%{?dist} |
| ### Old naming convention w/o rtX |
| ### %define pkg_release %{?rctag}%{?gittag}.%{iteration}%{?buildid}%{?dist} |
| %define pkg_release %{?rctag}%{?gittag}.%{rttag}.%{iteration}%{?buildid}%{?dist} |
| %endif |
| |
| # The kernel tarball/base version |
| %define kversion 2.6.%{base_sublevel} |
| |
| %define signmodules 0 |
| %define make_target bzImage |
| %define kernel_image x86 |
| |
| %define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE} |
| %define hdrarch %_target_cpu |
| %define asmarch %_target_cpu |
| |
| # groups of related archs |
| %define all_x86 i386 i686 |
| # we differ here b/c of the reloc patches |
| |
| # Override generic defaults with per-arch defaults |
| |
| %ifarch noarch |
| %define builddoc 1 |
| %define buildheaders 0 |
| %define builddebug 0 |
| %define buildperf 0 |
| %define buildfirmware 0 |
| %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{rpmversion}-*.config |
| %endif |
| |
| # Second, per-architecture exclusions (ifarch) |
| |
| %ifarch ppc64iseries i686 i586 |
| %define buildheaders 0 |
| %endif |
| |
| %ifarch %{all_x86} |
| %define asmarch x86 |
| %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{rpmversion}-i?86*.config |
| %define image_install_path boot |
| %define signmodules 0 |
| %define hdrarch i386 |
| %endif |
| |
| %ifarch i686 |
| %define buildrt 1 |
| %define buildtrace 1 |
| %define buildvanilla 1 |
| %endif |
| |
| %ifarch x86_64 |
| %define asmarch x86 |
| %define buildrt 1 |
| %define buildtrace 1 |
| %define buildvanilla 1 |
| %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{rpmversion}-x86_64*.config |
| %define image_install_path boot |
| %define signmodules 0 |
| %endif |
| |
| %ifarch ppc64 ppc64iseries |
| %define asmarch powerpc |
| %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{rpmversion}-ppc64*.config |
| %define image_install_path boot |
| %define signmodules 0 |
| %define make_target vmlinux |
| %define kernel_image vmlinux |
| %define kernel_image_elf 1 |
| %define hdrarch powerpc |
| %endif |
| |
| %ifarch sparc |
| %define asmarch sparc |
| %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{rpmversion}-sparc.config |
| %define make_target image |
| %define kernel_image image |
| %endif |
| |
| %ifarch sparc64 |
| %define asmarch sparc |
| %define buildsmp 1 |
| %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{rpmversion}-sparc64*.config |
| %define make_target image |
| %define kernel_image image |
| %endif |
| |
| %ifarch ppc |
| %define asmarch powerpc |
| %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{rpmversion}-ppc{-,.}*config |
| %define image_install_path boot |
| %define make_target vmlinux |
| %define kernel_image vmlinux |
| %define kernel_image_elf 1 |
| %define buildsmp 1 |
| %define hdrarch powerpc |
| %endif |
| |
| %if %{buildrt} |
| %ifarch x86_64 |
| %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{rpmversion}-x86_64-rt*.config |
| %endif |
| %ifarch i686 |
| %define all_arch_configs $RPM_SOURCE_DIR/kernel-%{rpmversion}-i?86-rt*.config |
| %endif |
| %endif |
| |
| # To temporarily exclude an architecture from being built, add it to |
| # %nobuildarches. Do _NOT_ use the ExclusiveArch: line, because if we |
| # don't build kernel-headers then the new build system will no longer let |
| # us use the previous build of that package -- it'll just be completely AWOL. |
| # Which is a BadThing(tm). |
| |
| # We don't build a kernel on i386 or s390x -- we only do kernel-headers there. |
| %define nobuildarches i386 s390 |
| |
| %ifarch %nobuildarches |
| %define buildsmp 0 |
| %define buildpae 0 |
| #%define _enable_debug_packages 0 |
| %endif |
| |
| # |
| # Three sets of minimum package version requirements in the form of Conflicts: |
| # to versions below the minimum |
| # |
| |
| # |
| # First the general kernel 2.6 required versions as per |
| # Documentation/Changes |
| # |
| %define 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 |
| |
| # |
| # Then a series of requirements that are distribution specific, either |
| # because we add patches for something, or the older versions have |
| # problems with the newer kernel or lack certain things that make |
| # integration in the distro harder than needed. |
| # |
| %define package_conflicts initscripts < 7.23, udev < 063-6, iptables < 1.3.2-1, ipw2200-firmware < 2.4, selinux-policy-targeted < 1.25.3-14 |
| |
| # |
| # The ld.so.conf.d file we install uses syntax older ldconfig's don't grok. |
| # |
| %define xen_conflicts glibc < 2.3.5-1, xen < 3.0.1 |
| |
| # |
| # Packages that need to be installed before the kernel is, because the %post |
| # scripts use them. |
| # |
| %define kernel_prereq fileutils, module-init-tools, initscripts >= 8.11.1-1, mkinitrd >= 4.2.21-1 |
| |
| Name: %{kernel}-%{realtime} |
| Group: System Environment/Kernel |
| License: GPLv2 |
| Version: %{rpmversion} |
| Release: %{pkg_release} |
| ExclusiveArch: noarch i686 x86_64 |
| ExclusiveOS: Linux |
| Provides: kernel = %{rpmversion}-%{pkg_release} |
| Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}%{?1} |
| Provides: kernel-rt = %{rpmversion} |
| Provides: kernel-rt-drm = 4.3.0 |
| Provides: kernel-rt-%{_target_cpu} = %{rpmversion}-%{pkg_release} |
| Prereq: %{kernel_prereq} |
| Conflicts: %{kernel_dot_org_conflicts} |
| Conflicts: %{package_conflicts} |
| Requires: rt-setup |
| |
| # |
| # prevent the x86 kernel-rt package from being picked up by yum |
| # on an x86_64 box (this prevents multilib behavior, yum special-cases |
| # the "kernel" package-name, but not the kernel-rt package name): |
| # |
| %ifarch x86_64 |
| Conflicts: kernel-i686 |
| %endif |
| |
| # We can't let RPM do the dependencies automatic because it'll then pick up |
| # a correct but undesirable perl dependency from the module headers which |
| # isn't required for the kernel proper to function |
| AutoReq: no |
| AutoProv: yes |
| |
| |
| # |
| # List the packages used during the kernel build |
| # |
| BuildPreReq: module-init-tools, patch >= 2.5.4, bash >= 2.03, sh-utils, tar |
| BuildPreReq: bzip2, findutils, gzip, m4, perl, make >= 3.78, diffutils |
| %if %{signmodules} |
| BuildPreReq: gnupg |
| %endif |
| BuildRequires: gcc >= 3.4.2, binutils >= 2.12, redhat-rpm-config |
| %if %{buildheaders} |
| BuildRequires: unifdef |
| %endif |
| BuildRequires: python |
| BuildConflicts: rhbuildsys(DiskFree) < 500Mb |
| |
| # Base kernel source |
| Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{kversion}.tar.bz2 |
| |
| %if 0%{?stable_update} |
| Source1: patch-%{rpmversion}.bz2 |
| %endif |
| |
| %if 0%{?rcrev} |
| Source2: patch-%{rpmversion}-%{rctag}.bz2 |
| %endif |
| |
| # current release candidate |
| |
| Source3: Makefile.config |
| |
| Source10: COPYING.modules |
| Source11: genkey |
| %if %{buildkabi} |
| Source12: kabitool |
| %endif |
| Source14: find-provides |
| Source15: merge.pl |
| |
| Source20: config-debug |
| Source21: config-generic |
| Source22: config-i686-PAE |
| Source23: config-nodebug |
| Source24: config-rt |
| Source25: config-trace |
| Source26: config-vanilla |
| Source27: config-x86_64-generic |
| Source28: config-x86-generic |
| Source30: sanity_check.py |
| Source31: perf-manpage.tar.bz2 |
| |
| # Future Audit |
| # Patch19: bz460217-nagle-tunables.patch |
| # Patch23: aic94xx-inline-fw-rt.patch |
| # Patch24: qla2xxx-inline-fw-rt.patch |
| # Patch28: ibm-amd-edac-rh-v1-2.6.29_forward_port.patch |
| # Patch50: perf-use-cplus_demangle.patch |
| # bz465837-rtc-compat-rhel5.patch-ported-to-V2.patch |
| # End Audit |
| |
| # START OF PATCH DEFINITIONS |
| %if 0%{?rcrev} |
| Patch2: patch-%{rpmversion}-%{rctag}-%{rttag}.bz2 |
| %else |
| Patch2: patch-%{rpmversion}-%{rttag}.bz2 |
| %endif |
| Patch4: Allocate-RTSJ-memory-for-TCK-conformance-test.patch |
| Patch5: Add-dev-rmem-device-driver-for-real-time-JVM-testing.patch |
| Patch6: ibm-rmem-for-rtsj.patch |
| Patch7: linux-2.6-dynticks-off-by-default.patch |
| Patch8: linux-2.6-panic-on-oops.patch |
| # Patch9: forward-port-of-limit-i386-ram-to-16gb.patch |
| Patch10: ibm-rtl-driver.patch |
| Patch11: ibm-hs21-tmid-fix.patch |
| Patch12: scsi-fc-transport-removal-of-target-configurable.patch |
| Patch13: bz523604-remove-pulse-code-from-the-bnx2x-driver.patch |
| |
| ### 2.6.33.2-rt13-mrg13 |
| Patch14: tracing-x86-Add-check-to-detect-GCC-messing-with-mco.patch |
| |
| ### 2.6.33.4-rt20-mrg19 |
| Patch15: i7core_edac-Bring-the-i7core_edac-up-to-date-with-li.patch |
| Patch16: i7core_edac-Always-call-i7core_-ur-dimm_check_mc_ecc.patch |
| Patch17: i7core_edac-i7core_register_mci-should-not-fall-thro.patch |
| Patch18: i7core_edac-Add-support-for-Westmere-to-i7core_edac.patch |
| |
| ### 2.6.33.5-rt23-mrg27 |
| Patch19: bnx2-backport.patch |
| Patch20: bnx2x-FW-5.2.13.patch |
| |
| ### 2.6.33.6-rt26-mrg29 |
| # Patch44: InfiniBand-Add-IBoE-support.patch |
| |
| ### 2.6.33.6-rt26-mrg31 |
| Patch21: bz612275-ibm_rtl-check_DMI_information_in_module_probe.patch |
| |
| ### 2.6.33.7-rt29-mrg37 |
| Patch22: bz625713-Fix-an-Oops-in-the-NFSv4-atomic-open-code.patch |
| Patch23: bz625701-can-add-limit-for-nframes-and-clean-up-signed-unsign.patch |
| Patch24: bz621436-drm-stop-information-leak-of-old-kernel-stack.patch |
| Patch25: bz621436-drm-block-userspace-under-allocating-buffer-and-havi.patch |
| Patch26: bz627807-KEYS-Fix-RCU-no-lock-warning-in-keyctl_session_to_pa.patch |
| Patch27: bz627807-KEYS-Fix-bug-in-keyctl_session_to_parent-if-parent-h.patch |
| |
| ### 2.6.33.7-rt29-mrg38 |
| Patch28: bz632070-niu-Fix-kernel-buffer-overflow-for-ETHTOOL_GRXCLSRLA.patch |
| Patch29: bz631624-tracing-Do-not-allow-llseek-to-set_ftrace_filter.patch |
| |
| ### 2.6.33.7-rt29-mrg39 |
| Patch30: bz626316-act_nat-use-stack-variable.patch |
| Patch31: bz626316-net-sched-fix-some-kernel-memory-leaks.patch |
| Patch32: bz628436-wireless-extensions-fix-kernel-heap-content-leak.patch |
| Patch33: bz630553-ALSA-seq-oss-Fix-double-free-at-error-path-of-snd_se.patch |
| Patch34: bz634450-x86-64-compat-Test-rax-for-the-syscall-number-not-ea.patch |
| Patch35: bz634450-x86-64-compat-Retruncate-rax-after-ia32-syscall-entr.patch |
| Patch36: bz629445-aio-check-for-multiplication-overflow-in-do_io_submi.patch |
| Patch37: bz633142-drivers-net-usb-hso.c-prevent-reading-uninitialized-.patch |
| Patch38: bz633147-drivers-net-eql.c-prevent-reading-uninitialized-stac.patch |
| Patch39: bz633151-drivers-net-cxgb3-cxgb3_main.c-prevent-reading-unini.patch |
| |
| ### 2.6.33.7-rt29-mrg40 |
| Patch40: bz634460-compat-Make-compat_alloc_user_space-incorporate-the.patch |
| |
| ### 2.6.33.7-rt29-mrg45 |
| Patch41: bz607854-mm-keep-a-guard-page-below-a-grow-down-stack-segment.patch |
| Patch42: bz607854-mm-fix-missing-page-table-unmap-for-stack-guard-page.patch |
| Patch43: bz607854-x86-don-t-send-SIGBUS-for-kernel-page-faults.patch |
| Patch44: bz607854-mm-fix-page-table-unmap-for-stack-guard-page-properl.patch |
| Patch45: bz607854-mm-fix-up-some-user-visible-effects-of-the-stack-gua.patch |
| Patch46: bz607854-mm-make-the-vma-list-be-doubly-linked.patch |
| Patch47: bz607854-mm-make-the-mlock-stack-guard-page-checks-stricter.patch |
| Patch48: bz607854-mm-make-stack-guard-page-logic-use-vm_prev-pointer.patch |
| |
| ### 2.6.33.7-rt29-mrg46 |
| Patch49: bz638480-ALSA-prevent-heap-corruption-in-snd_ctl_new.patch |
| Patch50: bz647434-perf-Mark-software-events-as-irqsafe.patch |
| |
| # END OF PATCH DEFINITIONS |
| |
| Patch10000: linux-2.6-build-nonintconfig.patch |
| |
| # empty final patch file to facilitate testing of kernel patches |
| Patch99999: linux-kernel-test.patch |
| |
| BuildRoot: %{_tmppath}/%{name}-%{KVERREL}-root |
| |
| # Override find_provides to use a script that provides "kernel(symbol) = hash". |
| # Pass path of the RPM temp dir containing kabideps to find-provides script. |
| %global _use_internal_dependency_generator 0 |
| %define __find_provides %_sourcedir/find-provides %{_tmppath} |
| %define __find_requires /usr/lib/rpm/redhat/find-requires kernel |
| |
| %description |
| The kernel package contains the Linux kernel (vmlinuz), the core of any |
| Linux operating system. The kernel handles the basic functions |
| of the operating system: memory allocation, process allocation, device |
| input and output, etc. |
| |
| %package devel |
| Summary: Development package for building kernel modules to match the kernel. |
| Group: System Environment/Kernel |
| AutoReqProv: no |
| Provides: kernel-rt-devel-%{_target_cpu} = %{rpmversion}-%{pkg_release} |
| Prereq: /usr/bin/find |
| |
| %description devel |
| This package provides kernel headers and makefiles sufficient to build modules |
| against the kernel package. |
| |
| |
| %package doc |
| Summary: Various documentation bits found in the kernel source. |
| Group: Documentation |
| |
| %description doc |
| This package contains documentation files from the kernel |
| source. Various bits of information about the Linux kernel and the |
| device drivers shipped with it are documented in these files. |
| |
| You'll want to install this package if you need a reference to the |
| options that can be passed to Linux kernel modules at load time. |
| |
| %package headers |
| Summary: Header files for the Linux kernel for use by glibc |
| Group: Development/System |
| Obsoletes: glibc-kernheaders |
| Provides: glibc-kernheaders = 3.0-46 |
| |
| %description headers |
| Kernel-headers includes the C header files that specify the interface |
| between the Linux kernel and userspace libraries and programs. The |
| header files define structures and constants that are needed for |
| building most standard programs and are also needed for rebuilding the |
| glibc package. |
| |
| %if %{buildperf} |
| %package -n perf |
| Summary: Tool to record and inspect hw/sw performance counters data |
| Group: Development/System |
| BuildRequires: binutils-devel, elfutils-libelf-devel, elfutils-libelf |
| BuildRequires: xmlto mlocate |
| Provides: perl(Perf::Trace::Context), perl(Perf::Trace::Core), perl(Perf::Trace::Util) |
| |
| %description -n perf |
| Performance counters are special hardware registers available on most modern |
| CPUs. These registers count the number of certain types of hw events: such as |
| instructions executed, cache-misses suffered, or branches mispredicted - |
| without slowing down the kernel or applications. These registers can also |
| trigger interrupts when a threshold number of events have passed - and can thus |
| be used to profile the code that runs on that CPU. |
| |
| Use the perf tool to collect and process performance counters data. |
| %endif |
| |
| %package vanilla |
| Summary: The vanilla upstream kernel the -rt kernel is based on |
| |
| Group: System Environment/Kernel |
| Provides: kernel = %{rpmversion} |
| Provides: kernel-drm = 4.3.0 |
| Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}vanilla |
| Prereq: %{kernel_prereq} |
| Conflicts: %{kernel_dot_org_conflicts} |
| Conflicts: %{package_conflicts} |
| # We can't let RPM do the dependencies automatic because it'll then pick up |
| # a correct but undesirable perl dependency from the module headers which |
| # isn't required for the kernel proper to function |
| AutoReq: no |
| AutoProv: yes |
| |
| %description vanilla |
| This package includes a vanilla version of the Linux kernel. It is |
| useful for those who dont want a real-time kernel, or who'd like to |
| quickly check whether a problem seen on -rt is also present in the |
| vanilla kernel. |
| |
| %package trace |
| Summary: The realtime kernel with tracing options turned on |
| |
| Group: System Environment/Kernel |
| Provides: kernel = %{rpmversion} |
| Provides: kernel-drm = 4.3.0 |
| Provides: kernel-%{_target_cpu} = %{rpmversion}-%{pkg_release}trace |
| Prereq: %{kernel_prereq} |
| Conflicts: %{kernel_dot_org_conflicts} |
| Conflicts: %{package_conflicts} |
| # We can't let RPM do the dependencies automatic because it'll then pick up |
| # a correct but undesirable perl dependency from the module headers which |
| # isn't required for the kernel proper to function |
| AutoReq: no |
| AutoProv: yes |
| Requires: rt-setup |
| |
| %description trace |
| This package includes a version of the realtime Linux kernel with tracing |
| options compiled turned on and compield in. It is useful in tracking down |
| latency hot-spots in kernel code. |
| |
| |
| %package trace-devel |
| Summary: Development package for building kernel modules to match the tracing kernel. |
| Group: System Environment/Kernel |
| AutoReqProv: no |
| Provides: kernel-rt-trace-devel-%{_target_cpu} = %{rpmversion}-%{pkg_release} |
| Provides: kernel-rt-trace-devel = %{rpmversion}-%{pkg_release}trace |
| Prereq: /usr/bin/find |
| |
| %description trace-devel |
| This package provides kernel headers and makefiles sufficient to build modules |
| against the tracing kernel package. |
| |
| |
| %package vanilla-devel |
| Summary: Development package for building kernel modules to match the vanilla kernel. |
| Group: System Environment/Kernel |
| Provides: kernel-rt-vanilla-devel-%{_target_cpu} = %{rpmversion}-%{pkg_release} |
| Provides: kernel-rt-vanilla-devel-%{_target_cpu} = %{rpmversion}-%{pkg_release}vanilla |
| Provides: kernel-rt-vanilla-devel = %{rpmversion}-%{pkg_release}vanilla |
| AutoReqProv: no |
| Prereq: /usr/bin/find |
| |
| %description vanilla-devel |
| This package provides kernel headers and makefiles sufficient to build modules |
| against the vanilla kernal package. |
| |
| %package debug |
| Summary: A debug realtime kernel and modules |
| Group: System Environment/Kernel |
| License: GPLv2 |
| Provides: kernel-rt-debug = %{rpmversion} |
| Provides: kernel-rt-debug-drm = 4.3.0 |
| Provides: kernel-rt-debug-%{_target_cpu} = %{rpmversion}-%{pkg_release}debug |
| Prereq: %{kernel_prereq} |
| Conflicts: %{kernel_dot_org_conflicts} |
| Conflicts: %{package_conflicts} |
| AutoReq: no |
| AutoProv: yes |
| Requires: rt-setup |
| |
| %description debug |
| This package contains the realtime kernel and modules compiled with various |
| tracing and debugging options enabled. It is primarily useful for tracking |
| down problem discovered with the regular realtime kernel. |
| |
| %package debug-devel |
| Summary: Development package for building kernel modules to match the debug realtime kernel. |
| Group: System Environment/Kernel |
| Provides: kernel-rt-debug-devel-%{_target_cpu} = %{rpmversion}-%{pkg_release} |
| Provides: kernel-rt-debug-devel-%{_target_cpu} = %{rpmversion}-%{pkg_release}debug |
| Provides: kernel-rt-debug-devel = %{rpmversion}-%{pkg_release}debug |
| AutoReqProv: no |
| Prereq: /usr/bin/find |
| |
| %description debug-devel |
| This package provides kernel headers and makefiles sufficient to build modules |
| against the debug kernel-rt package. |
| |
| %prep |
| patch_command='patch -p1 -F1 -s' |
| ApplyPatch() |
| { |
| local patch=$1 |
| shift |
| if [ ! -f $RPM_SOURCE_DIR/$patch ]; then |
| echo "Can't find $RPM_SOURCE_DIR/$patch" |
| exit 1; |
| fi |
| case "$patch" in |
| *.bz2) bunzip2 < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;; |
| *.gz) gunzip < "$RPM_SOURCE_DIR/$patch" | $patch_command ${1+"$@"} ;; |
| *) $patch_command ${1+"$@"} < "$RPM_SOURCE_DIR/$patch" ;; |
| esac |
| } |
| |
| # First we unpack the kernel tarball. |
| # If this isn't the first make prep, we use links to the existing clean tarball |
| # which speeds things up quite a bit. |
| |
| # Update to latest upstream. |
| %if 0%{?released_kernel} |
| %define vanillaversion 2.6.%{base_sublevel} |
| # released_kernel with stable_update available case |
| %if 0%{?stable_update} |
| %define vanillaversion 2.6.%{base_sublevel}.%{stable_update} |
| %endif |
| # non-released_kernel case |
| %else |
| %if 0%{?rcrev} |
| %define vanillaversion 2.6.%{upstream_sublevel}-rc%{rcrev} |
| %if 0%{?gitrev} |
| %define vanillaversion 2.6.%{upstream_sublevel}-rc%{rcrev}-git%{gitrev} |
| %endif |
| %else |
| # pre-{base_sublevel+1}-rc1 case |
| %if 0%{?gitrev} |
| %define vanillaversion 2.6.%{base_sublevel}-git%{gitrev} |
| %endif |
| %endif |
| %endif |
| |
| if [ ! -d %{name}-%{rpmversion}-%{pkg_release}/vanilla-%{vanillaversion} ]; then |
| # Ok, first time we do a make prep. |
| rm -f pax_global_header |
| %setup -q -n %{name}-%{rpmversion}-%{pkg_release} -c |
| mv linux-%{kversion} vanilla-%{vanillaversion} |
| cd vanilla-%{vanillaversion} |
| |
| # Update vanilla to the latest upstream. |
| # released_kernel with stable_update available case |
| %if 0%{?stable_update} |
| ApplyPatch patch-2.6.%{base_sublevel}.%{stable_update}.bz2 |
| # non-released_kernel case |
| %else |
| %if 0%{?rcrev} |
| ApplyPatch patch-2.6.%{upstream_sublevel}-rc%{rcrev}.bz2 |
| %if 0%{?gitrev} |
| ApplyPatch patch-2.6.%{upstream_sublevel}-rc%{rcrev}-git%{gitrev}.bz2 |
| %endif |
| %else |
| # pre-{base_sublevel+1}-rc1 case |
| %if 0%{?gitrev} |
| ApplyPatch patch-2.6.%{base_sublevel}-git%{gitrev}.bz2 |
| %endif |
| %endif |
| %endif |
| |
| # This patch adds a "make nonint_oldconfig" which is non-interactive and |
| # also gives a list of missing options at the end. Useful for automated |
| # builds (as used in the buildsystem). |
| ApplyPatch linux-2.6-build-nonintconfig.patch |
| |
| # create a directory to hold the config files |
| mkdir configs |
| |
| # now move back up and get ready to work |
| cd .. |
| |
| else |
| # We already have a vanilla dir. |
| cd %{name}-%{rpmversion}-%{pkg_release} |
| if [ -d linux-%{rpmversion}.%{_target_cpu} ]; then |
| # Just in case we ctrl-c'd a prep already |
| rm -rf deleteme.%{_target_cpu} |
| # Move away the stale away, and delete in background. |
| mv linux-%{rpmversion}.%{_target_cpu} deleteme.%{_target_cpu} |
| rm -rf deleteme.%{_target_cpu} & |
| fi |
| fi |
| |
| cp -rl vanilla-%{vanillaversion} linux-%{rpmversion}.%{_target_cpu} |
| |
| cd linux-%{rpmversion}.%{_target_cpu} |
| |
| cp $RPM_SOURCE_DIR/config-* . |
| cp %{SOURCE15} . |
| cp %{SOURCE30} . |
| |
| # Dynamically generate kernel .config files from config-* files |
| make -f %{SOURCE3} VERSION=%{rpmversion} configs |
| |
| # START OF PATCH APPLICATIONS |
| %if 0%{?rcrev} |
| ApplyPatch patch-%{rpmversion}-%{rctag}-%{rttag}.bz2 |
| %else |
| ApplyPatch patch-%{rpmversion}-%{rttag}.bz2 |
| %endif |
| |
| ApplyPatch Allocate-RTSJ-memory-for-TCK-conformance-test.patch |
| ApplyPatch Add-dev-rmem-device-driver-for-real-time-JVM-testing.patch |
| ApplyPatch ibm-rmem-for-rtsj.patch |
| ApplyPatch linux-2.6-dynticks-off-by-default.patch |
| # ApplyPatch forward-port-of-limit-i386-ram-to-16gb.patch |
| ApplyPatch linux-2.6-panic-on-oops.patch |
| ApplyPatch ibm-rtl-driver.patch |
| ApplyPatch ibm-hs21-tmid-fix.patch |
| ApplyPatch scsi-fc-transport-removal-of-target-configurable.patch |
| ApplyPatch bz523604-remove-pulse-code-from-the-bnx2x-driver.patch |
| |
| ### 2.6.33.2-rt13-mrg13 |
| ApplyPatch tracing-x86-Add-check-to-detect-GCC-messing-with-mco.patch |
| |
| ### 2.6.33.4-rt20-mrg19 |
| ApplyPatch i7core_edac-Bring-the-i7core_edac-up-to-date-with-li.patch |
| ApplyPatch i7core_edac-Always-call-i7core_-ur-dimm_check_mc_ecc.patch |
| ApplyPatch i7core_edac-i7core_register_mci-should-not-fall-thro.patch |
| ApplyPatch i7core_edac-Add-support-for-Westmere-to-i7core_edac.patch |
| |
| ### 2.6.33.5-rt23-mrg27 |
| ApplyPatch bnx2-backport.patch |
| ApplyPatch bnx2x-FW-5.2.13.patch |
| |
| ### 2.6.33.6-rt26-mrg29 |
| # ApplyPatch InfiniBand-Add-IBoE-support.patch |
| |
| ### 2.6.33.6-rt26-mrg31 |
| ApplyPatch bz612275-ibm_rtl-check_DMI_information_in_module_probe.patch |
| |
| ### 2.6.33.7-rt29-mrg37 |
| ApplyPatch bz625713-Fix-an-Oops-in-the-NFSv4-atomic-open-code.patch |
| ApplyPatch bz625701-can-add-limit-for-nframes-and-clean-up-signed-unsign.patch |
| ApplyPatch bz621436-drm-stop-information-leak-of-old-kernel-stack.patch |
| ApplyPatch bz621436-drm-block-userspace-under-allocating-buffer-and-havi.patch |
| ApplyPatch bz627807-KEYS-Fix-RCU-no-lock-warning-in-keyctl_session_to_pa.patch |
| ApplyPatch bz627807-KEYS-Fix-bug-in-keyctl_session_to_parent-if-parent-h.patch |
| |
| ### 2.6.33.7-rt29-mrg38 |
| ApplyPatch bz632070-niu-Fix-kernel-buffer-overflow-for-ETHTOOL_GRXCLSRLA.patch |
| ApplyPatch bz631624-tracing-Do-not-allow-llseek-to-set_ftrace_filter.patch |
| |
| ### 2.6.33.7-rt29-mrg39 |
| ApplyPatch bz626316-act_nat-use-stack-variable.patch |
| ApplyPatch bz626316-net-sched-fix-some-kernel-memory-leaks.patch |
| ApplyPatch bz628436-wireless-extensions-fix-kernel-heap-content-leak.patch |
| ApplyPatch bz630553-ALSA-seq-oss-Fix-double-free-at-error-path-of-snd_se.patch |
| ApplyPatch bz634450-x86-64-compat-Test-rax-for-the-syscall-number-not-ea.patch |
| ApplyPatch bz634450-x86-64-compat-Retruncate-rax-after-ia32-syscall-entr.patch |
| ApplyPatch bz629445-aio-check-for-multiplication-overflow-in-do_io_submi.patch |
| ApplyPatch bz633142-drivers-net-usb-hso.c-prevent-reading-uninitialized-.patch |
| ApplyPatch bz633147-drivers-net-eql.c-prevent-reading-uninitialized-stac.patch |
| ApplyPatch bz633151-drivers-net-cxgb3-cxgb3_main.c-prevent-reading-unini.patch |
| |
| ### 2.6.33.7-rt29-mrg40 |
| ApplyPatch bz634460-compat-Make-compat_alloc_user_space-incorporate-the.patch |
| |
| ### 2.6.33.7-rt29-mrg45 |
| ApplyPatch bz607854-mm-keep-a-guard-page-below-a-grow-down-stack-segment.patch |
| ApplyPatch bz607854-mm-fix-missing-page-table-unmap-for-stack-guard-page.patch |
| ApplyPatch bz607854-x86-don-t-send-SIGBUS-for-kernel-page-faults.patch |
| ApplyPatch bz607854-mm-fix-page-table-unmap-for-stack-guard-page-properl.patch |
| ApplyPatch bz607854-mm-fix-up-some-user-visible-effects-of-the-stack-gua.patch |
| ApplyPatch bz607854-mm-make-the-vma-list-be-doubly-linked.patch |
| ApplyPatch bz607854-mm-make-the-mlock-stack-guard-page-checks-stricter.patch |
| ApplyPatch bz607854-mm-make-stack-guard-page-logic-use-vm_prev-pointer.patch |
| |
| ### 2.6.33.7-rt29-mrg46 |
| ApplyPatch bz638480-ALSA-prevent-heap-corruption-in-snd_ctl_new.patch |
| ApplyPatch bz647434-perf-Mark-software-events-as-irqsafe.patch |
| |
| # END OF PATCH APPLICATIONS |
| |
| # empty final patch to facilitate testing of kernel patches |
| ApplyPatch linux-kernel-test.patch |
| |
| cp %{SOURCE10} Documentation/ |
| |
| # Necessary for BZ459141 (ftrace daemon removal) |
| chmod +x scripts/recordmcount.pl |
| |
| # now run oldconfig over all the config files |
| for i in *.config |
| do |
| if [ "$i" != ${i//vanilla/chocolate/} ]; then |
| isvanilla=true |
| OLDDIR=`pwd` |
| else |
| isvanilla=false |
| fi |
| mv $i .config |
| Arch=`head -1 .config | cut -b 3-` |
| if [ "$isvanilla" = "true" ]; then |
| pushd ../vanilla-%{vanillaversion}; |
| mv $OLDDIR/.config . |
| fi |
| pwd |
| make ARCH=$Arch nonint_oldconfig > /dev/null |
| pwd |
| echo "# $Arch" > configs/$i |
| cat .config >> configs/$i |
| if [ "$isvanilla" = "true" ]; then |
| popd |
| fi |
| done |
| |
| # make sure the kernel has the sublevel we know it has. This looks weird |
| # but for -pre and -rc versions we need it since we only want to use |
| # the higher version when the final kernel is released. |
| perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -prep/" Makefile |
| |
| # get rid of unwanted files resulting from patch fuzz |
| cd .. |
| find . \( -name "*.orig" -o -name "*~" \) -exec rm -f {} \; >/dev/null |
| |
| ### |
| ### build |
| ### |
| %build |
| # |
| # Create gpg keys for signing the modules |
| # |
| |
| %if %{signmodules} |
| gpg --homedir . --batch --gen-key %{SOURCE11} |
| gpg --homedir . --export --keyring ./kernel.pub Red > extract.pub |
| make linux-%{rpmversion}.%{_target_cpu}/scripts/bin2c |
| linux-%{rpmversion}.%{_target_cpu}/scripts/bin2c ksign_def_public_key __initdata < extract.pub > linux-%{rpmversion}.%{_target_cpu}/crypto/signature/key.h |
| %endif |
| |
| BuildKernel() { |
| MakeTarget=$1 |
| KernelImage=$2 |
| Flavour=$3 |
| DoDevel=$4 |
| |
| if [ "vanilla" = "$Flavour" ]; then |
| pushd ../vanilla-%{vanillaversion} |
| fi |
| |
| # Pick the right config file for the kernel we're building |
| if [ -n "$Flavour" ] ; then |
| Config=kernel-%{rpmversion}-%{_target_cpu}-%{realtime}$Flavour.config |
| DevelDir=%{_usrsrc}/kernels/%{KVERREL}-$Flavour-%{_target_cpu} |
| DevelLink= |
| else |
| Config=kernel-%{rpmversion}-%{_target_cpu}-%{realtime}.config |
| DevelDir=%{_usrsrc}/kernels/%{KVERREL}-%{_target_cpu} |
| DevelLink= |
| fi |
| |
| KernelVer=%{KVERREL}$Flavour |
| echo BUILDING A KERNEL FOR $Flavour %{_target_cpu}... |
| echo "KernelVer => $KernelVer" |
| echo "_smp_mflags => %{_smp_mflags}" |
| |
| # make sure EXTRAVERSION says what we want it to say |
| perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{?stablerev}-%{pkg_release}$Flavour/" Makefile |
| |
| # ensure the sublevel is correct (the upstream sublevel) |
| perl -p -i -e "s/^SUBLEVEL.*/SUBLEVEL = %{upstream_sublevel}/" Makefile |
| |
| # and now to start the build process |
| |
| make -s mrproper |
| cp configs/$Config .config |
| |
| Arch=`head -1 .config | cut -b 3-` |
| echo USING ARCH=$Arch |
| |
| if [ "$KernelImage" == "x86" ]; then |
| KernelImage=arch/$Arch/boot/bzImage |
| fi |
| |
| make -s ARCH=$Arch nonint_oldconfig > /dev/null |
| make -s ARCH=$Arch %{?_smp_mflags} $MakeTarget |
| make -s ARCH=$Arch %{?_smp_mflags} modules || exit 1 |
| |
| # Start installing the results |
| |
| %if "%{_enable_debug_packages}" == "1" |
| mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/boot |
| mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/%{image_install_path} |
| %endif |
| mkdir -p $RPM_BUILD_ROOT/%{image_install_path} |
| install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer |
| install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-$KernelVer |
| touch $RPM_BUILD_ROOT/boot/initrd-$KernelVer.img |
| cp $KernelImage $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-$KernelVer |
| if [ -f arch/$Arch/boot/zImage.stub ]; then |
| cp arch/$Arch/boot/zImage.stub $RPM_BUILD_ROOT/%{image_install_path}/zImage.stub-$KernelVer || : |
| fi |
| |
| mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer |
| make ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer |
| |
| %if %{buildkabi} |
| # Create the kABI metadata for use in packaging |
| echo "**** GENERATING kernel ABI metadata ****" |
| gzip -c9 < Module.symvers > $RPM_BUILD_ROOT/boot/symvers-$KernelVer.gz |
| chmod 0755 %_sourcedir/kabitool |
| if [ ! -e $RPM_SOURCE_DIR/kabi_whitelist ]; then |
| %_sourcedir/kabitool -b $RPM_BUILD_ROOT/$DevelDir -k $KernelVer -l $RPM_BUILD_ROOT/kabi_whitelist |
| else |
| cp $RPM_SOURCE_DIR/kabi_whitelist $RPM_BUILD_ROOT/kabi_whitelist |
| fi |
| rm -f %{_tmppath}/kernel-$KernelVer-kabideps |
| %_sourcedir/kabitool -b . -d %{_tmppath}/kernel-$KernelVer-kabideps -k $KernelVer -w $RPM_BUILD_ROOT/kabi_whitelist |
| %endif |
| |
| # And save the headers/makefiles etc for building modules against |
| # |
| # This all looks scary, but the end result is supposed to be: |
| # * all arch relevant include/ files |
| # * all Makefile/Kconfig files |
| # * all script/ files |
| |
| if [ "$DoDevel" = "True" ] |
| then |
| rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build |
| rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/source |
| mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build |
| (cd $RPM_BUILD_ROOT/lib/modules/$KernelVer ; ln -s build source) |
| # dirs for additional modules per module-init-tools, kbuild/modules.txt |
| mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/extra |
| mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/updates |
| mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/weak-updates |
| # first copy everything |
| cp --parents `find -type f -name "Makefile*" -o -name "Kconfig*"` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build |
| cp Module.symvers $RPM_BUILD_ROOT/lib/modules/$KernelVer/build |
| %if %{buildkabi} |
| mv $RPM_BUILD_ROOT/kabi_whitelist $RPM_BUILD_ROOT/lib/modules/$KernelVer/build |
| cp symsets-$KernelVer.tar.gz $RPM_BUILD_ROOT/lib/modules/$KernelVer/build |
| %endif |
| # then drop all but the needed Makefiles/Kconfig files |
| rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Documentation |
| rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts |
| rm -rf $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include |
| cp .config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build |
| cp -a scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build |
| if [ -d arch/%{_arch}/scripts ]; then |
| cp -a arch/%{_arch}/scripts $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch} || : |
| fi |
| if [ -f arch/%{_arch}/*lds ]; then |
| cp -a arch/%{_arch}/*lds $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/%{_arch}/ || : |
| fi |
| rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*.o |
| rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/scripts/*/*.o |
| if [ -d arch/%{asmarch}/include ]; then |
| cp -a --parents arch/%{asmarch}/include $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/ |
| fi |
| mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include |
| cd include |
| # The following two commands are the result of an experiment that |
| # is not finished, do not simply uncomment |
| # cp -a ../arch/x86/include/asm $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/asm-x86 |
| # ln -s asm-x86 asm |
| cp -a acpi config keys linux math-emu media mtd net pcmcia rdma rxrpc scsi sound video asm-generic crypto drm generated trace $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include |
| # cp -a `readlink asm` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include |
| # While arch/powerpc/include/asm is still a symlink to the old |
| # include/asm-ppc{64,} directory, include that in kernel-devel too. |
| if [ "$Arch" = "powerpc" -a -r ../arch/powerpc/include/asm ]; then |
| cp -a `readlink ../arch/powerpc/include/asm` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include |
| mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/$Arch/include |
| pushd $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/arch/$Arch/include |
| ln -sf ../../../include/asm-ppc* asm |
| popd |
| fi |
| # Make sure the Makefile and version.h have a matching timestamp so that |
| # external modules can be built |
| touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/Makefile $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/version.h |
| touch -r $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/linux/autoconf.h |
| # Copy .config to include/config/auto.conf so "make prepare" is unnecessary. |
| cp $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/.config $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include/config/auto.conf |
| cd .. |
| |
| # |
| # save the vmlinux file for kernel debugging into the kernel-debuginfo rpm |
| # |
| %if "%{_enable_debug_packages}" == "1" |
| mkdir -p $RPM_BUILD_ROOT/usr/lib/debug/lib/modules/$KernelVer |
| cp vmlinux $RPM_BUILD_ROOT/usr/lib/debug/lib/modules/$KernelVer |
| %endif |
| |
| find $RPM_BUILD_ROOT/lib/modules/$KernelVer -name "*.ko" -type f >modnames |
| |
| # gpg sign the modules |
| %if %{signmodules} |
| gcc -o scripts/modsign/mod-extract scripts/modsign/mod-extract.c -Wall |
| KEYFLAGS="--no-default-keyring --homedir .." |
| KEYFLAGS="$KEYFLAGS --secret-keyring ../kernel.sec" |
| KEYFLAGS="$KEYFLAGS --keyring ../kernel.pub" |
| export KEYFLAGS |
| |
| for i in `cat modnames` |
| do |
| sh ./scripts/modsign/modsign.sh $i Red |
| mv -f $i.signed $i |
| done |
| unset KEYFLAGS |
| %endif |
| # mark modules executable so that strip-to-file can strip them |
| cat modnames | xargs chmod u+x |
| |
| # detect missing or incorrect license tags |
| for i in `cat modnames` |
| do |
| echo -n "$i " |
| /sbin/modinfo -l $i >> modinfo |
| done |
| cat modinfo |\ |
| grep -v "^GPL" | |
| grep -v "^Dual BSD/GPL" |\ |
| grep -v "^Dual MPL/GPL" |\ |
| grep -v "^GPL and additional rights" |\ |
| grep -v "^GPL v2" && exit 1 |
| rm -f modinfo |
| rm -f modnames |
| # remove files that will be auto generated by depmod at rpm -i time |
| rm -f $RPM_BUILD_ROOT/lib/modules/$KernelVer/modules.* |
| |
| # Move the devel headers out of the root file system |
| mkdir -p $RPM_BUILD_ROOT%{_usrsrc}/kernels |
| mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir |
| ln -sf ../../..$DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build |
| [ -z "$DevelLink" ] || ln -sf `basename $DevelDir` $RPM_BUILD_ROOT/$DevelLink |
| fi |
| if [ "vanilla" = "$Flavour" ]; then |
| popd |
| fi |
| } |
| |
| ### |
| # DO it... |
| ### |
| |
| # prepare directories |
| rm -rf $RPM_BUILD_ROOT |
| mkdir -p $RPM_BUILD_ROOT/boot |
| |
| cd linux-%{rpmversion}.%{_target_cpu} |
| |
| %if %{buildrt} |
| BuildKernel %make_target %kernel_image "" True |
| %endif |
| |
| %if %{builddebug} |
| BuildKernel %make_target %kernel_image debug True |
| %endif |
| |
| %if %{buildtrace} |
| BuildKernel %make_target %kernel_image trace True |
| %endif |
| |
| %if %{buildvanilla} |
| BuildKernel %make_target %kernel_image vanilla True |
| %endif |
| |
| # Perf |
| %if %{buildperf} |
| pushd tools/perf |
| # Build the perf binary and doc and install it. |
| # make prefix=$RPM_BUILD_ROOT%{_prefix} -C tools/perf install-man |
| make -s %{?_smp_mflags} V=1 DESTDIR=$RPM_BUILD_ROOT prefix=/usr install |
| |
| # Perf docs are now created elsewhere and packed in a .tar.gz file |
| # Note I've added the BuildRequires so that we could build this now too |
| popd |
| tar xvjf %{SOURCE31} -C $RPM_BUILD_ROOT |
| %endif |
| |
| if [ -d %{buildroot}/lib/firmware ]; then |
| rm -rf %{buildroot}/lib/firmware |
| fi |
| |
| |
| ### |
| ### Special hacks for debuginfo subpackages. |
| ### |
| |
| # This macro is used by %%install, so we must redefine it before that. |
| %define debug_package %{nil} |
| |
| %if "%{_enable_debug_packages}" == "1" |
| %ifnarch noarch |
| %global __debug_package 1 |
| %package debuginfo-common |
| Summary: Kernel source files used by %{name}-debuginfo packages |
| Group: Development/Debug |
| Provides: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL} |
| |
| %description debuginfo-common |
| This package is required by %{name}-debuginfo subpackages. |
| It provides the kernel source files common to all builds. |
| |
| %files debuginfo-common |
| %defattr(-,root,root) |
| %{_usrsrc}/debug/%{name}-%{rpmversion}-%{pkg_release}/linux-%{rpmversion}.%{_target_cpu} |
| %{_usrsrc}/debug/.build-id |
| %if %{buildvanilla} |
| %{_usrsrc}/debug/%{name}-%{rpmversion}-%{pkg_release}/vanilla-%{vanillaversion} |
| %endif |
| %dir %{_usrsrc}/debug |
| %dir /usr/lib/debug |
| %dir /usr/lib/debug/%{image_install_path} |
| %dir /usr/lib/debug/lib |
| %dir /usr/lib/debug/lib/modules |
| %dir /usr/lib/debug%{_usrsrc}/kernels |
| %endif |
| %endif |
| |
| %if %{buildperf} |
| %package -n perf-debuginfo |
| Summary: Debug information for kernel-rt-perf |
| Group: Development/Debug |
| |
| %description -n perf-debuginfo |
| Provides the source files and debuginfo for kernel-rt-perf |
| |
| %files -n perf-debuginfo |
| %defattr(-,root,root) |
| /usr/lib/debug%{_bindir} |
| %endif |
| |
| |
| ### |
| ### install |
| ### |
| |
| %install |
| |
| cd linux-%{rpmversion}.%{_target_cpu} |
| |
| # make the build-id directory (for building on fedora) |
| mkdir -p $RPM_BUILD_ROOT%{_usrsrc}/debug/.build-id |
| |
| %if %{builddoc} |
| mkdir -p $RPM_BUILD_ROOT%{_docdir}/kernel-doc-%{rpmversion}/Documentation |
| |
| # sometimes non-world-readable files sneak into the kernel source tree |
| chmod -R a+r * |
| # copy the source over |
| tar cf - Documentation | tar xf - -C $RPM_BUILD_ROOT%{_docdir}/kernel-doc-%{rpmversion} |
| %endif |
| |
| %if %{buildheaders} |
| # Install kernel headers |
| make ARCH=%{hdrarch} INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr headers_install |
| |
| # Manually go through the 'headers_check' process for every file, but |
| # don't die if it fails |
| chmod +x scripts/hdrcheck.sh |
| echo -e '*****\n*****\nHEADER EXPORT WARNINGS:\n*****' > hdrwarnings.txt |
| for FILE in `find $RPM_BUILD_ROOT%{_includedir}` ; do |
| scripts/hdrcheck.sh $RPM_BUILD_ROOT%{_includedir} $FILE >> hdrwarnings.txt || : |
| done |
| echo -e '*****\n*****' >> hdrwarnings.txt |
| if grep -q exist hdrwarnings.txt; then |
| sed s:^$RPM_BUILD_ROOT%{_includedir}:: hdrwarnings.txt |
| # Temporarily cause a build failure if header inconsistencies. |
| # exit 1 |
| fi |
| |
| # glibc provides scsi headers for itself, for now |
| rm -rf $RPM_BUILD_ROOT%{_includedir}/scsi |
| rm -f $RPM_BUILD_ROOT%{_includedir}/asm*/atomic.h |
| rm -f $RPM_BUILD_ROOT%{_includedir}/asm*/io.h |
| rm -f $RPM_BUILD_ROOT%{_includedir}/asm*/irq.h |
| %endif |
| |
| %if %{buildfirmware} |
| cp configs/kernel*x86_64-rt.config .config |
| make INSTALL_MOD_PATH=%{buildroot} firmware_install |
| mv %{buildroot}/lib/firmware %{buildroot}/lib/zzzzz |
| mkdir %{buildroot}/lib/firmware |
| mv %{buildroot}/lib/zzzzz %{buildroot}/lib/firmware/%{version}-%{release} |
| %endif |
| |
| |
| ### |
| ### clean |
| ### |
| |
| %clean |
| rm -rf $RPM_BUILD_ROOT |
| |
| ### |
| ### scripts |
| ### |
| |
| %post |
| /sbin/new-kernel-pkg --package kernel-rt --banner "Red Hat Enterprise Linux (realtime)" --mkinitrd --depmod --install %{KVERREL} || exit $? |
| |
| %post devel |
| if [ -f /etc/sysconfig/kernel ] |
| then |
| . /etc/sysconfig/kernel || exit $? |
| fi |
| if [ "$HARDLINK" != "no" -a -x /usr/sbin/hardlink ] ; then |
| pushd %{_usrsrc}/kernels/%{KVERREL}-%{_target_cpu} > /dev/null |
| /usr/bin/find . -type f | while read f; do hardlink -c %{_usrsrc}/kernels/*FC*/$f $f ; done |
| popd > /dev/null |
| fi |
| |
| %post vanilla |
| /sbin/new-kernel-pkg --package kernel-rt-vanilla --mkinitrd --depmod --install %{KVERREL}vanilla || exit $? |
| |
| %post trace |
| /sbin/new-kernel-pkg --package kernel-rt-trace --mkinitrd --depmod --install %{KVERREL}trace || exit $? |
| |
| %post debug |
| /sbin/new-kernel-pkg --package kernel-rt --banner "Red Hat Enterprise Linux (realtime debug)" --mkinitrd --depmod --install %{KVERREL}debug || exit $? |
| |
| %preun |
| /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL} || exit $? |
| |
| %preun vanilla |
| /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}vanilla || exit $? |
| |
| %preun trace |
| /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}trace || exit $? |
| |
| %preun debug |
| /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}debug || exit $? |
| |
| ### |
| ### file lists |
| ### |
| |
| # This is %{image_install_path} on an arch where that includes ELF files, |
| # or empty otherwise. |
| %define elf_image_install_path %{?kernel_image_elf:%{image_install_path}} |
| |
| %if %{buildrt} |
| %if "%{_enable_debug_packages}" == "1" |
| %ifnarch noarch |
| %global __debug_package 1 |
| %package debuginfo |
| Summary: Debug information for package %{name} |
| Group: Development/Debug |
| Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL} |
| Provides: %{name}-debuginfo-%{_target_cpu} = %{KVERREL} |
| %description debuginfo |
| This package provides debug information for package %{name} |
| This is required to use SystemTap with %{name}-%{KVERREL}. |
| %files debuginfo |
| %defattr(-,root,root) |
| %if "%{elf_image_install_path}" != "" |
| /usr/lib/debug/%{elf_image_install_path}/*-%{KVERREL}.debug |
| %endif |
| /usr/lib/debug/lib/modules/%{KVERREL} |
| /usr/lib/debug%{_usrsrc}/kernels/%{KVERREL}-%{_target_cpu} |
| %endif |
| %endif |
| |
| %files |
| %defattr(-,root,root) |
| /%{image_install_path}/vmlinuz-%{KVERREL} |
| /boot/System.map-%{KVERREL} |
| %if %{buildkabi} |
| /boot/symvers-%{KVERREL}.gz |
| %endif |
| /boot/config-%{KVERREL} |
| %dir /lib/modules/%{KVERREL} |
| /lib/modules/%{KVERREL}/kernel |
| /lib/modules/%{KVERREL}/build |
| /lib/modules/%{KVERREL}/source |
| /lib/modules/%{KVERREL}/extra |
| /lib/modules/%{KVERREL}/updates |
| /lib/modules/%{KVERREL}/weak-updates |
| /lib/firmware/%{version}-%{release} |
| %ghost /boot/initrd-%{KVERREL}.img |
| |
| |
| %files devel |
| %defattr(-,root,root) |
| %{_usrsrc}/kernels/%{KVERREL}-%{_target_cpu} |
| |
| %endif # buildrt |
| |
| %if %{buildheaders} |
| %files headers |
| %defattr(-,root,root) |
| %{_includedir}/* |
| %endif |
| |
| %if %{buildperf} |
| %files -n perf |
| %defattr(-,root,root) |
| %{_bindir}/perf |
| %{_mandir}/man1/* |
| %{_libexecdir}/perf-core/* |
| %endif |
| |
| %if %{builddebug} |
| %files debug |
| %defattr(-,root,root) |
| /%{image_install_path}/vmlinuz-%{KVERREL}debug |
| /boot/System.map-%{KVERREL}debug |
| %if %{buildkabi} |
| /boot/symvers-%{KVERREL}debug.gz |
| %endif |
| /boot/config-%{KVERREL}debug |
| %dir /lib/modules/%{KVERREL}debug |
| /lib/modules/%{KVERREL}debug/kernel |
| /lib/modules/%{KVERREL}debug/build |
| /lib/modules/%{KVERREL}debug/source |
| /lib/modules/%{KVERREL}debug/extra |
| /lib/modules/%{KVERREL}debug/updates |
| /lib/modules/%{KVERREL}debug/weak-updates |
| /lib/firmware/%{version}-%{release} |
| %ghost /boot/initrd-%{KVERREL}debug.img |
| |
| %files debug-devel |
| %defattr(-,root,root) |
| %{_usrsrc}/kernels/%{KVERREL}-debug-%{_target_cpu} |
| |
| %if "%{_enable_debug_packages}" == "1" |
| %ifnarch noarch |
| %global __debug_package 1 |
| %package debug-debuginfo |
| Summary: Debug information for package %{name}-debug |
| Group: Development/Debug |
| Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL} |
| Provides: %{name}-debug-debuginfo-%{_target_cpu} = %{KVERREL} |
| %description debug-debuginfo |
| This package provides debug information for package %{name}-debug |
| This is required to use SystemTap with %{name}-debug-%{KVERREL}. |
| %files debug-debuginfo |
| %defattr(-,root,root) |
| %if "%{elf_image_install_path}" != "" |
| /usr/lib/debug/%{elf_image_install_path}/*-%{KVERREL}debug.debug |
| %endif |
| /usr/lib/debug/lib/modules/%{KVERREL}debug |
| /usr/lib/debug%{_usrsrc}/kernels/%{KVERREL}-debug-%{_target_cpu} |
| %endif |
| %endif |
| %endif # builddebug |
| |
| %if %{buildvanilla} |
| %if "%{_enable_debug_packages}" == "1" |
| %ifnarch noarch |
| %global __debug_package 1 |
| %package vanilla-debuginfo |
| Summary: Debug information for package %{name}-vanilla |
| Group: Development/Debug |
| Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL} |
| Provides: %{name}-vanilla-debuginfo-%{_target_cpu} = %{KVERREL} |
| %description vanilla-debuginfo |
| This package provides debug information for package %{name}-vanilla |
| This is required to use SystemTap with %{name}-vanilla-%{KVERREL}. |
| %files vanilla-debuginfo |
| %defattr(-,root,root) |
| %if "%{elf_image_install_path}" != "" |
| /usr/lib/debug/%{image_install_path}/*-%{KVERREL}vanilla.debug |
| %endif |
| /usr/lib/debug/lib/modules/%{KVERREL}vanilla |
| /usr/lib/debug%{_usrsrc}/kernels/%{KVERREL}-vanilla-%{_target_cpu} |
| %endif |
| %endif |
| |
| %files vanilla |
| %defattr(-,root,root) |
| /%{image_install_path}/vmlinuz-%{KVERREL}vanilla |
| /boot/System.map-%{KVERREL}vanilla |
| %if %{buildkabi} |
| /boot/symvers-%{KVERREL}vanilla.gz |
| %endif |
| /boot/config-%{KVERREL}vanilla |
| %dir /lib/modules/%{KVERREL}vanilla |
| /lib/modules/%{KVERREL}vanilla/kernel |
| /lib/modules/%{KVERREL}vanilla/build |
| /lib/modules/%{KVERREL}vanilla/source |
| /lib/modules/%{KVERREL}vanilla/extra |
| /lib/modules/%{KVERREL}vanilla/updates |
| /lib/modules/%{KVERREL}vanilla/weak-updates |
| /lib/firmware/%{version}-%{release} |
| %ghost /boot/initrd-%{KVERREL}vanilla.img |
| |
| %files vanilla-devel |
| %defattr(-,root,root) |
| %{_usrsrc}/kernels/%{KVERREL}-vanilla-%{_target_cpu} |
| %endif |
| |
| %if %{buildtrace} |
| %if "%{_enable_debug_packages}" == "1" |
| %ifnarch noarch |
| %global __debug_package 1 |
| %package trace-debuginfo |
| Summary: Debug information for package %{name}-trace |
| Group: Development/Debug |
| Requires: %{name}-debuginfo-common-%{_target_cpu} = %{KVERREL} |
| Provides: %{name}-trace-debuginfo-%{_target_cpu} = %{KVERREL} |
| %description trace-debuginfo |
| This package provides debug information for package %{name}-trace |
| This is required to use SystemTap with %{name}-trace-%{KVERREL}. |
| %files trace-debuginfo |
| %defattr(-,root,root) |
| %if "%{elf_image_install_path}" != "" |
| /usr/lib/debug/%{elf_image_install_path}/*-%{KVERREL}trace.debug |
| %endif |
| /usr/lib/debug/lib/modules/%{KVERREL}trace |
| /usr/lib/debug%{_usrsrc}/kernels/%{KVERREL}-trace-%{_target_cpu} |
| %endif |
| %endif |
| |
| %files trace |
| %defattr(-,root,root) |
| /%{image_install_path}/vmlinuz-%{KVERREL}trace |
| /boot/System.map-%{KVERREL}trace |
| %if %{buildkabi} |
| /boot/symvers-%{KVERREL}trace.gz |
| %endif |
| /boot/config-%{KVERREL}trace |
| %dir /lib/modules/%{KVERREL}trace |
| /lib/modules/%{KVERREL}trace/kernel |
| /lib/modules/%{KVERREL}trace/build |
| /lib/modules/%{KVERREL}trace/source |
| /lib/modules/%{KVERREL}trace/extra |
| /lib/modules/%{KVERREL}trace/updates |
| /lib/modules/%{KVERREL}trace/weak-updates |
| /lib/firmware/%{version}-%{release} |
| %ghost /boot/initrd-%{KVERREL}trace.img |
| |
| %files trace-devel |
| %defattr(-,root,root) |
| %{_usrsrc}/kernels/%{KVERREL}-trace-%{_target_cpu} |
| %endif |
| |
| # only some architecture builds need kernel-doc |
| |
| %if %{builddoc} |
| %files doc |
| %defattr(-,root,root) |
| %{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation/* |
| %dir %{_datadir}/doc/kernel-doc-%{rpmversion}/Documentation |
| %dir %{_datadir}/doc/kernel-doc-%{rpmversion} |
| %endif |
| |
| %changelog |
| * Wed Oct 13 2010 John Kacur <jkacur@redhat.com> - 2.6.33.7-rt29-mrg46 |
| - Added bz638480-ALSA-prevent-heap-corruption-in-snd_ctl_new.patch |
| - Added bz647434-perf-Mark-software-events-as-irqsafe.patch |
| - Modified the kernel-rt.spec file for bz608784 |
| |
| * Wed Oct 6 2010 John Kacur <jkacur@redhat.com> - 2.6.33.7-rt29-mrg45 |
| - Added bz607854-mm-keep-a-guard-page-below-a-grow-down-stack-segment.patch |
| - Added bz607854-mm-fix-missing-page-table-unmap-for-stack-guard-page.patch |
| - Added bz607854-x86-don-t-send-SIGBUS-for-kernel-page-faults.patch |
| - Added bz607854-mm-fix-page-table-unmap-for-stack-guard-page-properl.patch |
| - Added bz607854-mm-fix-up-some-user-visible-effects-of-the-stack-gua.patch |
| - Added bz607854-mm-make-the-mlock-stack-guard-page-checks-stricter.patch |
| - Added bz607854-mm-make-stack-guard-page-logic-use-vm_prev-pointer.patch |
| - Added bz607854-mm-make-the-vma-list-be-doubly-linked.patch |
| |
| * Mon Oct 4 2010 Clark Williams <williams@redhat.com> - 2.6.33.7-rt29-mrg44 |
| - removed logic for generating kernel-rt-firmware and requirements for |
| that package |
| |
| * Mon Sep 27 2010 Clark Williams <williams@redhat.com> - 2.6.33.7-rt29-mrg43 |
| - Added manual Provides for perf subpackage |
| |
| * Sun Sep 26 2010 John Kacur <jkacur@redhat.com> - 2.6.33.7-rt29-mrg42 |
| - Changes to perf |
| |
| * Tue Sep 21 2010 John Kacur <jkacur@redhat.com> - 2.6.33.7-rt29-mrg41 |
| - CONFIG_HIGHMEM4G=y, and CONFIG_HIGHMEM64G is not set |
| |
| * Mon Sep 20 2010 John Kacur <jkacur@redhat.com> - 2.6.33.7-rt29-mrg40 |
| - Added bz634460-compat-Make-compat_alloc_user_space-incorporate-the.patch |
| |
| * Mon Sep 13 2010 John Kacur <jkacur@redhat.com> - 2.6.33.7-rt29-mrg39 |
| - Added bz626316-act_nat-use-stack-variable.patch |
| - Added bz626316-net-sched-fix-some-kernel-memory-leaks.patch |
| - Added bz628436-wireless-extensions-fix-kernel-heap-content-leak.patch |
| - Added bz630553-ALSA-seq-oss-Fix-double-free-at-error-path-of-snd_se.patch |
| - Added bz634450-x86-64-compat-Test-rax-for-the-syscall-number-not-ea.patch |
| - Added bz634450-x86-64-compat-Retruncate-rax-after-ia32-syscall-entr.patch |
| - Added bz629445-aio-check-for-multiplication-overflow-in-do_io_submi.patch |
| - Added bz633142-drivers-net-usb-hso.c-prevent-reading-uninitialized-.patch |
| - Added bz633147-drivers-net-eql.c-prevent-reading-uninitialized-stac.patch |
| - Added bz633151-drivers-net-cxgb3-cxgb3_main.c-prevent-reading-unini.patch |
| |
| * Thu Sep 9 2010 John Kacur <jkacur@redhat.com> - 2.6.33.7-rt29-mrg38 |
| - Added bz632070-niu-Fix-kernel-buffer-overflow-for-ETHTOOL_GRXCLSRLA.patch |
| - Added bz631624-tracing-Do-not-allow-llseek-to-set_ftrace_filter.patch |
| - Reenabled forward-port-of-limit-i386-ram-to-16gb.patch |
| - Updated and reenabled bz523604-remove-pulse-code-from-the-bnx2x-driver.patch |
| |
| * Thu Aug 26 2010 John Kacur <jkacur@redhat.com> - 2.6.33.7-rt29-mrg37 |
| - Added bz625713-Fix-an-Oops-in-the-NFSv4-atomic-open-code.patch |
| - Added bz625701-can-add-limit-for-nframes-and-clean-up-signed-unsign.patch |
| - Added bz621436-drm-stop-information-leak-of-old-kernel-stack.patch |
| - Added bz621436-drm-block-userspace-under-allocating-buffer-and-havi.patch |
| - Added bz627807-KEYS-Fix-RCU-no-lock-warning-in-keyctl_session_to_pa.patch |
| - Added bz627807-KEYS-Fix-bug-in-keyctl_session_to_parent-if-parent-h.patch |
| - Turned off CONFIG_LLC |
| |
| * Tue Aug 17 2010 Luis Claudio R. Goncalves <lgoncalv@redhat.com> - 2.6.33.7-rt29-mrg36 |
| - Removed firmware.patch |
| - Created the (noarch) kernel-rt-firmware package |
| |
| * Wed Aug 4 2010 John Kacur <jkacur@redhat.com> - 2.6.33.7-rt29-mrg35 |
| - Rebased to v2.6.33.7-rt29 |
| |
| * Mon Aug 2 2010 John Kacur <jkacur@redhat.com> - 2.6.33.6-rt28-mrg34 |
| - Removed dca-core-cleanup.patch (adds an extra variable, rejected by tglx) |
| - Turned PAE off |
| - The following patches can all be removed because they are in -rt28 |
| - Removed consoles-not-working-properly.patch - improved version in -rt28 |
| - Removed 0045-sched-set_cpus_allowed_ptr-Don-t-use-rq-migration_th.patch |
| - Removed 0046-sched-Kill-the-broken-and-deadlockable-cpuset_lock-c.patch |
| - Removed 0047-sched-move_task_off_dead_cpu-Take-rq-lock-around-sel.patch |
| - Removed 0048-sched-move_task_off_dead_cpu-Remove-retry-logic.patch |
| - Removed 0049-sched-sched_exec-Remove-the-select_fallback_rq-logic.patch |
| - Removed 0050-sched-_cpu_down-Don-t-play-with-current-cpus_allowed.patch |
| - Removed 0051-sched-Make-select_fallback_rq-cpuset-friendly.patch |
| - Removed 0052-0017d735092844118bef006696a750a0e4ef6ebd.patch |
| - Removed 0053-futex-Protect-against-pi_blocked_on-corruption-durin.patch |
| - Removed 0054-suspend-Prevent-might-sleep-splats.patch |
| - Removed 0055-net-iptables-Fix-xt_info-locking.patch |
| - Removed 0056-x86-mce-Convert-cmci_discover_lock-to-raw_spinlock.patch |
| - Removed 0057-cpu-hotplug-Don-t-wake-up-the-desched-thread-from-id.patch |
| - Removed 0058-cpu-hotplug-Prevent-softirq-wakeup-on-wrong-CPU.patch |
| - Removed 0059-drivers-dca-Convert-dca_lock-to-a-raw-spinlock.patch |
| - Removed 0060-powerpc-cpu-hotplug-Prevent-softirq-wakeup-on-wrong-.patch |
| - Removed 0061-dca-Fix-fallout-from-raw_spinlock-conversion.patch |
| |
| * Thu Jul 29 2010 John Kacur <jkacur@redhat.com> - 2.6.33.6-rt26-mrg33 |
| - Removed convert_dca_lock_to_raw_spinlock_V2.patch (to match git) |
| - Added dca-core-cleanup.patch (to replace above) |
| |
| * Thu Jul 28 2010 John Kacur <jkacur@redhat.com> - 2.6.33.6-rt26-mrg32 |
| - Added consoles-not-working-properly.patch |
| |
| * Wed Jul 28 2010 John Kacur <jkacur@redhat.com> - 2.6.33.6-rt26-mrg31 |
| - Removed InfiniBand-Add-IBoE-support.patch |
| - Added bz612275-ibm_rtl-check_DMI_information_in_module_probe.patch |
| - Removed 0059-drivers-dca-Convert-dca_lock-to-a-raw-spinlock.patch |
| - Removed 0061-dca-Fix-fallout-from-raw_spinlock-conversion.patch |
| - Added convert_dca_lock_to_raw_spinlock_V2.patch (Replaces above two) |
| |
| * Tue Jul 20 2010 Clark Williams <williams@redhat.com> - 2.6.33.6-rt26-mrg30 |
| - merged tip/rt/2.6.33 to pickup: |
| - dca_lock fix for igb driver |
| - hotplug wakeup fixes |
| - TASK_WAKING vs. fork() deadlock fix from peterz |
| - various scheduler fixes from oleg |
| - PI futex fix from dvhart |
| - might_sleep workaround during suspend |
| - network fix for xt_info locking |
| |
| * Sat Jul 17 2010 John Kacur <jkacur@redhat.com> - 2.6.33.6-rt26-mrg29 |
| - Added InfiniBand-Add-IBoE-support.patch |
| |
| * Wed Jul 14 2010 John Kacur <jkacur@redhat.com> - 2.6.33.6-rt26-mrg28 |
| - Rebasing to 2.6.33.6-rt26 |
| - Removed gianfar-Fix-TX-ring-processing-on-SMP-machines.patch |
| - Removed Revert_select_parent_locking_fix.patch |
| - Removed Make_sure_d_kill_sets_d_parent_to_null.patch |
| - Removed powerpc-Enable-interrupts-in-do_signal.patch |
| - Removed powerpc-Disable-sparse-irq-for-RT.patch |
| - Removed lockdep-Reduce-stack_trace-usage.patch |
| - Removed bz579408-hvc_console-Fix-race-between-hvc_close-and-hvc_remov.patch |
| - Removed timer_stats-Convert-table_lock-to-raw_spin_lock.patch |
| - Removed bz568621-hvc_console-Fix-race-between_close_and_remov.patch |
| - Removed bz585096-KEYS-find_keyring_by_name-can-gain-access-to-a-freed.patch |
| - Removed perf_events-fix-errors-path-in-perf_output_begin.patch |
| - Removed trace-Update-the-comm-field-in-the-right-variable-i.patch |
| |
| * Tue Jul 13 2010 John Kacur <jkacur@redhat.com> - 2.6.33.5-rt23-mrg27 |
| - Added the bnx2-backport.patch |
| - Added bnx2x-FW-5.2.13.patch |
| |
| * Mon Jul 12 2010 John Kacur <jkacur@redhat.com> - 2.6.33.5-rt23-mrg26 |
| - Added no-vfs.patch to revert the dcache problems |
| |
| * Fri Jul 2 2010 John Kacur <jkacur@redhat.com> - 2.6.33.5-rt23-mrg25 |
| - Added gianfar-Fix-TX-ring-processing-on-SMP-machines.patch |
| - Renabled bz465837-rtc-compat-rhel5.patch-ported-to-V2.patch |
| |
| * Wed Jun 30 2010 John Kacur <jkacur@redhat.com> - 2.6.33.5-rt23-mrg24 |
| - The following two patches address the dcache problem |
| - Added Revert_select_parent_locking_fix.patch |
| - Added Make_sure_d_kill_sets_d_parent_to_null.patch |
| |
| * Wed Jun 16 2010 John Kacur <jkacur@redhat.com> - 2.6.33.5-rt23-mrg23 |
| - Added powerpc-Enable-interrupts-in-do_signal.patch |
| - Added powerpc-Disable-sparse-irq-for-RT.patch |
| - Added lockdep-Reduce-stack_trace-usage.patch |
| - Disabled lockdep-Make-MAX_STACK_TRACE_ENTRIES-configurable.patch |
| - commented out CONFIG_MAX_STACK_TRACE_ENTRIES=393216 in config-debug |
| - Added bz579408-hvc_console-Fix-race-between-hvc_close-and-hvc_remov.patch |
| - Added timer_stats-Convert-table_lock-to-raw_spin_lock.patch |
| - CONFIG_SCSI_MPT2SAS=m added to config-generic |
| - CONFIG_XFS_FS=m added to config-generic |
| - CONFIG_XFS_POSIX_ACL=y added to config-generic |
| |
| * Thu Jun 10 2010 John Kacur <jkacur@redhat.com> - 2.6.33.5-rt23-mrg22 |
| - Rebasing to 2.6.33.5-rt23 |
| |
| * Mon Jun 7 2010 John Kacur <jkacur@redhat.com> - 2.6.33.5-rt22-mrg21 |
| - Replaced nfs4-Prevent-deadlock.patch with Avoid_NFS_igrab_deadlock.patch |
| - Added Fix_d_genocide-from_decrementing_d_count_more_than_once.patch |
| - Added Fix_select_parent_dentry_traversal_locking.patch |
| |
| * Tue Jun 1 2010 John Kacur <jkacur@redhat.com> - 2.6.33.5-rt22-mrg20 |
| - Rebasing to 2.6.33.5-rt22 |
| - Removed net-ehea-make-rx-irq-handler-non-threaded-IRQF_NODEL.patch |
| - Removed fs-namespace-Fix-fuse-mount-fallout.patch |
| |
| * Wed May 26 2010 John Kacur <jkacur@redhat.com> - 2.6.33.4-rt20-mrg19 |
| - For the following four i7core_edac patches, see bz582574 |
| - Added i7core_edac-Bring-the-i7core_edac-up-to-date-with-li.patch |
| - Added i7core_edac-Always-call-i7core_-ur-dimm_check_mc_ecc.patch |
| - Added i7core_edac-i7core_register_mci-should-not-fall-thro.patch |
| - Added i7core_edac-Add-support-for-Westmere-to-i7core_edac.patch |
| - Added nfs4-Prevent-deadlock.patch - see bz596111 |
| |
| * Thu May 20 2010 John Kacur <jkacur@redhat.com> - 2.6.33.4-rt20-mrg18 |
| - Added bz585096-KEYS-find_keyring_by_name-can-gain-access-to-a-freed.patch |
| - Added net-ehea-make-rx-irq-handler-non-threaded-IRQF_NODEL.patch |
| - Added fs-namespace-Fix-fuse-mount-fallout.patch |
| |
| * Tue May 18 2010 John Kacur <jkacur@redhat.com> - 2.6.33.4-rt20-mrg17 |
| - Rebasing to 2.6.33.4-rt20 |
| - Removed fs-Add-missing-parantheses.patch |
| - Removed autofs-deadlock-fixes.patch |
| - Removed fs-Fix-mnt_count-typo.patch |
| - Removed fs-Resolve-mntput_no_expire-issues.patch |
| - Added perf_events-fix-errors-path-in-perf_output_begin.patch |
| |
| * Fri May 14 2010 John Kacur <jkacur@redhat.com> - 2.6.33.3-rt19-mrg16 |
| - Added fs-Fix-mnt_count-typo.patch |
| - Added fs-Resolve-mntput_no_expire-issues.patch |
| |
| * Tue May 11 2010 John Kacur <jkacur@redhat.com> - 2.6.33.3-rt19-mrg15 |
| - Two fixes from John Stultz for autofs deadlocks |
| |
| * Thu May 6 2010 John Kacur <jkacur@redhat.com> - 2.6.33.3-rt19-mrg14 |
| - Rebased to 2.6.33.3-rt19 |
| - Started clean-up of the spec file |
| |
| * Fri Apr 16 2010 John Kacur <jkacur@redhat.com> - 2.6.33.2-rt13-mrg13 |
| - Added tracing-x86-Add-check-to-detect-GCC-messing-with-mco.patch |
| - Fixes the problem where the function_graph is not available on 32-bit |
| - Added lockdep-Make-MAX_STACK_TRACE_ENTRIES-configurable.patch |
| - Made the default MAX_STACK_TRACE_ENTRIES to 393216 for config-debug |
| |
| * Fri Apr 9 2010 John Kacur <jkacur@redhat.com> - 2.6.33.2-rt13-mrg12 |
| - Added bz568621-hvc_console-Fix-race-between_close_and_remov.patch |
| |
| * Wed Apr 7 2010 John Kacur <jkacur@redhat.com> - 2.6.33.2-rt13-mrg11 |
| - Rebased to 2.6.33.2-rt13 |
| |
| * Tue Mar 30 2010 John Kacur <jkacur@redhat.com> - 2.6.33.1-rt11-mrg10 |
| - Added Fix-CONFIG_STACK_TRACER-warning.patch |
| - Turned CONFIG_STACK_TRACER back on in the production build |
| - Added x86-32-clean-up-rwsem-inline-asm-statements.patch |
| - Added x86-clean-up-rwsem-type-system.patch |
| - Added x86-64-rwsem-64-bit-xadd-rwsem-implementation.patch |
| - Added x86-Fix-breakage-of-UML-from-the-changes-in-the-rwse.patch |
| - Added x86-64-support-native-xadd-rwsem-implementation.patch |
| - Added x86-64-rwsem-Avoid-store-forwarding-hazard-in-__down.patch |
| - Added sched-sched_getaffinity-Allow-less-than-NR_CPUS-leng.patch |
| |
| * Mon Mar 22 2010 John Kacur <jkacur@redhat.com> 2.6.33.1-rt11-mrg9 |
| - rebasing to 2.6.33.1-rt11 |
| - Changing the production config to CONFIG_STACK_TRACER is not set |
| |
| * Thu Mar 18 2010 John Kacur <jkacur@redhat.com> 2.6.33.1-rt10-mrg8 |
| - rebasing to 2.6.33.1-rt10 |
| |
| * Wed Mar 17 2010 John Kacur <jkacur@redhat.com> - 2.6.33.1-rt9-mrg8 |
| - Rebasing to 2.6.33.1-rt9 |
| - disable the lockbreak-in-load-balancer-for-RT.patch as it is already there |
| |
| * Tue Mar 16 2010 John Kacur <jkacur@redhat.com> - 2.6.33.1-rt7-mrg7 |
| - Reenabling the IBM patches for raw memory eg: |
| - Add-dev-rmem-device-driver-for-real-time-JVM-testing.patch |
| - ibm-rmem-for-rtsj.patch |
| - Added stable patch 2.6.33.1 |
| - added CONFIG_FTRACE=y to config-generic |
| |
| * Tue Mar 16 2010 John Kacur <jkacur@redhat.com> - 2.6.33-rt7-mrg6 |
| - Added the 0001-lockbreak-in-load-balancer-for-RT.patch |
| |
| * Fri Mar 12 2010 John Kacur <jkacur@redhat.com> - 2.6.33-rt7-mrg5 |
| - rebased to 2.6.33-rt7 |
| - Due to the rebase, we can drop mm-highmem.c-Fix-pkmap_count-undeclared.patch |
| |
| * Tue Mar 9 2010 John Kacur <jkacur@redhat.com> - 2.6.33-rt4-mrg4 |
| - disabled forward-port-of-limit-i386-ram-to-16gb.patch |
| - the only part of the above patch left was rejected as unnecessary on lkml |
| - Added trace-Update-the-comm-field-in-the-right-variable-i.patch |
| |
| * Wed Mar 3 2010 John Kacur <jkacur@redhat.com> - 2.6.33-rt4-mrg3 |
| - Rebased to 2.6.33-rt4 |
| - Added mm-highmem.c-Fix-pkmap_count-undeclared.patch |
| |
| * Thu Feb 25 2010 John Kacur <jkacur@redhat.com> - 2.6.33-rc8-rt2-mrg2 |
| - Rebased to 2.6.33-rc8-rt2 |
| - Fixed config options, where options are no longer available as modules |
| |
| * Wed Feb 24 2010 John Kacur <jkacur@redhat.com> - 2.6.33-rc8-rt1-mrg1 |
| - Respinning to 2.6.33-rc8-rt1-mrg1 |
| - Removed many patches, most because they are already in 2.6.33-rc8, |
| - some because they need review, and may no-longer apply. |
| |