Whamcloud - gitweb
b=5578
authorjacob <jacob>
Fri, 21 Jan 2005 01:36:30 +0000 (01:36 +0000)
committerjacob <jacob>
Fri, 21 Jan 2005 01:36:30 +0000 (01:36 +0000)
add pseries64 support to rpms etc.

build/lbuild
build/lmake
build/lustre-kernel-2.4.spec.in

index fff2778..33b83c1 100755 (executable)
@@ -32,6 +32,7 @@ BOOT_ARCHS=
 JENSEN_ARCHS=
 SMP_ARCHS=
 BIGSMP_ARCHS=
 JENSEN_ARCHS=
 SMP_ARCHS=
 BIGSMP_ARCHS=
+PSERIES64_ARCHS=
 UP_ARCHS=
 
 DATE=$(date)
 UP_ARCHS=
 
 DATE=$(date)
@@ -231,7 +232,7 @@ load_target()
     fi
     # EXTRA_VERSION=${EXTRA_VERSION//-/_}
 
     fi
     # EXTRA_VERSION=${EXTRA_VERSION//-/_}
 
-    ALL_ARCHS="$BASE_ARCHS $BIGMEM_ARCHS $BOOT_ARCHS $JENSEN_ARCHS $SMP_ARCHS $BIGSMP_ARCHS $UP_ARCHS"
+    ALL_ARCHS="$BASE_ARCHS $BIGMEM_ARCHS $BOOT_ARCHS $JENSEN_ARCHS $SMP_ARCHS $BIGSMP_ARCHS $PSERIES64_ARCHS $UP_ARCHS"
 
     BUILD_ARCHS=
     for arch in $(uniqify "$ALL_ARCHS") ; do
 
     BUILD_ARCHS=
     for arch in $(uniqify "$ALL_ARCHS") ; do
@@ -384,6 +385,7 @@ prep_build()
        -e "s^@LINUX26@^$LINUX26^g" \
        -e "s^@LUSTRE_SOURCE@^${LUSTRE##*/}^g" \
        -e "s^@LUSTRE_TARGET@^$TARGET^g" \
        -e "s^@LINUX26@^$LINUX26^g" \
        -e "s^@LUSTRE_SOURCE@^${LUSTRE##*/}^g" \
        -e "s^@LUSTRE_TARGET@^$TARGET^g" \
+       -e "s^@PSERIES64_ARCHS@^$PSERIES64_ARCHS^g" \
        -e "s^@RHBUILD@^$RHBUILD^g" \
        -e "s^@SMP_ARCHS@^$SMP_ARCHS^g" \
        -e "s^@SUSEBUILD@^$SUSEBUILD^g" \
        -e "s^@RHBUILD@^$RHBUILD^g" \
        -e "s^@SMP_ARCHS@^$SMP_ARCHS^g" \
        -e "s^@SUSEBUILD@^$SUSEBUILD^g" \
index adf50ba..ba3a186 100755 (executable)
@@ -33,6 +33,7 @@ BOOT_ARCHS=
 JENSEN_ARCHS=
 SMP_ARCHS=
 BIGSMP_ARCHS=
 JENSEN_ARCHS=
 SMP_ARCHS=
 BIGSMP_ARCHS=
+PSERIES64_ARCHS=
 UP_ARCHS=
 
 RHBUILD=0
 UP_ARCHS=
 
 RHBUILD=0
@@ -295,7 +296,7 @@ set_make()
 {
     MAKE="make -s"
     if [ "$CC" ] ; then
 {
     MAKE="make -s"
     if [ "$CC" ] ; then
-       MAKE="$MAKE CC=$CC"
+       MAKE_CC="CC=$CC"
     fi
     if [ "$ARCH" ] ; then
        MAKE_ARCH="$MAKE ARCH=$ARCH"
     fi
     if [ "$ARCH" ] ; then
        MAKE_ARCH="$MAKE ARCH=$ARCH"
@@ -321,24 +322,24 @@ depend_kernel()
     echo "Overriding EXTRAVERSION in kernel..."
     perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -${EXTRA_VERSION}${TARGET_CONFIG}/" Makefile
     echo "Making depend in $PWD..."
     echo "Overriding EXTRAVERSION in kernel..."
     perl -p -i -e "s/^EXTRAVERSION.*/EXTRAVERSION = -${EXTRA_VERSION}${TARGET_CONFIG}/" Makefile
     echo "Making depend in $PWD..."
-    $MAKE mrproper || fatal 1 "Error running make mrproper"
+    $MAKE "$MAKE_CC" mrproper || fatal 1 "Error running make mrproper"
     cp "$CONFIG_FILE" .config
     for oc in oldconfig_nonint silentoldconfig oldconfig ; do
        if grep -q "$oc" Makefile ; then
     cp "$CONFIG_FILE" .config
     for oc in oldconfig_nonint silentoldconfig oldconfig ; do
        if grep -q "$oc" Makefile ; then
-           $MAKE $oc || fatal 1 "Error running make oldconfig"
+           $MAKE "$MAKE_CC" $oc || fatal 1 "Error running make oldconfig"
            break
        fi
     done
     case "$VERSION" in
        2.6*)
            break
        fi
     done
     case "$VERSION" in
        2.6*)
