aboutsummaryrefslogtreecommitdiff
path: root/tools/gentarball.sh
blob: 90a8cb3c43c213dfb229cbeb0b330b540d8be57e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/bin/sh
#
# Generate release tarballs for impl

command -v git > /dev/null 2>&1 || (echo "error: you need git to run this script" && exit 1)

findversion() {
	eval $(grep PACKAGE_VERSION $(dirname $0)/../configure | sed 1q)
	echo $PACKAGE_VERSION
}

VERSION=$(findversion)

DIR=dist/impl-${VERSION}
mkdir -p $DIR

if [ -d .got ]; then
	repodir=$(got info | grep '^repository' | cut -d: -f2 | xargs)
	head=$(got br)
else
	repodir=$(git rev-parse --show-toplevel)/.git
	head=@
fi

echo "Making BZIP tarball"
git --git-dir="${repodir}" archive --format=tar --prefix=impl-$VERSION/ $head \
	| bzip2 -v > $DIR/impl-$VERSION.tar.bz2
echo "Making XZ tarball"
git --git-dir="${repodir}" archive --format=tar --prefix=impl-$VERSION/ $head \
	| xz -v > $DIR/impl-$VERSION.tar.xz
echo "Making GZIP tarball"
git --git-dir="${repodir}" archive --format=tar --prefix=impl-$VERSION/ $head \
	| gzip -v > $DIR/impl-$VERSION.tar.gz

(
	cd $DIR
	echo "Calculating SHA256SUMS"
	sha256sum *.tar* > SHA256SUMS
)

echo "Release Tarballs are at $DIR"