From 545ba70a4b88ceda9ee153e779727bfbcb39c755 Mon Sep 17 00:00:00 2001 From: jacob Date: Fri, 21 Jan 2005 01:36:30 +0000 Subject: [PATCH] b=5578 add pseries64 support to rpms etc. --- build/lbuild | 4 ++- build/lmake | 36 +++++++++++--------- build/lustre-kernel-2.4.spec.in | 75 ++++++++++++++++++++++++++++++++++++----- 3 files changed, 89 insertions(+), 26 deletions(-) diff --git a/build/lbuild b/build/lbuild index fff2778..33b83c1 100755 --- a/build/lbuild +++ b/build/lbuild @@ -32,6 +32,7 @@ BOOT_ARCHS= JENSEN_ARCHS= SMP_ARCHS= BIGSMP_ARCHS= +PSERIES64_ARCHS= UP_ARCHS= DATE=$(date) @@ -231,7 +232,7 @@ load_target() 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 @@ -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^@PSERIES64_ARCHS@^$PSERIES64_ARCHS^g" \ -e "s^@RHBUILD@^$RHBUILD^g" \ -e "s^@SMP_ARCHS@^$SMP_ARCHS^g" \ -e "s^@SUSEBUILD@^$SUSEBUILD^g" \ diff --git a/build/lmake b/build/lmake index adf50ba..ba3a186 100755 --- a/build/lmake +++ b/build/lmake @@ -33,6 +33,7 @@ BOOT_ARCHS= JENSEN_ARCHS= SMP_ARCHS= BIGSMP_ARCHS= +PSERIES64_ARCHS= UP_ARCHS= RHBUILD=0 @@ -295,7 +296,7 @@ set_make() { MAKE="make -s" if [ "$CC" ] ; then - MAKE="$MAKE CC=$CC" + MAKE_CC="CC=$CC" 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..." - $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 - $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*) - $MAKE include/asm + $MAKE "$MAKE_CC" include/asm ;; 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 - $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() @@ -348,16 +349,16 @@ build_kernel() 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) - $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 - $MAKE_J modules || fatal 1 "Error building modules." + $MAKE_J "$MAKE_CC" modules || fatal 1 "Error building modules." popd >/dev/null } @@ -378,7 +379,7 @@ build_lustre() (( $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 } @@ -397,7 +398,7 @@ install_kernel() 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." @@ -445,7 +446,7 @@ install_lustre() 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 } @@ -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 - $MAKE_J -C $build_dir modules KERNEL_SOURCE="${TOPDIR}/linux" + $MAKE_J "$MAKE_CC" -C $build_dir modules KERNEL_SOURCE="${TOPDIR}/linux" 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 - $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}" @@ -543,6 +544,9 @@ save_all_headers() 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 diff --git a/build/lustre-kernel-2.4.spec.in b/build/lustre-kernel-2.4.spec.in index cddbd57..d91abd3 100644 --- a/build/lustre-kernel-2.4.spec.in +++ b/build/lustre-kernel-2.4.spec.in @@ -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 _missing_doc_files_terminate_build 0 +%define _missing_doc_files_terminate_build 0 %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 buildpseries64 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 +%ifarch @PSERIES64_ARCHS@ +%define buildpseries64 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 buildpseries64 0 %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 buildpseries64_%{buildpseries64} 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 ppc ppc64 +%define kernel_glob vmlinu?-%{KVERREL} +%endif 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. +%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 @@ -355,7 +384,7 @@ sh -x ./build/lmake \ 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} @@ -541,6 +570,10 @@ BuildKernel smp BuildKernel bigsmp %endif +%if %{buildpseries64} +BuildKernel pseries64 +%endif + %if %{buildup} BuildKernel %endif @@ -591,8 +624,11 @@ BuildObj () 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 @@ -645,6 +681,9 @@ if [ "%{buildbase}" -ne 0 ] ; then if [ "%{buildbigsmp}" -ne 0 ] ; then BuildObj bigsmp fi + if [ "%{buildpseries64}" -ne 0 ] ; then + BuildObj pseries64 + fi if [ "%{buildup}" -ne 0 ] ; then BuildObj up fi @@ -664,9 +703,12 @@ if [ "%{buildbase}" -ne 0 ] ; then 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 @@ -700,7 +742,7 @@ EOF install -m 644 %{SOURCE15} rhconfig.h echo "#include " >> 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 @@ -762,10 +804,14 @@ rm -rf $RPM_BUILD_ROOT %pre bigsmp -f prebigsmp.sh +%pre pseries64 -f prepseries64.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 @@ -794,6 +840,8 @@ fi # 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 @@ -807,6 +855,8 @@ fi # suse needs these i guess %postun -f postun.sh +%postun pseries64 -f postunpseries64.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 pseries64 -- 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 +%if %{buildpseries64} +%files bigsmp -f kernelpseries64.files +%endif + %if %{buildbigmem} %files bigmem -f kernelbigmem.files %endif @@ -901,7 +958,7 @@ fi %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/* -- 1.8.3.1