PCI power management reset for kexec
[linux-2.6.git] / kernel-2.6.spec
index 3c55883..99433e7 100644 (file)
@@ -12,6 +12,7 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %define builduml 0
 %define buildxen 0
 %define builddoc 0
 %define builduml 0
 %define buildxen 0
 %define builddoc 0
+%define headers 1
 
 # default is to not build this - to override, use something like
 # kernel-SPECVARS := iwlwifi=1 
 
 # default is to not build this - to override, use something like
 # kernel-SPECVARS := iwlwifi=1 
@@ -24,7 +25,7 @@ Summary: The Linux kernel (the core of the Linux operating system)
 # for module-tag.py - sublevel is used for the version (middle) part of tag names
 %define name linux-2.6
 %define module_version_varname sublevel
 # for module-tag.py - sublevel is used for the version (middle) part of tag names
 %define name linux-2.6
 %define module_version_varname sublevel
-%define taglevel 35
+%define taglevel 42
 
 #
 # Polite request for people who spin their own kernel rpms:
 
 #
 # Polite request for people who spin their own kernel rpms:
@@ -43,13 +44,18 @@ Summary: The Linux kernel (the core of the Linux operating system)
 # updated every time the PL kernel is updated.
 %define vini_pl_patch 561
 
 # updated every time the PL kernel is updated.
 %define vini_pl_patch 561
 
-%define release vs%{vsversion}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+#%define updatelevel 1
+
+%define kernelrelease vs%{vsversion}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}%{?updatelevel:.%{updatelevel}}
+%define packagerelease %{kernelrelease}
+
+
 
 %{!?pldistro:%global pldistro planetlab}
 
 %define signmodules 0
 %define make_target bzImage
 
 %{!?pldistro:%global pldistro planetlab}
 
 %define signmodules 0
 %define make_target bzImage
-%define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE}
+%define KVERREL %{PACKAGE_VERSION}-%{kernelrelease}
 
 # Override generic defaults with per-arch defaults
 
 
 # Override generic defaults with per-arch defaults
 
@@ -103,13 +109,13 @@ Name: kernel
 Group: System Environment/Kernel
 License: GPLv2
 Version: %{rpmversion}
 Group: System Environment/Kernel
 License: GPLv2
 Version: %{rpmversion}
-Release: %{release}
+Release: %{packagerelease}
 ExclusiveOS: Linux
 Provides: kernel = %{version}
 Provides: kernel-drm = 4.3.0
 ExclusiveOS: Linux
 Provides: kernel = %{version}
 Provides: kernel-drm = 4.3.0
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-smp = %{rpmversion}-%{release}
-Provides: kernel-smp-%{_target_cpu} = %{rpmversion}-%{release}
+Provides: kernel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
+Provides: kernel-smp = %{rpmversion}-%{kernelrelease}
+Provides: kernel-smp-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
 Prereq: %{kernel_prereq}
 Conflicts: %{kernel_dot_org_conflicts}
 Conflicts: %{package_conflicts}
 Prereq: %{kernel_prereq}
 Conflicts: %{kernel_dot_org_conflicts}
 Conflicts: %{package_conflicts}
@@ -145,13 +151,17 @@ Patch000: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-%{rpmversion}.bz2
 %endif
 
 Patch010: linux-2.6-010-e1000e.patch
 %endif
 
 Patch010: linux-2.6-010-e1000e.patch
+Patch015: linux-2.6-015-igb.patch
 Patch020: linux-2.6-020-build-id.patch
 Patch030: linux-2.6-030-netns.patch
 Patch040: linux-2.6-040-i_mutex-check.patch
 Patch020: linux-2.6-020-build-id.patch
 Patch030: linux-2.6-030-netns.patch
 Patch040: linux-2.6-040-i_mutex-check.patch
+Patch050: linux-2.6-050-getline.patch
 
 # These are patches picked up from Fedora/RHEL
 Patch100: linux-2.6-100-build-nonintconfig.patch
 
 
 # These are patches picked up from Fedora/RHEL
 Patch100: linux-2.6-100-build-nonintconfig.patch
 
+Patch150: linux-2.6-150-cciss-allow-kexec-to-work.patch
+
 # Linux-VServer
 Patch200: patch-%{rpmversion}-vs%{vsversion}.diff
 Patch210: linux-2.6-210-vserver-cpu-sched.patch
 # Linux-VServer
 Patch200: patch-%{rpmversion}-vs%{vsversion}.diff
 Patch210: linux-2.6-210-vserver-cpu-sched.patch
