Whamcloud - gitweb
b=16312
[fs/lustre-release.git] / build / lustre-kernel-2.4.spec.in
index 804e65c..292b527 100644 (file)
@@ -15,6 +15,7 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %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
@@ -25,6 +26,7 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %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 || :
@@ -42,7 +44,7 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %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"
@@ -157,7 +159,7 @@ Group: System Environment/Kernel
 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
@@ -229,7 +231,7 @@ options that can be passed to Linux kernel modules at load time.
 %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
@@ -248,7 +250,7 @@ Install the kernel-smp package if your machine uses two or more CPUs.
 %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
@@ -268,7 +270,7 @@ Install the kernel-bigsmp package if your machine uses two or more CPUs.
 %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
@@ -287,7 +289,7 @@ machines.
 %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
@@ -304,7 +306,7 @@ enabled for Pentium III machines with 4 Gigabyte of memory or more.
 %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}
@@ -319,7 +321,7 @@ turned off because of the size constraints.
 %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}
@@ -335,7 +337,7 @@ machines that have trouble coming up to life with the uniprocessor kernel.
 %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}
@@ -380,11 +382,11 @@ pushd lustre >/dev/null
 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
@@ -515,19 +517,19 @@ mkdir -p $RPM_BUILD_ROOT
 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 \
@@ -537,7 +539,7 @@ BuildKernel()
        --extraversion %{kextraver} \
        --kerneldir $RPM_SOURCE_DIR \
        -j $RPM_BUILD_NCPUS \
-       --destdir $RPM_BUILD_ROOT \
+       --destdir $RPM_BUILD_ROOT %{lmakeopts} \
        -- --enable-tests \
        @CONFIGURE_FLAGS@
 }
@@ -545,7 +547,7 @@ BuildKernel()
 BuildLustre()
 {
   target_config=${1:+--target-config $1}
-  sh -x ./build/lmake \
+  bash -x ./build/lmake \
        --build-lustre \
        --install-lustre \
        --target @LUSTRE_TARGET@ \
@@ -554,7 +556,7 @@ BuildLustre()
        --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 \
@@ -565,12 +567,12 @@ BuildLustre()
 
 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
@@ -645,7 +647,7 @@ BuildObj ()
            if grep -q "$oc" Makefile ; then
                OLDCONFIG="$oc"
                break
-           fi
+           fi
         done
        MAKE="make -s O=$o -C ${c}"
        if [ "$CC" ] ; then
@@ -661,7 +663,7 @@ BuildObj ()
 $(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
@@ -732,7 +734,7 @@ if [ "%{buildbase}" -ne 0 ] ; then
            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"