iwlwifi : conditional build, and upgrade to 1.2.25
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Tue, 22 Apr 2008 10:21:03 +0000 (10:21 +0000)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Tue, 22 Apr 2008 10:21:03 +0000 (10:21 +0000)
kernel-2.6.spec
sources

index e850a1a..7adda7d 100644 (file)
@@ -13,6 +13,12 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %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
@@ -169,10 +175,12 @@ 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
+%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
 
@@ -363,26 +371,28 @@ KERNEL_PREVIOUS=vanilla
 %ApplyPatch %vini_pl_patch
 %endif
 
+%if %{build_iwlwifi}
 # 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
+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}
+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
+pushd iwlwifi-%{iwlwifi_version}
+cat >> Makefile <<EOF
+module-list:
+       @echo \$(addprefix \$(DIR),\$(addsuffix .ko,\$(list-m)))
+EOF
+popd
+%endif
 
 rm -fr linux-%{kversion}
 ln -sf $KERNEL_PREVIOUS linux-%{kversion}
@@ -442,9 +452,11 @@ BuildKernel() {
     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
+    make -C %{_builddir}/kernel-%{kversion}/iwlwifi-%{iwlwifi_version} ARCH=$Arch \
+      KSRC=%{_builddir}/kernel-%{kversion}/linux-%{_target_cpu}-%{kversion}$Flavour
+%endif
 
     # Start installing the results
 
@@ -467,17 +479,19 @@ BuildKernel() {
     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 \
 #        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
+    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
+    iwlwifi_modules=$(make --no-print-directory module-list)
+    install -d $iwlwifi_dest
+    install -m 644 -c $iwlwifi_modules $iwlwifi_dest
+    popd
+%endif
 
     # And save the headers/makefiles etc for building modules against
     #
diff --git a/sources b/sources
index a8d90b0..55dba58 100644 (file)
--- a/sources
+++ b/sources
@@ -1,5 +1,5 @@
 2e230d005c002fb3d38a3ca07c0200d0  http://ftp.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2
 066cc3bdd2783dcd01f6ff466e449ec0  http://ftp.kernel.org/pub/linux/kernel/v2.6/patch-2.6.22.19.bz2
 206302227c1eff2b2067651859c13794  http://intellinuxwireless.org/mac80211/downloads/mac80211-10.0.4.tgz
-0a6ae714ba5cb22d55f6b6fd2e29dc2d  http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-1.2.23.tgz
+e8726b20dd2f9457611019632709889a  http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-1.2.25.tgz
 d78f1915d2ff8e96422c26573add43e5  http://ftp.linux-vserver.org/pub/kernel/vs2.3/testing/patch-2.6.22.19-vs2.3.0.34.diff