@@ -170,6 +180,7 @@ Patch524: linux-2.6-524-peercred.patch
 Patch525: linux-2.6-525-sknid-elevator.patch
 Patch526: linux-2.6-526-tun-tap.patch
 Patch527: linux-2.6-527-iptables-classify-add-mark.patch
 Patch525: linux-2.6-525-sknid-elevator.patch
 Patch526: linux-2.6-526-tun-tap.patch
 Patch527: linux-2.6-527-iptables-classify-add-mark.patch
+Patch528: linux-2.6-528-enable-stdtun.patch
 Patch530: linux-2.6-530-built-by-support.patch
 Patch540: linux-2.6-540-oom-kill.patch
 Patch550: linux-2.6-550-raise-default-nfile-ulimit.patch
 Patch530: linux-2.6-530-built-by-support.patch
 Patch540: linux-2.6-540-oom-kill.patch
 Patch550: linux-2.6-550-raise-default-nfile-ulimit.patch
@@ -188,6 +199,14 @@ Patch670: linux-2.6-670-gcc43.patch
 %endif
 Patch680: linux-2.6-680-htb-hysteresis-tso.patch
 Patch690: linux-2.6-690-web100.patch
 %endif
 Patch680: linux-2.6-680-htb-hysteresis-tso.patch
 Patch690: linux-2.6-690-web100.patch
+Patch700: linux-2.6-700-fperm.patch
+Patch710: linux-2.6-710-avoid-64bits-addr-pcmcia.patch
+# This one is a backport from usptream.
+Patch720: linux-2.6-720-bonding-layer23.patch
+Patch721: linux-2.6-721-bonding-layer3.patch
+Patch722: linux-2.6-722-bonding-rr.patch
+
+Patch800: linux-2.6-800-fix-4-bit-apicid-assumption.patch
 
 # See also the file named 'sources' here for the related checksums
 # NOTE. iwlwifi should be in-kernel starting from 2.6.24
 
 # See also the file named 'sources' here for the related checksums
 # NOTE. iwlwifi should be in-kernel starting from 2.6.24
@@ -211,9 +230,9 @@ input and output, etc.
 Summary: Development package for building kernel modules to match the kernel.
 Group: System Environment/Kernel
 AutoReqProv: no
 Summary: Development package for building kernel modules to match the kernel.
 Group: System Environment/Kernel
 AutoReqProv: no
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-smp-devel = %{rpmversion}-%{release}
-Provides: kernel-smp-devel-%{_target_cpu} = %{rpmversion}-%{release}
+Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
+Provides: kernel-smp-devel = %{rpmversion}-%{kernelrelease}
+Provides: kernel-smp-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
 Prereq: /usr/bin/find
 
 %description devel
 Prereq: /usr/bin/find
 
 %description devel
@@ -238,7 +257,7 @@ Summary: The Linux kernel compiled for unprivileged Xen guest VMs
 
 Group: System Environment/Kernel
 Provides: kernel = %{version}
 
 Group: System Environment/Kernel
 Provides: kernel = %{version}
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}xenU
+Provides: kernel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}xenU
 Prereq: %{kernel_prereq}
 Conflicts: %{kernel_dot_org_conflicts}
 Conflicts: %{package_conflicts}
 Prereq: %{kernel_prereq}
 Conflicts: %{kernel_dot_org_conflicts}
 Conflicts: %{package_conflicts}
@@ -262,9 +281,9 @@ the guest0 domain.
 Summary: Development package for building kernel modules to match the kernel.
 Group: System Environment/Kernel
 AutoReqProv: no
 Summary: Development package for building kernel modules to match the kernel.
 Group: System Environment/Kernel
 AutoReqProv: no
-Provides: kernel-xenU-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}xenU
-Provides: kernel-devel = %{rpmversion}-%{release}xenU
+Provides: kernel-xenU-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
+Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}xenU
+Provides: kernel-devel = %{rpmversion}-%{kernelrelease}xenU
 Prereq: /usr/sbin/hardlink, /usr/bin/find
 
 %description xenU-devel
 Prereq: /usr/sbin/hardlink, /usr/bin/find
 
 %description xenU-devel
@@ -282,9 +301,9 @@ This package includes a user mode version of the Linux kernel.
 %package uml-devel
 Summary: Development package for building kernel modules to match the UML kernel.
 Group: System Environment/Kernel
 %package uml-devel
 Summary: Development package for building kernel modules to match the UML kernel.
 Group: System Environment/Kernel