-            $MAKE include/asm
+            $MAKE "$MAKE_CC" include/asm
             ;;
         2.4*)
             ;;
         2.4*)
-           $MAKE symlinks
-           $MAKE dep || fatal 1 "Error running make dep"
+           $MAKE "$MAKE_CC" symlinks
+           $MAKE "$MAKE_CC" dep || fatal 1 "Error running make dep"
            ;;
     esac
            ;;
     esac
-    $MAKE include/linux/version.h || fatal 1 "Error making include/linux/version.h"
+    $MAKE "$MAKE_CC" include/linux/version.h || fatal 1 "Error making include/linux/version.h"
 }
 
 build_kernel()
 }
 
 build_kernel()
@@ -348,16 +349,16 @@ build_kernel()
     echo "Building kernel in $PWD..."
     case "$TARGET_ARCH" in
        i386 | i586 | i686 | athlon | x86_64)
     echo "Building kernel in $PWD..."
     case "$TARGET_ARCH" in
        i386 | i586 | i686 | athlon | x86_64)
-           $MAKE_J bzImage || fatal 1 "Error making bzImage."
+           $MAKE_J "$MAKE_CC" bzImage || fatal 1 "Error making bzImage."
            ;;
         ppc | ppc64)
            ;;
         ppc | ppc64)
-           $MAKE_J vmlinux || fatal 1 "Error making vmlinux."
+           $MAKE_J "$MAKE_CC" vmlinux || fatal 1 "Error making vmlinux."
            ;;
        *)
            ;;
        *)
-           $MAKE_J boot || fatal 1 "Error making boot."
+           $MAKE_J "$MAKE_CC" boot || fatal 1 "Error making boot."
            ;;
     esac
            ;;
     esac
-    $MAKE_J modules || fatal 1 "Error building modules."
+    $MAKE_J "$MAKE_CC" modules || fatal 1 "Error building modules."
 
     popd >/dev/null
 }
 
     popd >/dev/null
 }
@@ -378,7 +379,7 @@ build_lustre()
     (( $BUILD_LUSTRE )) || return 0
     set_make
     pushd "$TOPDIR" >/dev/null
     (( $BUILD_LUSTRE )) || return 0
     set_make
     pushd "$TOPDIR" >/dev/null
-    $MAKE_J || fatal 1 "Error building Lustre."
+    $MAKE_J "$MAKE_CC" || fatal 1 "Error building Lustre."
     popd >/dev/null
 }
 
     popd >/dev/null
 }
 
@@ -397,7 +398,7 @@ install_kernel()
     mkdir -p "$DESTDIR/dev/shm"
     mkdir -p "$DESTDIR/lib/modules/${FULL_VERSION}"
 
     mkdir -p "$DESTDIR/dev/shm"
     mkdir -p "$DESTDIR/lib/modules/${FULL_VERSION}"
 
-    $MAKE INSTALL_MOD_PATH="$DESTDIR" KERNELRELEASE="$FULL_VERSION" \
+    $MAKE "$MAKE_CC" INSTALL_MOD_PATH="$DESTDIR" KERNELRELEASE="$FULL_VERSION" \
        -s modules_install || \
        fatal 1 "Error installing modules."
 
        -s modules_install || \
        fatal 1 "Error installing modules."
 
@@ -445,7 +446,7 @@ install_lustre()
     set_make
     FULL_VERSION="${VERSION}-${EXTRA_VERSION}${TARGET_CONFIG}"
     pushd "$TOPDIR" >/dev/null
     set_make
     FULL_VERSION="${VERSION}-${EXTRA_VERSION}${TARGET_CONFIG}"
     pushd "$TOPDIR" >/dev/null
-    $MAKE -s install "DESTDIR=$DESTDIR" KERNELRELEASE="$FULL_VERSION" || fatal 1 "Error installing Lustre."
+    $MAKE "$MAKE_CC" -s install "DESTDIR=$DESTDIR" KERNELRELEASE="$FULL_VERSION" || fatal 1 "Error installing Lustre."
     popd >/dev/null
 }
 
     popd >/dev/null
 }
 
