KERNEL_FILE=
SERIES_FILE=
CONFIG_FILE=
+RPMBUILD=
canon()
{
echo $PWD
popd >/dev/null
}
-TOPDIR=$(canon "${0%%${0##*/}}/..")
+TOPDIR="${0%%${0##*/}}"
+if [ "${TOPDIR}" ] ; then
+ TOPDIR=$(canon "${TOPDIR}/..")
+else
+ TOPDIR=$(canon "..")
+fi
+
+lbuild_topdir()
+{
+ retdir=$TOPDIR
+ while [ ! -d $retdir/BUILD ] ; do
+ retdir=$(canon "$retdir/..")
+ if [ "$retdir" = "/" ] ; then
+ break;
+ fi
+ done
+ echo "$retdir"
+}
cleanup()
{
if [ -z "$JOBS" -o "$JOBS" -lt "1" ] ; then
JOBS=1
fi
+
+ RPMBUILD=$(which rpmbuild 2>/dev/null | head -1)
+ if [ ! "$RPMBUILD" -o "$RPMBUILD" == "" ]; then
+ RPMBUILD=$(which rpm 2>/dev/null | head -1)
+ if [ ! "$RPMBUILD" -o "$RPMBUILD" == "" ]; then
+ usage 1 "Could not find binary for making rpms (tried rpmbuild and rpm)."
+ fi
+ fi
}
get_lustre_version()
*.tar.bz2)
echo 'jxf'
;;
+ *.tar)
+ echo 'xf'
+ ;;
*)
fatal 1 "tarflags(): Unrecognized tar extension in file: $1"
;;
i386 | i586 | i686 | athlon | x86_64)
$MAKE_J "$MAKE_CC" bzImage || fatal 1 "Error making bzImage."
;;
- ppc | ppc64)
+ ia64 | ppc | ppc64)
$MAKE_J "$MAKE_CC" vmlinux || fatal 1 "Error making vmlinux."
;;
*)
configure_lustre()
{
+ return 0
(( $BUILD_LUSTRE )) || return 0
pushd "$TOPDIR" >/dev/null
[ -f Makefile ] && make -s clean
{
(( $BUILD_LUSTRE )) || return 0
set_make
+ FULL_VERSION="${VERSION}-${EXTRA_VERSION}${TARGET_CONFIG}"
pushd "$TOPDIR" >/dev/null
- $MAKE_J "$MAKE_CC" || fatal 1 "Error building Lustre."
+ sed \
+ -e s^@VERSION@^${LUSTRE_VERSION}^g \
+ -e s^@LINUXRELEASE@^${FULL_VERSION}^g \
+ -e s^@RELEASE@^${FULL_VERSION//-/_}^g \
+ -e s^@ac_configure_args@^"--with-linux=${PWD}/linux ${CONFIGURE_FLAGS}"^g \
+ < build/lustre.spec.in \
+ > build/lustre.spec
+ $RPMBUILD --target ${TARGET_ARCH} -bb build/lustre.spec \
+ --define "_topdir $(lbuild_topdir)" || \
+ fatal 1 "Error building Lustre rpms."
+ # $MAKE_J "$MAKE_CC" || fatal 1 "Error building Lustre."
popd >/dev/null
}
install_lustre()
{
(( $INSTALL_LUSTRE )) || return 0
+ return 0
set_make
FULL_VERSION="${VERSION}-${EXTRA_VERSION}${TARGET_CONFIG}"
pushd "$TOPDIR" >/dev/null
install_kms()
{
(( $INSTALL_KERNEL )) || return 0
- (( $SUSEBUILD )) || return 0
+ (( $LINUX26 )) || return 0
set_make
FULL_VERSION="${VERSION}-${EXTRA_VERSION}${TARGET_CONFIG}"
for build_dir in "${TOPDIR}/modules-${FULL_VERSION}/*" ; do