JENSEN_ARCHS=
SMP_ARCHS=
BIGSMP_ARCHS=
+PSERIES64_ARCHS=
UP_ARCHS=
RHBUILD=0
{
MAKE="make -s"
if [ "$CC" ] ; then
- MAKE="$MAKE CC=$CC"
+ MAKE_CC="CC=$CC"
fi
if [ "$ARCH" ] ; then
MAKE_ARCH="$MAKE ARCH=$ARCH"
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()
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
}
(( $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
}
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."
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
}
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
}
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}"
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
%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 buildjensen 0
%define buildsmp 0
%define buildbigsmp 0
+%define buildpseries64 0
%define buildup 0
%define buildsrc 0
%define buildbigsmp 1
%endif
+%ifarch @PSERIES64_ARCHS@
+%define buildpseries64 1
+%endif
+
%ifarch @UP_ARCHS@
%define buildup 1
%endif
%define buildbigsmp 0
%define buildBOOT 0
%define buildbigmem 0
+%define buildpseries64 0
%define buildjensen 0
%endif
%{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}
%ifarch alpha
%define kernel_glob vmlinu?-%{KVERREL}
%endif
+%ifarch ppc ppc64
+%define kernel_glob vmlinu?-%{KVERREL}
+%endif
Name: kernel
Version: %{kversion}
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
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}
BuildKernel bigsmp
%endif
+%if %{buildpseries64}
+BuildKernel pseries64
+%endif
+
%if %{buildup}
BuildKernel
%endif
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
if [ "%{buildbigsmp}" -ne 0 ] ; then
BuildObj bigsmp
fi
+ if [ "%{buildpseries64}" -ne 0 ] ; then
+ BuildObj pseries64
+ fi
if [ "%{buildup}" -ne 0 ] ; then
BuildObj up
fi
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
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
%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
# 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
# suse needs these i guess
%postun -f postun.sh
+%postun pseries64 -f postunpseries64.sh
+
%postun smp -f postunsmp.sh
%postun bigsmp -f postunbigsmp.sh
%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 || :
%files bigsmp -f kernelbigsmp.files
%endif
+%if %{buildpseries64}
+%files bigsmp -f kernelpseries64.files
+%endif
+
%if %{buildbigmem}
%files bigmem -f kernelbigmem.files
%endif
%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/*