@@ -462,7 +463,7 @@ build_kms()
            build_dir="${TOPDIR}/modules-${FULL_VERSION}/${dir##*/}"
            cp -a $dir $build_dir
            # these modules are terrible, and don't all build
            build_dir="${TOPDIR}/modules-${FULL_VERSION}/${dir##*/}"
            cp -a $dir $build_dir
            # these modules are terrible, and don't all build
-           $MAKE_J -C $build_dir modules KERNEL_SOURCE="${TOPDIR}/linux"
+           $MAKE_J "$MAKE_CC" -C $build_dir modules KERNEL_SOURCE="${TOPDIR}/linux"
        fi
     done
 }
        fi
     done
 }
@@ -483,7 +484,7 @@ install_kms()
     for build_dir in "${TOPDIR}/modules-${FULL_VERSION}/*" ; do
        [ -d $build_dir ] || continue
         # these modules are terrible, and don't all build
     for build_dir in "${TOPDIR}/modules-${FULL_VERSION}/*" ; do
        [ -d $build_dir ] || continue
         # these modules are terrible, and don't all build
-       $MAKE -C $build_dir KERNEL_SOURCE="${TOPDIR}/linux" INSTALL_MOD_PATH="$DESTDIR" 
+       $MAKE "$MAKE_CC" -C $build_dir KERNEL_SOURCE="${TOPDIR}/linux" INSTALL_MOD_PATH="$DESTDIR" 
     done
     (   symver vmlinux
        moddir="${DESTDIR}/lib/modules/${FULL_VERSION}"
     done
     (   symver vmlinux
        moddir="${DESTDIR}/lib/modules/${FULL_VERSION}"
@@ -543,6 +544,9 @@ save_all_headers()
     for arch in $BIGSMP_ARCHS ; do
        save_headers bigsmp $arch
     done
     for arch in $BIGSMP_ARCHS ; do
        save_headers bigsmp $arch
     done
+    for arch in $PSERIES64_ARCHS ; do
+       save_headers pseries64 $arch
+    done
     for arch in $UP_ARCHS ; do
        save_headers up $arch
     done
     for arch in $UP_ARCHS ; do
        save_headers up $arch
     done
index cddbd57..d91abd3 100644 (file)
@@ -28,7 +28,7 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %define __spec_install_post /usr/lib/rpm/brp-compress || :
 #
 # RPM foo magic
 %define __spec_install_post /usr/lib/rpm/brp-compress || :
 #
 # RPM foo magic
-%define _missing_doc_files_terminate_build    0
+%define _missing_doc_files_terminate_build 0
 %define _unpackaged_files_terminate_build 0
 %define debug_package %{nil}
 
 %define _unpackaged_files_terminate_build 0
 %define debug_package %{nil}
 
@@ -51,6 +51,7 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %define buildjensen 0
 %define buildsmp 0
 %define buildbigsmp 0
 %define buildjensen 0
 %define buildsmp 0
 %define buildbigsmp 0
+%define buildpseries64 0
 %define buildup 0
 %define buildsrc 0
 
 %define buildup 0
 %define buildsrc 0
 
@@ -78,6 +79,10 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %define buildbigsmp 1
 %endif
 
 %define buildbigsmp 1
 %endif
 
+%ifarch @PSERIES64_ARCHS@
+%define buildpseries64 1
+%endif
+
 %ifarch @UP_ARCHS@
 %define buildup 1
 %endif
 %ifarch @UP_ARCHS@
 %define buildup 1
 %endif
@@ -88,6 +93,7 @@ Summary: The Linux kernel (the core of the Linux operating system)
 %define buildbigsmp 0
 %define buildBOOT 0
 %define buildbigmem 0
 %define buildbigsmp 0
 %define buildBOOT 0
 %define buildbigmem 0
+%define buildpseries64 0
 %define buildjensen 0
 %endif
 
 %define buildjensen 0
 %endif
 
@@ -105,6 +111,7 @@ Second, per-architecture exclusions (ifarch)
 %{expand: %%define buildup_%{buildup} yadda}
 %{expand: %%define buildsmp_%{buildsmp} yadda}
 %{expand: %%define buildbigsmp_%{buildbigsmp} yadda}
 %{expand: %%define buildup_%{buildup} yadda}
 %{expand: %%define buildsmp_%{buildsmp} yadda}
 %{expand: %%define buildbigsmp_%{buildbigsmp} yadda}
+%{expand: %%define buildpseries64_%{buildpseries64} yadda}
 %{expand: %%define buildBOOT_%{buildBOOT} yadda}
 %{expand: %%define buildbigmem_%{buildbigmem} yadda}
 %{expand: %%define buildjensen_%{buildjensen} yadda}
 %{expand: %%define buildBOOT_%{buildBOOT} yadda}
 %{expand: %%define buildbigmem_%{buildbigmem} yadda}
 %{expand: %%define buildjensen_%{buildjensen} yadda}
@@ -135,6 +142,9 @@ Second, per-architecture exclusions (ifarch)
 %ifarch alpha
 %define kernel_glob vmlinu?-%{KVERREL}
 %endif
 %ifarch alpha
 %define kernel_glob vmlinu?-%{KVERREL}
 %endif
+%ifarch ppc ppc64
+%define kernel_glob vmlinu?-%{KVERREL}
+%endif
 
 Name: kernel
 Version: %{kversion}
 
 Name: kernel
 Version: %{kversion}
@@ -248,6 +258,25 @@ work fine on single-CPU boxes.
 
 Install the kernel-bigsmp package if your machine uses two or more CPUs.
 
 
 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
+%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
+%if %{rhbuild}
+Prereq: %{kernel_prereq}
+Conflicts: %{kernel_conflicts}
+%endif
+
+%description pseries64
+The standard kernel for Power3, Power4 and PowerPC 970 64-bit SMP
+machines.
+
+This kernel can be used for all 64bit RS/6000, pSeries and JS20
+machines.
+
 %package bigmem
 Summary: The Linux Kernel for machines with more than 4 Gigabyte of memory.
 Group: System Environment/Kernel
 %package bigmem
 Summary: The Linux Kernel for machines with more than 4 Gigabyte of memory.
 Group: System Environment/Kernel
@@ -355,7 +384,7 @@ sh -x ./build/lmake \
 popd >/dev/null
 
 # handle both SuSE and Red Hat's new-kernel-pkg bits
 popd >/dev/null
 
 # handle both SuSE and Red Hat's new-kernel-pkg bits
-for flavor in "" smp bigmem bigsmp BOOT jensen ; do
+for flavor in "" smp bigmem bigsmp pseries64 BOOT jensen ; do
        for when in pre preun post postun ; do
                script="${when}${flavor}.sh"
                echo "if [ -f /etc/SuSE-release ] ; then" > ${script}
        for when in pre preun post postun ; do
                script="${when}${flavor}.sh"
                echo "if [ -f /etc/SuSE-release ] ; then" > ${script}
@@ -541,6 +570,10 @@ BuildKernel smp
 BuildKernel bigsmp
 %endif
 
 BuildKernel bigsmp
 %endif
 
+%if %{buildpseries64}
+BuildKernel pseries64
+%endif
+
 %if %{buildup}
 BuildKernel
 %endif
 %if %{buildup}
 BuildKernel
 %endif
@@ -591,8 +624,11 @@ BuildObj ()
            fi
         done
        MAKE="make -s O=$o -C ${c}"
            fi
         done
        MAKE="make -s O=$o -C ${c}"
-       $MAKE $OLDCONFIG
-       $MAKE prepare-all
+       if [ "$CC" ] ; then
+           MAKE_CC="CC=$CC"
+       fi
+       $MAKE "$MAKE_CC" $OLDCONFIG
+       $MAKE "$MAKE_CC" prepare-all
        $MAKE clean
        rm -rf $o/.config.old $o/include/config
         # Replace the Makefile in the object directory with a version
        $MAKE clean
        rm -rf $o/.config.old $o/include/config
         # Replace the Makefile in the object directory with a version
@@ -645,6 +681,9 @@ if [ "%{buildbase}" -ne 0 ] ; then
        if [ "%{buildbigsmp}" -ne 0 ] ; then
            BuildObj bigsmp
         fi
        if [ "%{buildbigsmp}" -ne 0 ] ; then
            BuildObj bigsmp
         fi
+       if [ "%{buildpseries64}" -ne 0 ] ; then
+           BuildObj pseries64
+        fi
         if [ "%{buildup}" -ne 0 ] ; then
            BuildObj up
         fi
         if [ "%{buildup}" -ne 0 ] ; then
            BuildObj up
         fi
@@ -664,9 +703,12 @@ if [ "%{buildbase}" -ne 0 ] ; then
                break
            fi
         done
                break
            fi
         done
-        make -s $OLDCONFIG -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}
-        make -s symlinks -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}
-        make -s include/linux/version.h -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}
+       if [ "$CC" ] ; then
+           MAKE_CC="CC=$CC"
+       fi
+        make "$MAKE_CC" -s $OLDCONFIG -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}
+        make "$MAKE_CC" -s symlinks -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}
+        make "$MAKE_CC" -s include/linux/version.h -C $RPM_BUILD_ROOT/usr/src/linux-%{KVERREL}
 
         #this generates modversions info which we want to include and we may as
         #well include the depends stuff as well, after we fix the paths
 
         #this generates modversions info which we want to include and we may as
         #well include the depends stuff as well, after we fix the paths
