add kbd patch to help with the debugging
[linux-2.6.git] / kernel-2.6.spec
index 983778c..e850a1a 100644 (file)
@@ -15,6 +15,11 @@ Summary: The Linux kernel (the core of the Linux operating system)
 
 # 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
+
 #
 # Polite request for people who spin their own kernel rpms:
 # please modify the "release" field in a way that identifies
@@ -22,20 +27,16 @@ Summary: The Linux kernel (the core of the Linux operating system)
 # 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.
 %define vini_pl_patch 561
 
-# for module-tag.py  use -s sublevel
-%define name linux-2.6
-%define taglevel 1
-
 %define release vs%{vsversion}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}
 
 %{!?pldistro:%global pldistro planetlab}
@@ -140,12 +141,14 @@ Patch000: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/patch-%{rpmversion}.bz2
 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
 
 # Linux-VServer
 Patch200: patch-%{rpmversion}-vs%{vsversion}.diff
+Patch210: linux-2.6-210-vserver-cpu-sched.patch
 
 # IP sets
 Patch250: linux-2.6-250-ipsets.patch
@@ -159,6 +162,17 @@ 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
+Patch580: linux-2.6-580-show-proc-virt.patch
+Patch590: linux-2.6-590-chopstix-intern.patch
+Patch620: linux-2.6-620-kdb.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
+%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
 
 BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
 
@@ -310,7 +324,7 @@ KERNEL_PREVIOUS=vanilla
   KERNEL_PREVIOUS=linux-%{kversion}-%1
 
 # This is where the patches get applied
-%if "0%{patchlevel}"
+%if 0%{?patchlevel}
 %ApplyPatch 0
 %endif
 
@@ -321,10 +335,12 @@ KERNEL_PREVIOUS=vanilla
 %if 0%{?with_netns}
 %ApplyPatch 30
 %endif
+%ApplyPatch 40
 
 %ApplyPatch 100
 
 %ApplyPatch 200
+%ApplyPatch 210
 
 %ApplyPatch 250
 
@@ -336,6 +352,9 @@ KERNEL_PREVIOUS=vanilla
 %ApplyPatch 550
 %ApplyPatch 560
 %ApplyPatch 570
+%ApplyPatch 580
+%ApplyPatch 590
+%ApplyPatch 620
 
 # NetNS conflict-resolving patch for VINI. Will work with patch vini_pl_patch-1 but may
 # break with later patches.
@@ -344,6 +363,27 @@ KERNEL_PREVIOUS=vanilla
 %ApplyPatch %vini_pl_patch
 %endif
 
+# Run the mac80211 stuff in the kernel tree holding the last patch
+# tar -xzf %{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 %{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}
 cd linux-%{kversion}
@@ -402,6 +442,10 @@ BuildKernel() {
     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
+
     # Start installing the results
 
 %if "%{_enable_debug_packages}" == "1"
@@ -423,6 +467,18 @@ 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: