%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
%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}
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
# 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
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.
%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}
# 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
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
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 \