# vim:expandtab:shiftwidth=4:softtabstop=4:tabstop=4: DEVEL_KERNEL_TYPE="source" prepare_and_build_srpm() { pushd $TOPDIR >/dev/null # all of the specs but one are put into SOURCES, so let's just move # the one lone one in SPECS into SOURCES and just reference them from # there mv SPECS/*.spec SOURCES/ # generate our buildid local buildid="lustre${EXTRA_VERSION##*_lustre}" # do release specific spec editing edit_specs # XXX - need to flesh this out per the rhel5 method local targets for arch in $BUILD_ARCHS; do targets="--target $arch $targets" mkdir -p config/$(basearch $arch) cp $CONFIG_FILE config/$(basearch $arch)/$RPMSMPTYPE done tar cjf SOURCES/config.tar.bz2 config rm -rf config # do we need any special rpm build options local rpmbuildopt="-bb" if $DO_SRC; then rpmbuildopt="-ba" fi # XXX - ignore the kabi changes. need to figure out what this is really # all about. touch SOURCES/IGNORE-KABI-BADNESS # XXX testing speedup hack - never let an inspection pass without this # commented out! in fact it should be removed completely before a # landing. #if false; then # now build it if ! $RPMBUILD $rpmbuildopt $targets \ --define "_topdir $TOPDIR" \ $TOPDIR/SOURCES/kernel-$RPMSMPTYPE.spec 2>&1; then fatal 1 "Failed to build kernel RPM" fi #fi # for SLES, we also need to build the kernel-source rpm if ! $RPMBUILD $rpmbuildopt $targets \ --define "_topdir $TOPDIR" \ $TOPDIR/SOURCES/kernel-source.spec 2>&1; then fatal 1 "Failed to build kernel source RPM" fi } devel_kernel_name() { local lustre=${1:-false} if $lustre; then echo "kernel-lustre-$DEVEL_KERNEL_TYPE" else echo "kernel-$DEVEL_KERNEL_TYPE" fi } rpm_BUILD_kernel_dirname() { local rpmsmptype="$1" local lnxmaj="$2" local lnxmin="$3" local arch="$4" local lustre="" if $KERNEL_LUSTRE_NAMING; then $lustre="-lustre" fi echo kernel${lustre}-${rpmsmptype}-${lnxmaj}${lnxmin}/linux-${lnxmaj} } find_linux_devel_paths() { local path="$1" LINUX=$path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel} local objects=$TARGET_ARCH/$RPMSMPTYPE if [ -d $path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}-obj/powerpc ]; then objects="powerpc/$TARGET_ARCH" elif [ $TARGET_ARCH == 'i686' ]; then objects="i386/$RPMSMPTYPE" fi LINUXOBJ=$path/usr/src/linux-${lnxmaj}${lnxmin}-${lnxrel}-obj/$objects LINUXRELEASE=$(find_linux_release "$LINUXOBJ") if [ -z "$LINUXRELEASE" ]; then echo "Failed to find linux release in $LINUXOBJ" return 255 fi return 0 } mcpu_rpmbuild_opt() { echo "--define \'jobs $(/usr/bin/getconf _NPROCESSORS_ONLN)\'" return 0 }