xref: /aosp_15_r20/external/e2fsprogs/util/gen-tarball.in (revision 6a54128f25917bfc36a8a6e9d722c04a0b4641b6)
1*6a54128fSAndroid Build Coastguard Worker#!/bin/sh
2*6a54128fSAndroid Build Coastguard Worker#
3*6a54128fSAndroid Build Coastguard Worker# This script is used to generate the distribution tarball
4*6a54128fSAndroid Build Coastguard Worker#
5*6a54128fSAndroid Build Coastguard Workersrcdir=@srcdir@
6*6a54128fSAndroid Build Coastguard Workertop_srcdir=@top_srcdir@
7*6a54128fSAndroid Build Coastguard Workertop_dir=`cd $top_srcdir; pwd`
8*6a54128fSAndroid Build Coastguard Workerbase_ver=`echo @E2FSPROGS_VERSION@ | sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'`
9*6a54128fSAndroid Build Coastguard Workerbase_e2fsprogs=`basename $top_dir`
10*6a54128fSAndroid Build Coastguard Workerexclude=/tmp/exclude$$
11*6a54128fSAndroid Build Coastguard WorkerGZIP=gzip
12*6a54128fSAndroid Build Coastguard Worker
13*6a54128fSAndroid Build Coastguard Worker#
14*6a54128fSAndroid Build Coastguard Worker# This hack is needed because texi2dvi blows up horribly if there are
15*6a54128fSAndroid Build Coastguard Worker# any '~' characters in the directory pathname.  So we kludge around it by
16*6a54128fSAndroid Build Coastguard Worker# using a non-standard directory name for WIP releases.  dpkg-source
17*6a54128fSAndroid Build Coastguard Worker# complains, but life goes on.
18*6a54128fSAndroid Build Coastguard Worker#
19*6a54128fSAndroid Build Coastguard Workerdeb_pkgver=`echo @E2FSPROGS_PKGVER@ | sed -e 's/~/-/g'`
20*6a54128fSAndroid Build Coastguard Worker
21*6a54128fSAndroid Build Coastguard Workercase $1 in
22*6a54128fSAndroid Build Coastguard Worker    debian|ubuntu)
23*6a54128fSAndroid Build Coastguard Worker	SRCROOT="e2fsprogs-$deb_pkgver"
24*6a54128fSAndroid Build Coastguard Worker	tarout="e2fsprogs_@[email protected]"
25*6a54128fSAndroid Build Coastguard Worker	;;
26*6a54128fSAndroid Build Coastguard Worker   all|*)
27*6a54128fSAndroid Build Coastguard Worker	SRCROOT="e2fsprogs-$base_ver"
28*6a54128fSAndroid Build Coastguard Worker	tarout="$SRCROOT.tar.gz"
29*6a54128fSAndroid Build Coastguard Worker	;;
30*6a54128fSAndroid Build Coastguard Workeresac
31*6a54128fSAndroid Build Coastguard Worker
32*6a54128fSAndroid Build Coastguard Workerif test -z "$SOURCE_DATE_EPOCH" ; then
33*6a54128fSAndroid Build Coastguard Worker    export SOURCE_DATE_EPOCH=$(cd $top_srcdir; git log -1 --pretty=%ct)
34*6a54128fSAndroid Build Coastguard Workerfi
35*6a54128fSAndroid Build Coastguard Worker
36*6a54128fSAndroid Build Coastguard Worker(cd $top_srcdir/.. ; find $base_e2fsprogs \( -name \*~ -o -name \*.orig \
37*6a54128fSAndroid Build Coastguard Worker		-o -name CVS -o -name \*.rej -o -name Makefile.pq \
38*6a54128fSAndroid Build Coastguard Worker		-o -name TAGS -o -name \*.old -o -name SCCS \
39*6a54128fSAndroid Build Coastguard Worker		-o -name changed-files -o -name .#\* -o -name \*.tar.gz \
40*6a54128fSAndroid Build Coastguard Worker		-o -name autom4te.cache \) \
41*6a54128fSAndroid Build Coastguard Worker		-print) > $exclude
42*6a54128fSAndroid Build Coastguard Workersed -e "s;^;$base_e2fsprogs/;" < $srcdir/all.exclude >> $exclude
43*6a54128fSAndroid Build Coastguard Worker
44*6a54128fSAndroid Build Coastguard Worker(cd $top_srcdir/.. ; \
45*6a54128fSAndroid Build Coastguard Worker tar -c -f - -X $exclude --sort=name --owner=0 --group=0 \
46*6a54128fSAndroid Build Coastguard Worker     --transform "flags=r;s|^$base_e2fsprogs|$SRCROOT|" \
47*6a54128fSAndroid Build Coastguard Worker     --numeric-owner --mtime="@${SOURCE_DATE_EPOCH}" $base_e2fsprogs) \
48*6a54128fSAndroid Build Coastguard Worker    | $GZIP -9n -c > $tarout
49*6a54128fSAndroid Build Coastguard Worker$GZIP -ln $tarout
50*6a54128fSAndroid Build Coastguard Workerrm -f "$exclude"
51