RPMBUILD=
XEN=false
+# build the lustre-tests rpm?
+LUSTRE_TESTS=true
+
canon()
{
pushd $1 >/dev/null
#bash -c "$@" &
("$@") &
child_pid=$!
-
+
(sleep $SLEEP_TIME
kill -TERM -$child_pid 2>/dev/null
sleep 5
if [ "$OFED_VERSION" = "1.3" ]; then
K_SRC="KSRC"
fi
- $RPMBUILD --rebuild --define 'build_kernel_ib 1' --define 'build_kernel_ib_devel 1' \
- --define "_topdir $(lbuild_topdir)" --target ${TARGET_ARCH} \
- --define "KVERSION ${FULL_VERSION}" \
- --define "$K_SRC ${PWD}/linux" \
- --define "LIB_MOD_DIR /lib/modules/${FULL_VERSION}" \
- --define "configure_options --without-quilt --with-core-mod --with-user_mad-mod --with-user_access-mod --with-addr_trans-mod --with-srp-target-mod --with-core-mod --with-mthca-mod --with-mlx4-mod --with-cxgb3-mod --with-nes-mod --with-ipoib-mod --with-sdp-mod --with-srp-mod --without-srp-target-mod --with-rds-mod --with-iser-mod --with-qlgc_vnic-mod --with-madeye-mod $configure_options" $(lbuild_topdir)/OFED/SRPMS/ofa_kernel-*.src.rpm
-
- if [ ${PIPESTATUS[0]} != 0 ]; then
+ if ! $RPMBUILD --rebuild --define 'build_kernel_ib 1' --define 'build_kernel_ib_devel 1' \
+ --define "_topdir $(lbuild_topdir)" --target ${TARGET_ARCH} \
+ --define "KVERSION ${FULL_VERSION}" \
+ --define "$K_SRC ${PWD}/linux" \
+ --define "LIB_MOD_DIR /lib/modules/${FULL_VERSION}" \
+ --define "configure_options --without-quilt --with-core-mod --with-user_mad-mod --with-user_access-mod --with-addr_trans-mod --with-srp-target-mod --with-core-mod --with-mthca-mod --with-mlx4-mod --with-cxgb3-mod --with-nes-mod --with-ipoib-mod --with-sdp-mod --with-srp-mod --with-rds-mod --with-iser-mod --with-qlgc_vnic-mod --with-madeye-mod $configure_options" $(lbuild_topdir)/OFED/SRPMS/ofa_kernel-*.src.rpm 2>&1; then
fatal 1 "Error building kernel-ib"
fi
-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 \
< lustre.spec.in \
> lustre.spec
+ # convert the $LUSTRE_TESTS boolean to an empty/not-empty boolean
+ # as silly as this seems, it makes the syntax of the rpmbuild command
+ # simpler and not need an eval to deal with the quotes in the quotes
+ # ditto for the lustre-tests boolean
+ local lustre_tests=""
+ if ! $LUSTRE_TESTS; then
+ lustre_tests="no"
+ fi
+
$RPMBUILD --target ${TARGET_ARCH} -bb lustre.spec \
- ${PATCHLESS:+--define "lustre_name lustre-client"} \
+ --define "configure_args --with-linux=${PWD}/linux ${CONFIGURE_FLAGS}" \
+ ${lustre_tests:+--define "build_lustre_tests 0"} \
--define "_tmppath $TMPDIR" \
- --define "_topdir $(lbuild_topdir)" || \
+ --define "_topdir $(lbuild_topdir)" 2>&1 || \
fatal 1 "Error building Lustre rpms."
# $MAKE_J "$MAKE_CC" || fatal 1 "Error building Lustre."
popd >/dev/null
KVERREL="${VERSION}${EXTRA_VERSION_DELIMITER}${EXTRA_VERSION}"
# deal with the kernel headers that are version specific
-
+
saveddir="$RPM_BUILD_ROOT/usr/src/linux-${KVERREL}/savedheaders/${TARGET_ARCH}/${TARGET_CONFIG:-up}"
mkdir -p "$saveddir"
install -m 644 include/linux/autoconf.h "$saveddir/autoconf.h"
options=$(getopt -o hj: -l "$longopts" -- "$@")
eval set -- "$options"
-
+
while [ "$1" ] ; do
case "$1" in
'')
;;
--)
shift
+ # there are actually some lustre configure flags that we need to
+ # handle ourselves (but we still give them to configure)
+ if [[ \ $@\ == *\ --disable-tests\ * ]]; then
+ LUSTRE_TESTS=false
+ fi
CONFIGURE_FLAGS=$@
break
;;
if [ "$OFED_VERSION" = "inkernel" ]; then
CONFIGURE_FLAGS="--with-o2ib=yes ${CONFIGURE_FLAGS}"
else
- build_kernel_ib
+ build_kernel_ib
fi
fi