- # XXX - dirty hack time. ~sigh~
- # because the spl tarball contains two .spec files, we cannot
- # simply rebuild the tarball
- ln $pkg/$pkg-*.tar.gz $TOPDIR/SOURCES ||
- error "failed to link $pkg/$pkg-*.tar.gz into $TOPDIR/SOURCES"
-
- # First build the userspace tools RPMs
- if ! $RPMBUILD $targets -bb $pkg/$pkg.spec \
- --nodeps -v \
- --define "configure_args ${CONFIGURE_FLAGS}" \
- --define "_tmppath /var/tmp" \
- --define "_topdir $TOPDIR" 2>&1; then
- return 255
- fi
-
- if $DO_SRC; then
- if ! $RPMBUILD -bs $pkg/$pkg.spec \
- --nodeps -v \
- --define "configure_args ${CONFIGURE_FLAGS}" \
- --define "_tmppath /var/tmp" \
- --define "_topdir $TOPDIR" 2>&1; then
- return 255
+ ln -f $pkg/$pkg-*.tar.gz $TOPDIR/SOURCES ||
+ error "failed to link $pkg/$pkg-*.tar.gz into $TOPDIR/SOURCES"
+ if [ -f $pkg/scripts/kmodtool ]; then
+ ln -f $pkg/scripts/kmodtool $TOPDIR/SOURCES/
+ fi
+
+ local rpmb
+ if $DO_SRC; then
+ rpmb=-ba
+ else
+ rpmb=-bb
+ fi
+
+ # set search dir for our own kmodtool to find correct
+ # directories
+ export KERNELSOURCE=$(dirname ${LINUX})
+ # Manually build rpms
+ for spec in $speclist; do
+ echo "Building RPMs from $pkg/$specdir/$spec"
+ if ! $RPMBUILD $rpmb $pkg/$specdir/$spec \
+ --nodeps -v \
+ --define "require_kdir ${LINUX}" \
+ ${LINUXOBJ:+--define "require_kobj ${LINUXOBJ}"} \
+ ${spldir:+--define "require_spldir ${spldir}"} \
+ --define "kver $kver" \
+ --define "kernels $kver" \
+ --define "_tmppath /var/tmp" \
+ --define "kernelbuildroot $(find_linux_builddir $LINUX)" \
+ --define "_topdir $TOPDIR" 2>&1; then
+ return 255