Whamcloud - gitweb
b=15482
[fs/lustre-release.git] / build / lustre-kernel-2.4.spec.in
index 54e8340..772e13b 100644 (file)
@@ -11,6 +11,7 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %define kversion @KERNEL_VERSION@
 %define kextraver @KERNEL_EXTRA_VERSION@
 %define kextraverdelim @KERNEL_EXTRA_VERSION_DELIMITER@
+%define flavordelim "@KERNEL_TARGET_DELIMITER@"
 %define release @KERNEL_RELEASE@
 # /usr/src/%{kslnk} -> /usr/src/linux-%{KVERREL}
 %define kslnk linux-2.4
@@ -388,11 +389,12 @@ popd >/dev/null
 
 # handle both SuSE and Red Hat's new-kernel-pkg bits
 for flavor in "" smp bigmem bigsmp pseries64 BOOT jensen ; do
+       [ -n "$flavor" ] && delim_flavor="%{flavordelim}$flavor"
        for when in pre preun post postun ; do
                script="${when}${flavor}.sh"
                cat %{SOURCE25} %{SOURCE32} %{SOURCE33} > ${script}
                echo "if [ -d /etc/susehelp.d ] ; then" >> ${script}
-               sed -e "s/@when@/$when/g" -e "s^%ver_str^%{KVERREL}${flavor}^g" %{SOURCE28} >> ${script}
+               sed -e "s/@when@/$when/g" -e "s^%ver_str^%{KVERREL}${delim_flavor}^g" %{SOURCE28} >> ${script}
                case $when in
                        pre)
                                echo "if [ ! -f /etc/modprobe.conf ] ; then" >> ${script}
@@ -402,20 +404,20 @@ for flavor in "" smp bigmem bigsmp pseries64 BOOT jensen ; do
                        post)
                                # /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}${flavor}/modules.dep" >> ${script}
+                               echo "rm -f /lib/modules/%{KVERREL}${delim_flavor}/modules.dep" >> ${script}
                                echo "if [ -f /etc/modprobe.conf ] ; then" >> ${script}                 
-                               sed -e "s^%ver_str^%{KVERREL}${flavor}^g" %{SOURCE26} >> ${script}
+                               sed -e "s^%ver_str^%{KVERREL}${delim_flavor}^g" %{SOURCE26} >> ${script}
 
                                echo "else" >> ${script}
-                               sed -e "s^%ver_str^%{KVERREL}${flavor}^g" -e "s^%%{cfg_name}^${flavor}^g" %{SOURCE29} >> ${script}
+                               sed -e "s^%ver_str^%{KVERREL}${delim_flavor}^g" -e "s^%%{cfg_name}^${delim_flavor}^g" %{SOURCE29} >> ${script}
                                echo "fi" >> ${script}
                                ;;
                        postun)
                                echo "if [ -f /etc/modprobe.conf ] ; then" >> ${script}                 
-                               sed -e "s^%ver_str^%{KVERREL}${flavor}^g" %{SOURCE27} >> ${script}
+                               sed -e "s^%ver_str^%{KVERREL}${delim_flavor}^g" %{SOURCE27} >> ${script}
 
                                echo "else" >> ${script}                        
-                               sed -e "s^%ver_str^%{KVERREL}${flavor}^g" %{SOURCE30} >> ${script}
+                               sed -e "s^%ver_str^%{KVERREL}${delim_flavor}^g" %{SOURCE30} >> ${script}
                                echo "fi" >> ${script}
                                ;;
                esac
@@ -440,7 +442,7 @@ if [ -x /sbin/new-kernel-pkg ] ; then
                PACKAGE_ARG="--package kernel-${flavor}"
        fi
         /sbin/new-kernel-pkg $PACKAGE_ARG --mkinitrd --depmod \
-               --install %{KVERREL}${flavor}
+               --install %{KVERREL}${delim_flavor}
 fi
 EOF
                                ;;
@@ -455,9 +457,9 @@ EOF
                        preun)
                                cat >> ${script} <<EOF
 /sbin/modprobe loop 2> /dev/null > /dev/null  || :
-rm -f /lib/modules/%{KVERREL}${flavor}/modules.*
+rm -f /lib/modules/%{KVERREL}${delim_flavor}/modules.*
 if [ -x /sbin/new-kernel-pkg ] ; then
- /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}${flavor}
+ /sbin/new-kernel-pkg --rminitrd --rmmoddep --remove %{KVERREL}${delim_flavor}
 fi
 EOF
                                ;;
@@ -466,20 +468,20 @@ EOF
 
        cat > "kernel$flavor.files" <<EOF
 %%defattr(-, root, root)
-/boot/%{kernel_glob}${flavor}
-/boot/System.map-%{KVERREL}${flavor}
-/boot/config-%{KVERREL}${flavor}
+/boot/%{kernel_glob}${delim_flavor}
+/boot/System.map-%{KVERREL}${delim_flavor}
+/boot/config-%{KVERREL}${delim_flavor}
 %%dir /lib/modules
 %%dir /dev/shm
-/lib/modules/%{KVERREL}${flavor}
+/lib/modules/%{KVERREL}${delim_flavor}
 %ifarch ia64
-/boot/efi/redhat/%{kernel_glob}${flavor}
+/boot/efi/redhat/%{kernel_glob}${delim_flavor}
 %endif
 %if %{linux26}
 %if %{susebuild}
-/boot/Kerntypes-%{KVERREL}${flavor}
+/boot/Kerntypes-%{KVERREL}${delim_flavor}
 %endif
-/boot/symvers-%{KVERREL}-%{_target_cpu}${flavor}.gz
+/boot/symvers-%{KVERREL}-%{_target_cpu}${delim_flavor}.gz
 %endif
 EOF
 
@@ -629,10 +631,10 @@ BuildObj ()
                flavext=""
                flavtgt=""
        else
-               flavext="-$flavor"
+               flavext="%{flavordelim}$flavor"
                flavtgt="$flavor"
        fi
-        perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{kextraverdelim}%{kextraver}${flavtgt}/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/Makefile
+        perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = %{kextraverdelim}%{kextraver}${flavext}/" $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}/Makefile
        c="$RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}"
        o="${c}-obj/%{_target_cpu}/$flavor"
        mkdir -p $o
@@ -659,12 +661,8 @@ BuildObj ()
 $(set -- 2.6.5 ; echo ${*//./ })
 EOF
        rm -f $o/Makefile
-        source scripts/mkmakefile \
-           ../../../linux-%{KVERREL} \
-            $o \
-           $VERSION \
-           $PATCHLEVEL \
-           > $o/Makefile.in
+       ARCH=%{_target_cpu} /bin/sh 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
                # now writes the makefile to $o instead of stdout
@@ -672,7 +670,7 @@ EOF
        fi
        sed -e "s^$o^../linux-%{KVERREL}-obj/%{_target_cpu}/$flavor^" \
                $o/Makefile.in > $o/Makefile
-       zcat "$RPM_BUILD_ROOT/boot/symvers-%{KVERREL}-%{_target_cpu}${flavtgt}.gz" \
+       zcat "$RPM_BUILD_ROOT/boot/symvers-%{KVERREL}-%{_target_cpu}${flavext}.gz" \
            > $o/Module.symvers
 }