Bump tag level
[linux-2.6.git] / kernel-2.6.spec
index 71a81bb..32d8afc 100644 (file)
@@ -12,13 +12,16 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %define builduml 0
 %define buildxen 0
 %define builddoc 0
+%define headers 1
+
+# from 2.6.27 iwlwifi in builtin
 
 # Versions of various parts
 
 # 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 1
+%define taglevel 3
 
 #
 # Polite request for people who spin their own kernel rpms:
@@ -26,18 +29,18 @@ Summary: The Linux kernel (the core of the Linux operating system)
 # that the kernel isn't the stock distribution kernel, for example by
 # adding some text to the end of the version number.
 #
-%define sublevel 22
+%define sublevel 27
 %define patchlevel 14
 %define kversion 2.6.%{sublevel}
 %define rpmversion 2.6.%{sublevel}%{?patchlevel:.%{patchlevel}}
 
-%define vsversion 2.3.0.29
+%define vsversion 2.3.0.36.4
 
 # Will go away when VServer supports NetNS in mainline. Currently, it must be 
 # updated every time the PL kernel is updated.
 %define vini_pl_patch 561
 
-%define release vs%{vsversion}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
+%define release vs%{vsversion}.%{taglevel}%{?pldistro:.%{pldistro}}.vini%{?date:.%{date}}
 
 %{!?pldistro:%global pldistro planetlab}
 
@@ -79,7 +82,7 @@ Summary: The Linux kernel (the core of the Linux operating system)
 #
 
 # MEF commented out
-# %define xen_conflicts glibc < 2.3.5-1
+#define xen_conflicts glibc < 2.3.5-1
 
 #
 # Packages that need to be installed before the kernel is, because the %post
@@ -123,7 +126,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}
@@ -138,13 +140,6 @@ Source30: %{pldistro}-%{kversion}-i686-xenU.config
 Patch000: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-%{rpmversion}.bz2
 %endif
 
-Patch010: linux-2.6-010-e1000e.patch
-Patch020: linux-2.6-020-build-id.patch
-Patch030: linux-2.6-030-netns.patch
-
-# These are patches picked up from Fedora/RHEL
-Patch100: linux-2.6-100-build-nonintconfig.patch
-
 # Linux-VServer
 Patch200: patch-%{rpmversion}-vs%{vsversion}.diff
 
@@ -154,18 +149,29 @@ 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
 Patch560: linux-2.6-560-mmconf.patch
 Patch570: linux-2.6-570-tagxid.patch
-
-# See also the file named 'sources' here for the related checksums
-%define mac80211_version 10.0.4
-Patch600: http://intellinuxwireless.org/mac80211/downloads/mac80211-%{mac80211_version}.tgz
-%define iwlwifi_version 1.2.23
-Patch601: http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-%{iwlwifi_version}.tgz
+Patch580: linux-2.6-580-show-proc-virt.patch
+# Patch590: linux-2.6-590-chopstix-intern.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
+Patch680: linux-2.6-680-htb-hysteresis-tso.patch
+Patch690: linux-2.6-690-web100.patch
+Patch700: linux-2.6-700-egre.patch
+Patch710: linux-2.6-710-netns-unshare-kludge.patch
+Patch720: linux-2.6-720-click.patch
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
 
@@ -282,6 +288,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.
@@ -317,19 +329,11 @@ KERNEL_PREVIOUS=vanilla
   KERNEL_PREVIOUS=linux-%{kversion}-%1
 
 # This is where the patches get applied
-%if "0%{patchlevel}"
+%if 0%{?patchlevel}
 %ApplyPatch 0
 %endif
 
-%ApplyPatch 10
-%ApplyPatch 20
-
 # NetNS patch for VINI
-%if 0%{?with_netns}
-%ApplyPatch 30
-%endif
-
-%ApplyPatch 100
 
 %ApplyPatch 200
 
@@ -337,40 +341,28 @@ KERNEL_PREVIOUS=vanilla
 
 %ApplyPatch 500
 %ApplyPatch 510
-%ApplyPatch 520
+
+# VNET+ series
+%ApplyPatch 521
+%ApplyPatch 522
+%ApplyPatch 523
+%ApplyPatch 524
+%ApplyPatch 525
+%ApplyPatch 527
+
 %ApplyPatch 530
 %ApplyPatch 540
 %ApplyPatch 550
 %ApplyPatch 560
 %ApplyPatch 570
+%ApplyPatch 580
+%ApplyPatch 640
+%ApplyPatch 650
+%ApplyPatch 660
+%ApplyPatch 700
+%ApplyPatch 710
+%ApplyPatch 720
 
