From 28b74daa10bfd4e6d908ca030a9d9c5b8269a26c Mon Sep 17 00:00:00 2001 From: Andreas Dilger Date: Sun, 24 Aug 2008 21:03:17 -0400 Subject: [PATCH] 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 Signed-off-by: Andreas Dilger Signed-off-by: "Theodore Ts'o" --- contrib/build-rpm | 23 +++++++++++++++++------ e2fsprogs.spec.in | 3 ++- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/contrib/build-rpm b/contrib/build-rpm index c635097f..0b060715 100644 --- a/contrib/build-rpm +++ b/contrib/build-rpm @@ -1,5 +1,10 @@ #!/bin/sh +# enable xtrace output if requested +if [ -n ${ENABLE_XTRACE:-''} ]; then + set -x +fi + # Build an e2fsprogs RPM from cvs pwd=`pwd` @@ -8,8 +13,11 @@ 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 rpmtmp.XXXXXX` +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 @@ -25,10 +33,13 @@ 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 `pwd`/$tmpdir" -ba $currdir/e2fsprogs.spec -ret=$? +$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 $? - - +exit $rpm_exit diff --git a/e2fsprogs.spec.in b/e2fsprogs.spec.in index 41bf6809..51c9b64d 100644 --- a/e2fsprogs.spec.in +++ b/e2fsprogs.spec.in @@ -62,7 +62,8 @@ SMP systems. %setup %build -%configure --enable-elf-shlibs --enable-nls +%configure --enable-elf-shlibs --enable-nls \ + %{?extra_config_flags:%extra_config_flags} make make check