@@ -700,7 +742,7 @@ EOF
         install -m 644 %{SOURCE15} rhconfig.h
         echo "#include <linux/rhconfig.h>" >> version.h
         keyword=if
         install -m 644 %{SOURCE15} rhconfig.h
         echo "#include <linux/rhconfig.h>" >> version.h
         keyword=if
-        for i in smp BOOT BOOTsmp bigmem bigsmp up ; do
+        for i in smp BOOT BOOTsmp bigmem bigsmp pseries64 up ; do
             # When we build in an i386, we don't have an bigmem header directory
             # in savedheaders/i386/bigmem.  We also don't have a BOOT directory
             # anywhere except in savedheaders/i386.  So, we need to use this method
             # When we build in an i386, we don't have an bigmem header directory
             # in savedheaders/i386/bigmem.  We also don't have a BOOT directory
             # anywhere except in savedheaders/i386.  So, we need to use this method
@@ -762,10 +804,14 @@ rm -rf $RPM_BUILD_ROOT
 
 %pre bigsmp -f prebigsmp.sh
 
 
 %pre bigsmp -f prebigsmp.sh
 
+%pre pseries64 -f prepseries64.sh
+
 %pre bigmem -f prebigmem.sh
 
 %post -f post.sh
 
 %pre bigmem -f prebigmem.sh
 
 %post -f post.sh
 
