%define release @KERNEL_RELEASE@
# /usr/src/%{kslnk} -> /usr/src/linux-%{KVERREL}
%define kslnk linux-2.4
+%define kprovides %(bash -c "echo %{kversion}%{kextraverdelim}%{kextraver} | sed -e 's/-[^0-9]*smp$//'")
# groups of related archs
%define all_x86 i386 i686 i586 athlon
%define rhbuild @RHBUILD@
%define susebuild @SUSEBUILD@
%define linux26 @LINUX26@
+%define lmakeopts @LMAKEOPTS@
# disable build root strip policy
%define __spec_install_post /usr/lib/rpm/brp-compress || :
%define dashtargetboard %{?targetboard:-%{targetboard}}
%define withtargetboard 0
%{?targetboard: %{expand: %%define withtargetboard 1}}
-
+
# Override generic defaults with per-arch defaults (which can
# themselves be overridden with --with/--without). These must
# ONLY be "0", never "1"
ExclusiveArch: %{all_x86} x86_64 ia64 ppc ppc64
ExclusiveOS: Linux
Obsoletes: kernel-modules, kernel-sparc
-Provides: kernel = %{version}
+Provides: kernel = %{kprovides}
BuildConflicts: rhbuildsys(DiscFree) < 500Mb
%ifarch %{all_x86} ia64 x86_64
Provides: kernel-drm = 4.1.0, kernel-drm = 4.2.0, kernel-drm = 4.3.0, kernel-drm = 4.2.99.3
%package smp
Summary: The Linux kernel compiled for SMP machines.
Group: System Environment/Kernel
-Provides: module-info, kernel = %{version}
+Provides: module-info, kernel = %{kprovides}
%ifarch %{all_x86} ia64 x86_64
Provides: kernel-drm = 4.1.0, kernel-drm = 4.2.0, kernel-drm = 4.3.0, kernel-drm = 4.2.99.3
%endif
%package bigsmp
Summary: The Linux kernel compiled for SMP machines.
Group: System/Kernel
-Provides: module-info, kernel = %{version}, k_smp4G
+Provides: module-info, kernel = %{kprovides}, k_smp4G
Obsoletes: k_smp4G
%ifarch %{all_x86} ia64 x86_64
Provides: kernel-drm = 4.1.0, kernel-drm = 4.2.0, kernel-drm = 4.3.0, kernel-drm = 4.2.99.3
%package pseries64
Summary: Standard Kernel for 64-bit Power based SMP and LPAR Machines
Group: System/Kernel
-Provides: module-info, kernel = %{version}, k_smp4G
+Provides: module-info, kernel = %{kprovides}, k_smp4G
%ifarch %{all_x86} ia64 x86_64
Provides: kernel-drm = 4.1.0, kernel-drm = 4.2.0, kernel-drm = 4.3.0, kernel-drm = 4.2.99.3
%endif
%package bigmem
Summary: The Linux Kernel for machines with more than 4 Gigabyte of memory.
Group: System Environment/Kernel
-Provides: module-info, kernel = %{version}
+Provides: module-info, kernel = %{kprovides}
%ifarch %{all_x86} ia64 x86_64
Provides: kernel-drm = 4.1.0, kernel-drm = 4.2.0, kernel-drm = 4.3.0, kernel-drm = 4.2.99.3
%endif
%package BOOT
Summary: The version of the Linux kernel used on installation boot disks.
Group: System Environment/Kernel
-Provides: kernel = %{version}
+Provides: kernel = %{kprovides}
%if %{rhbuild}
Prereq: %{BOOT_kernel_prereq}
Conflicts: %{kernel_conflicts}
%package BOOTsmp
Summary: The Linux kernel used on installation boot disks for SMP machines.
Group: System Environment/Kernel
-Provides: kernel = %{version}
+Provides: kernel = %{kprovides}
%if %{rhbuild}
Prereq: %{BOOT_kernel_prereq}
Conflicts: %{kernel_conflicts}
%package jensen
Summary: The Linux Kernel compiled for the Alpha Jensen platform.
Group: System Environment/Kernel
-Provides: kernel = %{version}
+Provides: kernel = %{kprovides}
%if %{rhbuild}
Prereq: %{kernel_prereq}
Conflicts: %{kernel_conflicts}
if [ -s "%{SOURCE2}" ] ; then
tar zxf "%{SOURCE2}" -C lustre/kernel_patches
fi
-sh -x ./build/lmake \
+bash -x ./build/lmake \
--unpack-kernel \
--target @LUSTRE_TARGET@ \
--target-arch %{_target_cpu} \
- --kerneldir $RPM_SOURCE_DIR
+ --kerneldir $RPM_SOURCE_DIR %{lmakeopts}
popd >/dev/null
# handle both SuSE and Red Hat's new-kernel-pkg bits
# /sbin/update-modules.dep compares when the modules were built, rather
# than installed, so force modules.dep to be recreated
echo "rm -f /lib/modules/%{KVERREL}${delim_flavor}/modules.dep" >> ${script}
- echo "if [ -f /etc/modprobe.conf ] ; then" >> ${script}
+ echo "if [ -f /etc/modprobe.conf ] ; then" >> ${script}
sed -e "s^%ver_str^%{KVERREL}${delim_flavor}^g" -e "s^%flavor^${flavor}^" %{SOURCE26} >> ${script}
echo "else" >> ${script}
echo "fi" >> ${script}
;;
postun)
- echo "if [ -f /etc/modprobe.conf ] ; then" >> ${script}
+ echo "if [ -f /etc/modprobe.conf ] ; then" >> ${script}
sed -e "s^%ver_str^%{KVERREL}${delim_flavor}^g" %{SOURCE27} >> ${script}
- echo "else" >> ${script}
+ echo "else" >> ${script}
sed -e "s^%ver_str^%{KVERREL}${delim_flavor}^g" %{SOURCE30} >> ${script}
echo "fi" >> ${script}
;;
if [ -z "${flavor}" ] ; then
cat >> ${script} <<EOF
cd /boot
-%ifnarch ia64
+%ifnarch ia64
ln -sf vmlinuz-%{KVERREL} vmlinuz
%endif
ln -sf System.map-%{KVERREL} System.map
DependKernel()
{
target_config=${1:+--target-config $1}
- sh -x ./build/lmake \
+ bash -x ./build/lmake \
--depend-kernel \
--target @LUSTRE_TARGET@ \
--target-arch %{_target_cpu} \
${target_config} \
--extraversion %{kextraver} \
- -j $RPM_BUILD_NCPUS
+ -j $RPM_BUILD_NCPUS %{lmakeopts}
}
BuildKernel()
{
target_config=${1:+--target-config $1}
- sh -x ./build/lmake \
+ bash -x ./build/lmake \
--build-kernel --build-lustre \
--install \
--save-headers \
--extraversion %{kextraver} \
--kerneldir $RPM_SOURCE_DIR \
-j $RPM_BUILD_NCPUS \
- --destdir $RPM_BUILD_ROOT \
+ --destdir $RPM_BUILD_ROOT %{lmakeopts} \
-- --enable-tests \
@CONFIGURE_FLAGS@
}
BuildLustre()
{
target_config=${1:+--target-config $1}
- sh -x ./build/lmake \
+ bash -x ./build/lmake \
--build-lustre \
--install-lustre \
--target @LUSTRE_TARGET@ \
--extraversion %{kextraver} \
--kerneldir $RPM_SOURCE_DIR \
-j $RPM_BUILD_NCPUS \
- --destdir $RPM_BUILD_ROOT \
+ --destdir $RPM_BUILD_ROOT %{lmakeopts} \
-- --enable-utils \
--disable-doc --disable-tests \
--disable-modules --disable-liblustre \
SaveHeaders()
{
- sh -x ./build/lmake \
+ bash -x ./build/lmake \
--save-headers \
--target @LUSTRE_TARGET@ \
--target-arch %{_target_cpu} \
--extraversion %{kextraver} \
- --destdir $RPM_BUILD_ROOT
+ --destdir $RPM_BUILD_ROOT %{lmakeopts}
}
pushd lustre >/dev/null
if grep -q "$oc" Makefile ; then
OLDCONFIG="$oc"
break
- fi
+ fi
done
MAKE="make -s O=$o -C ${c}"
if [ "$CC" ] ; then
$(set -- 2.6.5 ; echo ${*//./ })
EOF
rm -f $o/Makefile
- ARCH=%{_target_cpu} /bin/sh scripts/mkmakefile ../../../linux-%{KVERREL} $o \
+ ARCH=%{_target_cpu} /bin/bash scripts/mkmakefile ../../../linux-%{KVERREL} $o \
$VERSION $PATCHLEVEL > $o/Makefile.in
if [ -f $o/Makefile ] ; then
# will exist only for 2.6.17 and newer because mkmakefile
if grep -q "$oc" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/Makefile ; then
OLDCONFIG="$oc"
break
- fi
+ fi
done
if [ "$CC" ] ; then
MAKE_CC="CC=$CC"