this change should let the build select the kernel config to use
authorThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Thu, 4 Mar 2010 14:46:46 +0000 (14:46 +0000)
committerThierry Parmentelat <thierry.parmentelat@sophia.inria.fr>
Thu, 4 Mar 2010 14:46:46 +0000 (14:46 +0000)
default is to search config after pldistro like we did before
but can be overridden in the mk file with e.g.
kernel-SPECVARS := kernelconfig=planetlab

kernel-2.6.spec
onelab-2.6.22-i686.config [deleted symlink]
onelab-2.6.22-x86_64.config [deleted symlink]

index 6951e24..882f69c 100644 (file)
@@ -14,11 +14,20 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %define builddoc 0
 %define headers 1
 
+%{!?pldistro:%global pldistro planetlab}
+
 # 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}
+%{!?iwlwifi:%global iwlwifi 0}
+
+# default is to search the config file after pldistro
+# e.g. set
+# kernel-SPECVARS := kernelconfig=planetlab
+# to use the planetlab config from another pldistro 
+# without having to manage symlinks
+%{!?kernelconfig:%global kernelconfig %{pldistro}}
 
 # Versions of various parts
 
@@ -49,10 +58,6 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %define kernelrelease vs%{vsversion}.%{taglevel}%{?pldistro:.%{pldistro}}%{?date:.%{date}}%{?updatelevel:.%{updatelevel}}
 %define packagerelease %{kernelrelease}
 
-
-
-%{!?pldistro:%global pldistro planetlab}
-
 %define signmodules 0
 %define make_target bzImage
 %define KVERREL %{PACKAGE_VERSION}-%{kernelrelease}
@@ -136,13 +141,13 @@ BuildConflicts: rhbuildsys(DiskFree) < 500Mb
 
 Source0: ftp://ftp.kernel.org/pub/linux/kernel/v2.6/linux-%{kversion}.tar.bz2
 
-Source11: %{pldistro}-%{kversion}-i686.config
-Source12: %{pldistro}-%{kversion}-x86_64.config
+Source11: %{kernelconfig}-%{kversion}-i686.config
+Source12: %{kernelconfig}-%{kversion}-x86_64.config
 %if %{builduml}
-Source20: %{pldistro}-%{kversion}-i686-uml.config
+Source20: %{kernelconfig}-%{kversion}-i686-uml.config
 %endif
 %if %{buildxen}
-Source30: %{pldistro}-%{kversion}-i686-xenU.config
+Source30: %{kernelconfig}-%{kversion}-i686-xenU.config
 %endif
 
 # Mainline patches
@@ -211,7 +216,7 @@ Patch800: linux-2.6-800-fix-4-bit-apicid-assumption.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}
+%if %{iwlwifi}
 %define mac80211_version 10.0.4
 Patch600: http://intellinuxwireless.org/mac80211/downloads/mac80211-%{mac80211_version}.tgz
 %define iwlwifi_version 1.2.25
@@ -224,7 +229,8 @@ BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
 The kernel package contains the Linux kernel (vmlinuz), the core of any
 Linux operating system.  The kernel handles the basic functions
 of the operating system:  memory allocation, process allocation, device
-input and output, etc.
+input and output, etc. 
+Configured with kernelconfig=%{kernelconfig} and iwlwifi=%{iwlwifi}
 
 %package devel
 Summary: Development package for building kernel modules to match the kernel.
@@ -448,7 +454,7 @@ KERNEL_PREVIOUS=vanilla
 %ApplyPatch %vini_pl_patch
 %endif
 
-%if %{build_iwlwifi}
+%if %{iwlwifi}
 # Run the mac80211 stuff in the kernel tree holding the last patch
 tar -xzf %{PATCH600}
 pushd mac80211-%{mac80211_version}
@@ -502,11 +508,11 @@ BuildKernel() {
 
     # Pick the right config file for the kernel we're building
     if [ -n "$Flavour" ] ; then
-      Config=%{pldistro}-%{kversion}-%{_target_cpu}-$Flavour.config
+      Config=%{kernelconfig}-%{kversion}-%{_target_cpu}-$Flavour.config
       DevelDir=/usr/src/kernels/%{KVERREL}-$Flavour-%{_target_cpu}
       DevelLink=/usr/src/kernels/%{KVERREL}$Flavour-%{_target_cpu}
     else
-      Config=%{pldistro}-%{kversion}-%{_target_cpu}.config
+      Config=%{kernelconfig}-%{kversion}-%{_target_cpu}.config
       DevelDir=/usr/src/kernels/%{KVERREL}-%{_target_cpu}
       DevelLink=
     fi
@@ -534,7 +540,7 @@ BuildKernel() {
     rm -f $RPM_BUILD_ROOT/%{_includedir}/{..,.}{check,install}*
 %endif
 
-%if %{build_iwlwifi}
+%if %{iwlwifi}
     # build the iwlwifi driver
     make -C %{_builddir}/kernel-%{kversion}/iwlwifi-%{iwlwifi_version} ARCH=$Arch \
       KSRC=%{_builddir}/kernel-%{kversion}/linux-%{_target_cpu}-%{kversion}$Flavour
@@ -561,7 +567,7 @@ 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}
+%if %{iwlwifi}
     # install iwlwifi
 #    make -C %{_builddir}/kernel-%{kversion}/iwlwifi-%{iwlwifi_version} ARCH=$Arch \
 #         KSRC=%{_builddir}/kernel-%{kversion}/linux-%{_target_cpu}-%{kversion}$Flavour \
diff --git a/onelab-2.6.22-i686.config b/onelab-2.6.22-i686.config
deleted file mode 120000 (symlink)
index 69a4aa8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-planetlab-2.6.22-i686.config
\ No newline at end of file
diff --git a/onelab-2.6.22-x86_64.config b/onelab-2.6.22-x86_64.config
deleted file mode 120000 (symlink)
index 1bd36b8..0000000
+++ /dev/null
@@ -1 +0,0 @@
-planetlab-2.6.22-x86_64.config
\ No newline at end of file