+%post pseries64 -f postpseries64.sh
+
 %post smp -f postsmp.sh
 
 %post bigsmp -f postbigsmp.sh
 %post smp -f postsmp.sh
 
 %post bigsmp -f postbigsmp.sh
@@ -794,6 +840,8 @@ fi
 # Allow clean removal of modules directory
 %preun -f preun.sh
 
 # Allow clean removal of modules directory
 %preun -f preun.sh
 
+%preun pseries64 -f preunpseries64.sh
+
 %preun smp -f preunsmp.sh
 
 %preun bigsmp -f preunbigsmp.sh
 %preun smp -f preunsmp.sh
 
 %preun bigsmp -f preunbigsmp.sh
@@ -807,6 +855,8 @@ fi
 # suse needs these i guess
 %postun -f postun.sh
 
 # suse needs these i guess
 %postun -f postun.sh
 
+%postun pseries64 -f postunpseries64.sh
+
 %postun smp -f postunsmp.sh
 
 %postun bigsmp -f postunbigsmp.sh
 %postun smp -f postunsmp.sh
 
 %postun bigsmp -f postunbigsmp.sh
@@ -828,6 +878,9 @@ fi
 %triggerin bigsmp -- kudzu
 [ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade || :
 
 %triggerin bigsmp -- kudzu
 [ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade || :
 
+%triggerin pseries64 -- kudzu
+[ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade || :
+
 %triggerin bigmem -- kudzu
 [ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade || :
 
 %triggerin bigmem -- kudzu
 [ -x /usr/sbin/module_upgrade ] && /usr/sbin/module_upgrade || :
 
@@ -883,6 +936,10 @@ fi
 %files bigsmp -f kernelbigsmp.files
 %endif
 
 %files bigsmp -f kernelbigsmp.files
 %endif
 
+%if %{buildpseries64}
+%files bigsmp -f kernelpseries64.files
+%endif
+
 %if %{buildbigmem}
 %files bigmem -f kernelbigmem.files
 %endif
 %if %{buildbigmem}
 %files bigmem -f kernelbigmem.files
 %endif
@@ -901,7 +958,7 @@ fi
 
 %files -n lustre-lite-utils
 %defattr(-, root, root)
 
 %files -n lustre-lite-utils
 %defattr(-, root, root)
-%doc lustre/COPYING lustre/BUGS lustre/ChangeLog lustre/README lustre/doc/lustre.pdf
+%doc lustre/COPYING lustre/lustre/BUGS lustre/ChangeLog lustre/README lustre/lustre/doc/lustre.pdf
 /sbin/*
 /usr/sbin/*
 /usr/bin/*
 /sbin/*
 /usr/sbin/*
 /usr/bin/*