%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 2
+%define taglevel 42
#
# Polite request for people who spin their own kernel rpms:
# 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 <support@planet-lab.org>
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}
# 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
# 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
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
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
(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 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 530
%ApplyPatch 540
%ApplyPatch 550
%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 690
+%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.
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
%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 <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-34
+- Tagging after having tested the latest kernel in branch for a couple of days.
+
+* Mon Feb 23 2009 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-33
+
+* Thu Jan 08 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-32
+- support building on fedora 10
+
+* Tue Dec 02 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-31
+- add patches for m-lab and drl
+
+* Tue Nov 11 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-30
+- Use Intel's e1000e driver.
+
+* Thu Oct 02 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - 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 <sapanb@cs.princeton.edu> - 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 <sapanb@cs.princeton.edu> - 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 <thierry.parmentelat@sophia.inria.fr> - 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 <daniel@hozac.com> - linux-2.6-22-25
+- FUSE support.
+
+* Tue Aug 12 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-24
+- Enable nmi watchdog by default.
+
+* Mon Aug 04 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-23
+- Fixed a bug in my previous commit.
+
+* Mon Aug 04 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - 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 <sapanb@cs.princeton.edu> - 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 <sapanb@cs.princeton.edu> - linux-2.6-22-20
+- Removed a debugging statement. Shows up a lot in the debug logs.
+
+* Wed Jul 30 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-19
+- Unbroke peercred setting.
+
+* Mon Jul 28 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - 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 <sapanb@cs.princeton.edu> - linux-2.6-22-17
+- Optimize packet socket support to eliminate a packet copy.
+
+* Sun Jul 27 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - 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 <sapanb@cs.princeton.edu> - linux-2.6-22-15
+- Fixes to tcpdump-related problems reported recently.
+
+* Wed Jul 23 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - 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 <sapanb@cs.princeton.edu> - linux-2.6-22-13
+- fix for tcpdump/tcp payloads
+
+* Tue Jul 15 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-12
+- * Bugfix in tuntap
+- * Attempt to fix TCP-payload-related problems with tcpdump
+
+* Wed Jul 09 2008 Sapan Bhatia <sapanb@cs.princeton.edu> - linux-2.6-22-11
+- * Split up VNET+ module into its component patches
+- * Added tun/tap support
+
+* Tue Jul 08 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - linux-2.6-22-10
+- Filling a statically allocated buffer cannot fail, right?
+
+* Wed Jun 25 2008 Daniel Hokka Zakrisson <daniel@hozac.com> - 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 <sapanb@cs.princeton.edu> - 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 <soltesz@cs.princeton.edu> - linux-2.6-22-7
+- Bringing this fix in for tcpdump and ping
+-
+
+* Fri May 09 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - 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 <daniel@hozac.com> - linux-2.6-22-5
+- Patch needs to be applied.
+
+* Mon May 05 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-4
+-
+
+* Thu Apr 24 2008 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-22-3
+- Fix bug with looping in schedule()
+
* Wed Apr 23 2008 Stephen Soltesz <soltesz@cs.princeton.edu> - linux-2.6-22-2
- Includes changes from Sapan/Andy regarding the scheduler and vnet bugs.
- Should be safe to try a second deployment.