e2fsprogs/contrib/build-rpm
Andreas Dilger 28b74daa10 allow integrating the "make rpm" command into a build system
Allow "make rpm" to take some extra configure options from the build
environment without having to patch the code.

Build the tarball in a temporary directory instead of the e2fsprogs
source directory.

Signed-off-by: Michael MacDonald <Michael.Macdonald@Sun.COM>
Signed-off-by: Andreas Dilger <adilger@sun.com>
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
2008-08-24 21:03:17 -04:00

46 lines
1.3 KiB
Bash

#!/bin/sh
# enable xtrace output if requested
if [ -n ${ENABLE_XTRACE:-''} ]; then
set -x
fi
# Build an e2fsprogs RPM from cvs
pwd=`pwd`
currdir=`basename $pwd`
pkgname=`grep Name: e2fsprogs.spec | awk '{print $2;}'`
pkgvers=`grep Version: e2fsprogs.spec | awk '{print $2;}'`
builddir=${pkgname}-${pkgvers}
# ensure that $TMP is set to something
TMP=${TMP:-'/tmp'}
cd ..
tmpdir=`mktemp -d ${RPM_TMPDIR:-$TMP}/rpmtmp.XXXXXX`
# We need to build a tarball for the SRPM using $builddir as the
# directory name (since that's what RPM will expect it to unpack
# into). That may require a symlink.
# Make a recursive-symlink copy of the source dir
cp -sR `pwd`/$currdir $tmpdir/$builddir || exit 1
# Remove any build files from the temporary tarball directory
[ -f $tmpdir/$builddir/Makefile ] && make -C $tmpdir/$builddir distclean
EXCLUDE="--exclude .hg* --exclude .pc*"
(cd $tmpdir && tar czfh ${builddir}.tar.gz $EXCLUDE $builddir)
[ "`rpmbuild --version 2> /dev/null`" ] && RPM=rpmbuild || RPM=rpm
$RPM --define "_sourcedir $tmpdir" \
--define "_topdir ${RPM_TOPDIR:-$(rpm -E %_topdir)}" \
--define "_tmpdir ${RPM_TMPDIR:-$TMP}" \
--define "extra_config_flags ${EXTRA_CONFIG_FLAGS:-''}" \
-ba $currdir/e2fsprogs.spec
rpm_exit=$?
rm -rf $tmpdir
exit $rpm_exit