%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
# 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 38
+%define taglevel 39
#
# Polite request for people who spin their own kernel rpms:
# 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
+
+# Tweak for being able to issue updates with the same kernel version, but with
+# a different package version.
+%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
-%define KVERREL %{PACKAGE_VERSION}-%{PACKAGE_RELEASE}
+%define KVERREL %{PACKAGE_VERSION}-%{kernelrelease}
# Override generic defaults with per-arch defaults
Group: System Environment/Kernel
License: GPLv2
Version: %{rpmversion}
-Release: %{release}
+Release: %{packagerelease}
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}
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
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
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}
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
%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
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
(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.
%ApplyPatch 525
%ApplyPatch 526
%ApplyPatch 527
+%ApplyPatch 528
%ApplyPatch 530
%ApplyPatch 540
%ApplyPatch 670
%endif
%ApplyPatch 680
-%ApplyPatch 690
%ApplyPatch 710
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
- 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
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
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}
# ask for a reboot
mkdir -p /etc/planetlab
-touch /etc/planetlab/update-reboot
+#touch /etc/planetlab/update-reboot
%post devel
[ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel
%dir %{_datadir}/doc/kernel-doc-%{kversion}
%endif
+%if %{headers}
+%files headers
+%defattr(-,root,root)
+%dir %{_includedir}
+%{_includedir}/*
+%endif
+
%changelog
+* 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