%define buildxen 0
%define builddoc 0
+# default is to not build this - to override, use something like
+# kernel-SPECVARS := iwlwifi=1
+# rpm does not seem to have a syntax for defining overridable defaults
+# any better solution would be more than welcome.
+%define build_iwlwifi %{?iwlwifi:1}%{!?iwlwifi:0}
+
# 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 9
#
# Polite request for people who spin their own kernel rpms:
# adding some text to the end of the version number.
#
%define sublevel 22
-%define patchlevel 14
+%define patchlevel 19
%define kversion 2.6.%{sublevel}
%define rpmversion 2.6.%{sublevel}%{?patchlevel:.%{patchlevel}}
-%define vsversion 2.3.0.29
+%define vsversion 2.3.0.34
# Will go away when VServer supports NetNS in mainline. Currently, it must be
# updated every time the PL kernel is updated.
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
# These are patches picked up from Fedora/RHEL
Patch100: linux-2.6-100-build-nonintconfig.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
+Patch580: linux-2.6-580-show-proc-virt.patch
+Patch590: linux-2.6-590-chopstix-intern.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
# See also the file named 'sources' here for the related checksums
# NOTE. iwlwifi should be in-kernel starting from 2.6.24
# see http://bughost.org/bugzilla/show_bug.cgi?id=1584
+%if %{build_iwlwifi}
%define mac80211_version 10.0.4
Patch600: http://intellinuxwireless.org/mac80211/downloads/mac80211-%{mac80211_version}.tgz
-%define iwlwifi_version 1.2.23
+%define iwlwifi_version 1.2.25
Patch601: http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-%{iwlwifi_version}.tgz
+%endif
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
KERNEL_PREVIOUS=linux-%{kversion}-%1
# This is where the patches get applied
-%if "0%{patchlevel}"
+%if 0%{?patchlevel}
%ApplyPatch 0
%endif
%if 0%{?with_netns}
%ApplyPatch 30
%endif
+%ApplyPatch 40
%ApplyPatch 100
%ApplyPatch 550
%ApplyPatch 560
%ApplyPatch 570
+%ApplyPatch 580
+%ApplyPatch 590
+%ApplyPatch 620
+%ApplyPatch 630
+%ApplyPatch 640
+%ApplyPatch 650
# NetNS conflict-resolving patch for VINI. Will work with patch vini_pl_patch-1 but may
# break with later patches.
%ApplyPatch %vini_pl_patch
%endif
+%if %{build_iwlwifi}
# Run the mac80211 stuff in the kernel tree holding the last patch
-tar -xzf %{expand:%{PATCH600}}
+tar -xzf %{PATCH600}
pushd mac80211-%{mac80211_version}
mac80211_makeflags="KSRC=../$KERNEL_PREVIOUS"
make $mac80211_makeflags modified
popd
# Untar iwlwifi in the same place - needs to be compiled later
-tar -xzf %{expand:%{PATCH601}}
+tar -xzf %{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
@echo \$(addprefix \$(DIR),\$(addsuffix .ko,\$(list-m)))
EOF
popd
+%endif
rm -fr linux-%{kversion}
ln -sf $KERNEL_PREVIOUS linux-%{kversion}
make -s ARCH=$Arch %{?_smp_mflags} $MakeTarget
make -s ARCH=$Arch %{?_smp_mflags} modules || exit 1
+%if %{build_iwlwifi}
# build the iwlwifi driver
make -C %{_builddir}/kernel-%{kversion}/iwlwifi-%{iwlwifi_version} ARCH=$Arch \
- KSRC=%{_builddir}/kernel-%{kversion}/linux-%{_target_cpu}-%{kversion}$Flavour
+ KSRC=%{_builddir}/kernel-%{kversion}/linux-%{_target_cpu}-%{kversion}$Flavour
+%endif
# Start installing the results
mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer
make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer
+%if %{build_iwlwifi}
# install iwlwifi
# make -C %{_builddir}/kernel-%{kversion}/iwlwifi-%{iwlwifi_version} ARCH=$Arch \
# KSRC=%{_builddir}/kernel-%{kversion}/linux-%{_target_cpu}-%{kversion}$Flavour \
install -d $iwlwifi_dest
install -m 644 -c $iwlwifi_modules $iwlwifi_dest
popd
+%endif
# And save the headers/makefiles etc for building modules against
#
%endif
%changelog
+* 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.