-# NetNS conflict-resolving patch for VINI. Will work with patch vini_pl_patch-1 but may
-# break with later patches.
-
-%if 0%{?with_netns}
-%ApplyPatch %vini_pl_patch
-%endif
-
-# Run the mac80211 stuff in the kernel tree holding the last patch
-tar -xzf %{expand:%{PATCH600}}
-pushd mac80211-%{mac80211_version}
-mac80211_makeflags="KSRC=../$KERNEL_PREVIOUS"
-make $mac80211_makeflags modified
-make $mac80211_makeflags source
-make $mac80211_makeflags patch_kernel
-popd
-
-# Untar iwlwifi in the same place - needs to be compiled later
-tar -xzf %{expand:%{PATCH601}}
-# the install target is broken: first it does not pass the right -b flag to depmod
-# second we do not need to invoke depmod at this stage anyway
-# let's add our own patch/stuff in this Makefile for manual install later on
-pushd iwlwifi-%{iwlwifi_version}
-cat >> Makefile <<EOF
-module-list:
-       @echo \$(addprefix \$(DIR),\$(addsuffix .ko,\$(list-m)))
-EOF
-popd
 
 rm -fr linux-%{kversion}
 ln -sf $KERNEL_PREVIOUS linux-%{kversion}
@@ -426,13 +418,14 @@ BuildKernel() {
     #Arch=`head -1 .config | cut -b 3-`
     echo USING ARCH=$Arch
 
-    make -s ARCH=$Arch nonint_oldconfig > /dev/null
+    make -s ARCH=$Arch oldconfig < /dev/null > /dev/null
     make -s ARCH=$Arch %{?_smp_mflags} $MakeTarget
     make -s ARCH=$Arch %{?_smp_mflags} modules || exit 1
-
-    # build the iwlwifi driver
-    make -C %{_builddir}/kernel-%{kversion}/iwlwifi-%{iwlwifi_version} ARCH=$Arch \
-         KSRC=%{_builddir}/kernel-%{kversion}/linux-%{_target_cpu}-%{kversion}$Flavour
+%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
 
     # Start installing the results
 
@@ -455,18 +448,6 @@ BuildKernel() {
     mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
     make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer
 
-    # install iwlwifi
-#    make -C %{_builddir}/kernel-%{kversion}/iwlwifi-%{iwlwifi_version} ARCH=$Arch \
-#         KSRC=%{_builddir}/kernel-%{kversion}/linux-%{_target_cpu}-%{kversion}$Flavour \
-#        KMISC=$RPM_BUILD_ROOT/lib/modules/$KernelVer/kernel/drivers/net/wireless install
-    pushd %{_builddir}/kernel-%{kversion}/iwlwifi-%{iwlwifi_version}
-    iwlwifi_dest=$RPM_BUILD_ROOT/lib/modules/$KernelVer/kernel/drivers/net/wireless
-    # get the list and location of modules to install - no need to pass KSRC nor anything, let's keep it simple
-    iwlwifi_modules=$(make --no-print-directory module-list)
-    install -d $iwlwifi_dest
-    install -m 644 -c $iwlwifi_modules $iwlwifi_dest
-    popd
-
     # And save the headers/makefiles etc for building modules against
     #
     # This all looks scary, but the end result is supposed to be:
@@ -507,12 +488,12 @@ BuildKernel() {
     cp -a acpi config keys linux math-emu media mtd net pcmcia rdma rxrpc scsi sound video asm asm-generic $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
     cp -a `readlink asm` $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
     if [ "$Arch" = "x86_64" ]; then
-      cp -a asm-i386 $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
+      cp -a asm-x86 $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
     fi
 %if %{buildxen}
     if [ "$Flavour" = "xenU" ]; then
       cp -a xen $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
-      cp -a asm-i386 $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
+      cp -a asm-x86 $RPM_BUILD_ROOT/lib/modules/$KernelVer/build/include
     fi
 %endif
 %if %{builduml}
@@ -797,7 +778,139 @@ 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
+* Tue Mar 24 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-27-2
+- cleaned up obsolete (2.6.22) configs
+- added gnuradio config links
+- fix for building headers package (remove .cmd files)
+
+* Tue Mar 10 2009 Thierry Parmentelat <thierry.parmentelat@sophia.inria.fr> - linux-2.6-27-1
+- untested feature-complete version, but for the scheduler that is still missing
+
+* 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.
+- 
+
 * Tue Jul 11 2006 Dave Jones <davej@redhat.com> [2.6.17-1.2142_FC4]
 - 2.6.17.4
 - Disable split pagetable lock.
@@ -911,3 +1024,5 @@ rm -f /lib/modules/%{KVERREL}uml/modules.*
 - Sync with FC5's 2.6.16 kernel.
 - Update Tux & Exec-shield to latest.
 
+
+%define module_current_branch 22