-Provides: kernel-uml-devel-%{_target_cpu} = %{rpmversion}-%{release}
-Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{release}smp
-Provides: kernel-devel = %{rpmversion}-%{release}smp
+Provides: kernel-uml-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
+Provides: kernel-devel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}smp
+Provides: kernel-devel = %{rpmversion}-%{kernelrelease}smp
 AutoReqProv: no
 Prereq: /usr/sbin/hardlink, /usr/bin/find
 
 AutoReqProv: no
 Prereq: /usr/sbin/hardlink, /usr/bin/find
 
@@ -306,7 +325,7 @@ Summary: A placeholder RPM that provides kernel and kernel-drm
 Group: System Environment/Kernel
 Provides: kernel = %{version}
 Provides: kernel-drm = 4.3.0
 Group: System Environment/Kernel
 Provides: kernel = %{version}
 Provides: kernel-drm = 4.3.0
-Provides: kernel-%{_target_cpu} = %{rpmversion}-%{release}
+Provides: kernel-%{_target_cpu} = %{rpmversion}-%{kernelrelease}
 
 %description vserver
 VServers do not require and cannot use kernels, but some RPMs have
 
 %description vserver
 VServers do not require and cannot use kernels, but some RPMs have
@@ -314,6 +333,12 @@ implicit or explicit dependencies on the "kernel" package
 (e.g. tcpdump). This package installs no files but provides the
 necessary dependencies to make rpm and yum happy.
 
 (e.g. tcpdump). This package installs no files but provides the
 necessary dependencies to make rpm and yum happy.
 
+%package headers
+Summary: Kernel header
+Group: System Environment/Kernel
+
+%description headers
+This package contains the sanitized kernel headers.
 
 %prep
 # First we unpack the kernel tarball.
 
 %prep
 # First we unpack the kernel tarball.
@@ -329,6 +354,10 @@ else
   cd kernel-%{kversion}
 fi
 
   cd kernel-%{kversion}
 fi
 
+%if "0%{updatelevel}"
+echo "This is a trivial maintenance update. There will be no reboot following installation."
+%endif
+
 KERNEL_PREVIOUS=vanilla
 # Dark RPM-magic to apply each patch to a hardlinked copy of the tree.
 %define ApplyPatch() \
 KERNEL_PREVIOUS=vanilla
 # Dark RPM-magic to apply each patch to a hardlinked copy of the tree.
 %define ApplyPatch() \
@@ -354,6 +383,7 @@ KERNEL_PREVIOUS=vanilla
 %endif
 
 %ApplyPatch 10
 %endif
 
 %ApplyPatch 10
+%ApplyPatch 15
 %ApplyPatch 20
 
 # NetNS patch for VINI
 %ApplyPatch 20
 
 # NetNS patch for VINI
@@ -361,9 +391,12 @@ KERNEL_PREVIOUS=vanilla
 %ApplyPatch 30
 %endif
 %ApplyPatch 40
 %ApplyPatch 30
 %endif
 %ApplyPatch 40
+%ApplyPatch 50
 
 %ApplyPatch 100
 
 
 %ApplyPatch 100
 
+%ApplyPatch 150
+
 %ApplyPatch 200
 %ApplyPatch 210
 %ApplyPatch 220
 %ApplyPatch 200
 %ApplyPatch 210
 %ApplyPatch 220
@@ -381,6 +414,7 @@ KERNEL_PREVIOUS=vanilla
 %ApplyPatch 525
 %ApplyPatch 526
 %ApplyPatch 527
 %ApplyPatch 525
 %ApplyPatch 526
 %ApplyPatch 527
+%ApplyPatch 528
 
 %ApplyPatch 530
 %ApplyPatch 540
 
 %ApplyPatch 530
 %ApplyPatch 540
@@ -399,7 +433,12 @@ KERNEL_PREVIOUS=vanilla
 %ApplyPatch 670
 %endif
 %ApplyPatch 680
 %ApplyPatch 670
 %endif
 %ApplyPatch 680
-%ApplyPatch 690
+%ApplyPatch 700
+%ApplyPatch 710
+%ApplyPatch 720
+%ApplyPatch 721
+%ApplyPatch 722
+%ApplyPatch 800
 
 
 # NetNS conflict-resolving patch for VINI. Will work with patch vini_pl_patch-1 but may
 
 
 # NetNS conflict-resolving patch for VINI. Will work with patch vini_pl_patch-1 but may
