X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=kernel-2.6.spec;h=a863e47705480eeb05370f72d856b6165f84b0c2;hb=853c6b4365fed5e1d42bc765165e165abef1c6e8;hp=606cd11b7862b490cd3f6c5a3de63a487efe75d4;hpb=3e88176ed14b40cb4d2fb1b20903313a13064d7b;p=linux-2.6.git diff --git a/kernel-2.6.spec b/kernel-2.6.spec index 606cd11b7..a863e4770 100644 --- a/kernel-2.6.spec +++ b/kernel-2.6.spec @@ -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 headers 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 -%define taglevel 3 +%define taglevel 42 # # 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 -%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}} +%define packagerelease %{kernelrelease}%{?updatelevel:.%{updatelevel}} %{!?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 @@ -92,6 +98,7 @@ Summary: The Linux kernel (the core of the Linux operating system) # scripts use them. # %define kernel_prereq fileutils, module-init-tools, initscripts >= 5.83, mkinitrd >= 3.5.5 +%define _unpackaged_files_terminate_build 0 Vendor: PlanetLab Packager: PlanetLab Central @@ -102,13 +109,13 @@ Name: kernel 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} @@ -129,7 +136,6 @@ BuildConflicts: rhbuildsys(DiskFree) < 500Mb Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{kversion}.tar.bz2 -Source10: %{pldistro}-%{kversion}-i586.config Source11: %{pldistro}-%{kversion}-i686.config Source12: %{pldistro}-%{kversion}-x86_64.config %if %{builduml} @@ -148,6 +154,7 @@ Patch010: linux-2.6-010-e1000e.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 @@ -155,6 +162,7 @@ Patch100: linux-2.6-100-build-nonintconfig.patch # Linux-VServer Patch200: patch-%{rpmversion}-vs%{vsversion}.diff Patch210: linux-2.6-210-vserver-cpu-sched.patch +Patch220: delta-ptrace-fix01.diff # IP sets Patch250: linux-2.6-250-ipsets.patch @@ -162,7 +170,14 @@ Patch250: linux-2.6-250-ipsets.patch # PlanetLab Patch500: linux-2.6-500-vserver-filesharing.patch Patch510: linux-2.6-510-ipod.patch -Patch520: linux-2.6-520-vnet+.patch +Patch521: linux-2.6-521-packet-tagging.patch +Patch522: linux-2.6-522-iptables-connection-tagging.patch +Patch523: linux-2.6-523-raw-sockets.patch +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 +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 @@ -170,8 +185,23 @@ Patch560: linux-2.6-560-mmconf.patch Patch570: linux-2.6-570-tagxid.patch Patch580: linux-2.6-580-show-proc-virt.patch Patch590: linux-2.6-590-chopstix-intern.patch +Patch592: linux-2.6-592-GC-dcookies-nosleep.patch Patch620: linux-2.6-620-kdb.patch Patch630: linux-2.6-630-sched-fix.patch +Patch640: linux-2.6-640-netlink-audit-hack.patch +Patch650: linux-2.6-650-hangcheck-reboot.patch +Patch660: linux-2.6-660-nmi-watchdog-default.patch +%if "%{distroname}" == "f9" || "%{distroname}" == "f10" +Patch670: linux-2.6-670-gcc43.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 # See also the file named 'sources' here for the related checksums # NOTE. iwlwifi should be in-kernel starting from 2.6.24 @@ -195,9 +225,9 @@ input and output, etc. 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 @@ -222,7 +252,7 @@ Summary: The Linux kernel compiled for unprivileged Xen guest VMs 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} @@ -246,9 +276,9 @@ the guest0 domain. 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 @@ -266,9 +296,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 -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 @@ -290,7 +320,7 @@ Summary: A placeholder RPM that provides kernel and kernel-drm 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 @@ -298,6 +328,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. +%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. @@ -313,6 +349,10 @@ else 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() \ @@ -345,17 +385,29 @@ KERNEL_PREVIOUS=vanilla %ApplyPatch 30 %endif %ApplyPatch 40 +%ApplyPatch 50 %ApplyPatch 100 %ApplyPatch 200 %ApplyPatch 210 +%ApplyPatch 220 %ApplyPatch 250 %ApplyPatch 500 %ApplyPatch 510 -%ApplyPatch 520 + +# VNET+ series +%ApplyPatch 521 +%ApplyPatch 522 +%ApplyPatch 523 +%ApplyPatch 524 +%ApplyPatch 525 +%ApplyPatch 526 +%ApplyPatch 527 +%ApplyPatch 528 + %ApplyPatch 530 %ApplyPatch 540 %ApplyPatch 550 @@ -363,8 +415,22 @@ KERNEL_PREVIOUS=vanilla %ApplyPatch 570 %ApplyPatch 580 %ApplyPatch 590 +%ApplyPatch 592 %ApplyPatch 620 %ApplyPatch 630 +%ApplyPatch 640 +%ApplyPatch 650 +%ApplyPatch 660 +%if "%{distroname}" == "f9" || "%{distroname}" == "f10" +%ApplyPatch 670 +%endif +%ApplyPatch 680 +%ApplyPatch 700 +%ApplyPatch 710 +%ApplyPatch 720 +%ApplyPatch 721 +%ApplyPatch 722 + # NetNS conflict-resolving patch for VINI. Will work with patch vini_pl_patch-1 but may # break with later patches. @@ -436,11 +502,11 @@ BuildKernel() { 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 @@ -453,6 +519,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 +%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 @@ -687,7 +758,7 @@ if echo $rootdev |grep -q /dev/mapper 2>/dev/null ; then 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} @@ -710,7 +781,10 @@ popd > /dev/null # ask for a reboot mkdir -p /etc/planetlab + +%if "%{updatelevel}"=="" touch /etc/planetlab/update-reboot +%endif %post devel [ -f /etc/sysconfig/kernel ] && . /etc/sysconfig/kernel @@ -825,7 +899,152 @@ rm -f /lib/modules/%{KVERREL}uml/modules.* %dir %{_datadir}/doc/kernel-doc-%{kversion} %endif +%if %{headers} +%files headers +%defattr(-,root,root) +%dir %{_includedir} +%{_includedir}/* +%endif + %changelog +* Fri Jun 26 2009 Daniel Hokka Zakrisson - linux-2.6-22-42 +- Bonding and multipath things. + +* Thu Jun 11 2009 Thierry Parmentelat - linux-2.6-22-41 +- configs for the embedemu pldistro + +* Wed Jun 03 2009 Sapan Bhatia - linux-2.6-22-40 +- Added patch 700, which implements VXC_PROC_WRITE support + +* Tue May 26 2009 Thierry Parmentelat - linux-2.6-22-39 +- outputs the kernel-headers rpm as backported from 2.6.27 + +* Fri May 15 2009 Thierry Parmentelat - linux-2.6-22-38 +- the pcmcia patch needed to be adapted to 2.6.22 + +* Tue May 12 2009 Thierry Parmentelat - linux-2.6-22-37 +- enable patch about 64bits adresses and cardbus + +* Thu Apr 09 2009 Sapan Bhatia - linux-2.6-22-36 +- Inserting this patch, which I missed in the previous tag. + +* Thu Apr 09 2009 Sapan Bhatia - linux-2.6-22-35 +- I missed this hunk in the previous tag. It's disabled by default. + +* Thu Apr 09 2009 Sapan Bhatia - linux-2.6-22-34 +- Tagging after having tested the latest kernel in branch for a couple of days. + +* Mon Feb 23 2009 Sapan Bhatia - linux-2.6-22-33 + +* Thu Jan 08 2009 Thierry Parmentelat - linux-2.6-22-32 +- support building on fedora 10 + +* Tue Dec 02 2008 Daniel Hokka Zakrisson - linux-2.6-22-31 +- add patches for m-lab and drl + +* Tue Nov 11 2008 Daniel Hokka Zakrisson - linux-2.6-22-30 +- Use Intel's e1000e driver. + +* Thu Oct 02 2008 Thierry Parmentelat - linux-2.6-22-29 +- added drivers for OPTION's globetrotter (gt 3g+ emea) umts cards +- + cleanup outdated configs + +* Wed Sep 17 2008 Sapan Bhatia - linux-2.6-22-28 +- Recovering a hunk that I accidentally ommited out of the last commit. Should not entail retesting, because the commits +- were unrelated. + +* Sun Sep 14 2008 Sapan Bhatia - linux-2.6-22-27 +- Fixing the accounting issue that causes certain connections to be misaccounted, and that causes NM/peercreds to +- intermittently break. + +* Wed Sep 10 2008 Thierry Parmentelat - linux-2.6-22-26 +- patch for building on f9/gcc-4.3, no functional change on other distros + +* Sun Aug 17 2008 Daniel Hokka Zakrisson - linux-2.6-22-25 +- FUSE support. + +* Tue Aug 12 2008 Sapan Bhatia - linux-2.6-22-24 +- Enable nmi watchdog by default. + +* Mon Aug 04 2008 Sapan Bhatia - linux-2.6-22-23 +- Fixed a bug in my previous commit. + +* Mon Aug 04 2008 Sapan Bhatia - linux-2.6-22-22 +- * 1 fix for using udp/listening sockets via raw +- * 1 fix to help codemux divide traffic in PlanetFlow + +* Fri Aug 01 2008 Sapan Bhatia - linux-2.6-22-21 +- Codemux calls setsockopt/SO_PEERCRED to set peer credentials on a socket, so that the connections it proxies to its clients are tagged for PlanetFlow. This hunk got lost somewhere along the way. + +* Thu Jul 31 2008 Sapan Bhatia - linux-2.6-22-20 +- Removed a debugging statement. Shows up a lot in the debug logs. + +* Wed Jul 30 2008 Sapan Bhatia - linux-2.6-22-19 +- Unbroke peercred setting. + +* Mon Jul 28 2008 Sapan Bhatia - linux-2.6-22-18 +- Now you can write your own TCP using packet sockets. As a side effect, tcptraceroute runs to completion including the +- last hop. + +* Mon Jul 28 2008 Sapan Bhatia - linux-2.6-22-17 +- Optimize packet socket support to eliminate a packet copy. + +* Sun Jul 27 2008 Sapan Bhatia - linux-2.6-22-16 +- Missed this header file, which broke the compile. +- I'll be doing another tag to include an optimization I left out of this version. This version is for Build only. + +* Sun Jul 27 2008 Sapan Bhatia - linux-2.6-22-15 +- Fixes to tcpdump-related problems reported recently. + +* Wed Jul 23 2008 Stephen Soltesz - linux-2.6-22-14 +- added fix to process visibility so when ncontext/vcontext run netstat in +- xid=1, it can see all ports & processes. + +* Mon Jul 21 2008 Sapan Bhatia - linux-2.6-22-13 +- fix for tcpdump/tcp payloads + +* Tue Jul 15 2008 Sapan Bhatia - linux-2.6-22-12 +- * Bugfix in tuntap +- * Attempt to fix TCP-payload-related problems with tcpdump + +* Wed Jul 09 2008 Sapan Bhatia - linux-2.6-22-11 +- * Split up VNET+ module into its component patches +- * Added tun/tap support + +* Tue Jul 08 2008 Daniel Hokka Zakrisson - linux-2.6-22-10 +- Filling a statically allocated buffer cannot fail, right? + +* Wed Jun 25 2008 Daniel Hokka Zakrisson - linux-2.6-22-9 +- Enable the hangcheck timer driver, and build it in to the kernel. +- Dump relevant data on the scheduler bug instead of BUGing. + +* Sat Jun 07 2008 Sapan Bhatia - linux-2.6-22-8 +- * Partial fix for the UDP-packet-pollution problem +- * Support for PF_PACKET sockets +- * Support for SOCK_PACKET sockets +- * Disabled Chopstix with mutexes +- * Tested VNET+ under heavy loads +- +- + +* Fri May 16 2008 Stephen Soltesz - linux-2.6-22-7 +- Bringing this fix in for tcpdump and ping +- + +* Fri May 09 2008 Stephen Soltesz - linux-2.6-22-6 +- Updated configuration to include COW again. +- +- Patches from Sapan to fix ping losses. +- +- Still need help with tcpdump traffic. +- + +* Tue May 06 2008 Daniel Hokka Zakrisson - linux-2.6-22-5 +- Patch needs to be applied. + +* Mon May 05 2008 Stephen Soltesz - linux-2.6-22-4 +- + * Thu Apr 24 2008 Thierry Parmentelat - linux-2.6-22-3 - Fix bug with looping in schedule()