Enabled the VNET patch again.
[linux-2.6.git] / kernel-2.6.spec
index 59300e5..857ebe5 100644 (file)
@@ -147,6 +147,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
 
 # IP sets
 Patch250: linux-2.6-250-ipsets.patch
@@ -162,6 +163,8 @@ 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
+# 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
@@ -317,7 +320,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
 
@@ -332,6 +335,7 @@ KERNEL_PREVIOUS=vanilla
 %ApplyPatch 100
 
 %ApplyPatch 200
+%ApplyPatch 210
 
 %ApplyPatch 250
 
@@ -352,7 +356,7 @@ KERNEL_PREVIOUS=vanilla
 %endif
 
 # 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
@@ -361,7 +365,16 @@ make $mac80211_makeflags patch_kernel
 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
+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}
@@ -445,9 +458,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 \
-         KMISC=$RPM_BUILD_ROOT/lib/modules/$KernelVer/kernel/drivers/net/wireless install
+#    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
     #