@@ -472,11 +511,11 @@ BuildKernel() {
       DevelLink=
     fi
 
       DevelLink=
     fi
 
-    KernelVer=%{version}-%{release}$Flavour
+    KernelVer=%{version}-%{kernelrelease}$Flavour
     echo BUILDING A KERNEL FOR $Flavour %{_target_cpu}...
 
     # make sure EXTRAVERSION says what we want it to say
     echo BUILDING A KERNEL FOR $Flavour %{_target_cpu}...
 
     # make sure EXTRAVERSION says what we want it to say
-    perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{?patchlevel:.%{patchlevel}}-%{release}$Flavour/" Makefile
+    perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{?patchlevel:.%{patchlevel}}-%{kernelrelease}$Flavour/" Makefile
 
     # and now to start the build process
 
 
     # and now to start the build process
 
@@ -489,6 +528,11 @@ BuildKernel() {
     make -s ARCH=$Arch nonint_oldconfig > /dev/null
     make -s ARCH=$Arch %{?_smp_mflags} $MakeTarget
     make -s ARCH=$Arch %{?_smp_mflags} modules || exit 1
     make -s ARCH=$Arch nonint_oldconfig > /dev/null
     make -s ARCH=$Arch %{?_smp_mflags} $MakeTarget
     make -s ARCH=$Arch %{?_smp_mflags} modules || exit 1
+%if %{headers}
+    make -s ARCH=$Arch INSTALL_HDR_PATH=$RPM_BUILD_ROOT/usr
+    find $RPM_BUILD_ROOT/%{_includedir} -name \*.cmd -delete
+    rm -f $RPM_BUILD_ROOT/%{_includedir}/{..,.}{check,install}*
+%endif
 
 %if %{build_iwlwifi}
     # build the iwlwifi driver
 
 %if %{build_iwlwifi}
     # build the iwlwifi driver
@@ -723,7 +767,7 @@ if echo $rootdev |grep -q /dev/mapper 2>/dev/null ; then
     fi
 fi
 
     fi
 fi
 
-[ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade %{rpmversion}-%{release}
+[ ! -x /usr/sbin/module_upgrade ] || /usr/sbin/module_upgrade %{rpmversion}-%{kernelrelease}
 #/sbin/new-kernel-pkg --package kernel --mkinitrd --depmod --install %{KVERREL}
 # Older modutils do not support --package option
 /sbin/new-kernel-pkg --mkinitrd --depmod --install %{KVERREL}
 #/sbin/new-kernel-pkg --package kernel --mkinitrd --depmod --install %{KVERREL}
 # Older modutils do not support --package option
 /sbin/new-kernel-pkg --mkinitrd --depmod --install %{KVERREL}
@@ -746,7 +790,10 @@ popd > /dev/null
 
 # ask for a reboot
 mkdir -p /etc/planetlab
 
 # ask for a reboot
 mkdir -p /etc/planetlab
+
+%if "%{updatelevel}"==""
 touch /etc/planetlab/update-reboot
 touch /etc/planetlab/update-reboot
+%endif
 
 %post devel
 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
 
 %post devel
 [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
@@ -861,7 +908,35 @@ rm -f /lib/modules/%{KVERREL}uml/modules.*
 %dir %{_datadir}/doc/kernel-doc-%{kversion}
 %endif
 
 %dir %{_datadir}/doc/kernel-doc-%{kversion}
 %endif
 
+%if %{headers}
+%files headers
+%defattr(-,root,root)
+%dir %{_includedir}
+%{_includedir}/*
+%endif
+
 %changelog
 %changelog
+* Fri Jun 26 2009 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-42
+- Bonding and multipath things.
+
+* Thu Jun 11 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-41
+- configs for the embedemu pldistro
+
+* Wed Jun 03 2009 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-40
+- Added patch 700, which implements VXC_PROC_WRITE support
+
+* Tue May 26 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-39
+- outputs the kernel-headers rpm as backported from 2.6.27
+
+* Fri May 15 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-38
+- the pcmcia patch needed to be adapted to 2.6.22
+
+* Tue May 12 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-37
+- enable patch about 64bits adresses and cardbus
+
+* Thu Apr 09 2009 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-36
+- Inserting this patch, which I missed in the previous tag.
+
 * Thu Apr 09 2009 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-35
 - I missed this hunk in the previous tag. It's disabled by default.
 
 * Thu Apr 09 2009 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-35
 - I missed this hunk in the previous tag. It's disabled by default.