xref: /aosp_15_r20/external/e2fsprogs/contrib/build-rpm (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard Worker#!/bin/sh
2*6a54128fSAndroid Build Coastguard Worker
3*6a54128fSAndroid Build Coastguard Worker# enable xtrace output if requested
4*6a54128fSAndroid Build Coastguard Workerif [ -n ${ENABLE_XTRACE:-''} ]; then
5*6a54128fSAndroid Build Coastguard Worker    set -x
6*6a54128fSAndroid Build Coastguard Workerfi
7*6a54128fSAndroid Build Coastguard Worker
8*6a54128fSAndroid Build Coastguard Worker# Build an e2fsprogs RPM from cvs
9*6a54128fSAndroid Build Coastguard Worker
10*6a54128fSAndroid Build Coastguard Workerpwd=`pwd`
11*6a54128fSAndroid Build Coastguard Workercurrdir=`basename $pwd`
12*6a54128fSAndroid Build Coastguard Workerpkgname=`grep Name: e2fsprogs.spec | awk '{print $2;}'`
13*6a54128fSAndroid Build Coastguard Workerpkgvers=`grep Version: e2fsprogs.spec | awk '{print $2;}'`
14*6a54128fSAndroid Build Coastguard Workerbuilddir=${pkgname}-${pkgvers}
15*6a54128fSAndroid Build Coastguard Worker
16*6a54128fSAndroid Build Coastguard Worker# ensure that $TMP is set to something
17*6a54128fSAndroid Build Coastguard WorkerTMP=${TMP:-'/tmp'}
18*6a54128fSAndroid Build Coastguard Worker
19*6a54128fSAndroid Build Coastguard Workercd ..
20*6a54128fSAndroid Build Coastguard Workertmpdir=`mktemp -d ${RPM_TMPDIR:-$TMP}/rpmtmp.XXXXXX`
21*6a54128fSAndroid Build Coastguard Worker
22*6a54128fSAndroid Build Coastguard Worker# We need to build a tarball for the SRPM using $builddir as the
23*6a54128fSAndroid Build Coastguard Worker# directory name (since that's what RPM will expect it to unpack
24*6a54128fSAndroid Build Coastguard Worker# into).  That may require a symlink.
25*6a54128fSAndroid Build Coastguard Worker
26*6a54128fSAndroid Build Coastguard Worker# Make a recursive-symlink copy of the source dir
27*6a54128fSAndroid Build Coastguard Workercp -sR `pwd`/$currdir $tmpdir/$builddir || exit 1
28*6a54128fSAndroid Build Coastguard Worker
29*6a54128fSAndroid Build Coastguard Worker# Remove any build files from the temporary tarball directory
30*6a54128fSAndroid Build Coastguard Worker[ -f $tmpdir/$builddir/Makefile ] && make -C $tmpdir/$builddir distclean
31*6a54128fSAndroid Build Coastguard Worker
32*6a54128fSAndroid Build Coastguard WorkerEXCLUDE="--exclude .hg* --exclude .pc*"
33*6a54128fSAndroid Build Coastguard Worker(cd $tmpdir && tar czfh ${builddir}.tar.gz $EXCLUDE $builddir)
34*6a54128fSAndroid Build Coastguard Worker
35*6a54128fSAndroid Build Coastguard Worker[ "`rpmbuild --version 2> /dev/null`" ] && RPM=rpmbuild || RPM=rpm
36*6a54128fSAndroid Build Coastguard Worker
37*6a54128fSAndroid Build Coastguard Worker$RPM --define "_sourcedir $tmpdir" \
38*6a54128fSAndroid Build Coastguard Worker     --define "_topdir ${RPM_TOPDIR:-$(rpm -E %_topdir)}" \
39*6a54128fSAndroid Build Coastguard Worker     --define "_tmpdir ${RPM_TMPDIR:-$TMP}" \
40*6a54128fSAndroid Build Coastguard Worker     --define "extra_config_flags ${EXTRA_CONFIG_FLAGS:-''}" \
41*6a54128fSAndroid Build Coastguard Worker     -ba $currdir/e2fsprogs.spec
42*6a54128fSAndroid Build Coastguard Worker
43*6a54128fSAndroid Build Coastguard Workerrpm_exit=$?
44*6a54128fSAndroid Build Coastguard Workerrm -rf $tmpdir
45*6a54128fSAndroid Build Coastguard Workerexit $rpm_exit
46