File: generate-tarball.sh

package info (click to toggle)
golang-mux 0.0~git20140505.1.136d54f-2
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 180 kB
  • ctags: 146
  • sloc: sh: 90; makefile: 3
file content (47 lines) | stat: -rwxr-xr-x 1,263 bytes parent folder | download | duplicates (21)
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
42
43
44
45
46
47
#!/bin/bash
set -e

# usage: $0 [directory [version]]

directory="$1"
version="$2"

if [ -z "$directory" ]; then
	echo >&2 "usage: $0 directory [version]"
	echo >&2 "   ie: $0 ../tarballs"
	echo >&2 "       $0 .. 0.0~git19700101.1.0000000"
	exit 1
fi

debian="$(readlink -f "$(dirname "$BASH_SOURCE")/..")"
packageLine="$(head -n1 "$debian/changelog")"
packageName="$(echo "$packageLine" | cut -d' ' -f1)"
packageDebianVersion="$(echo "$packageLine" | cut -d'(' -f2 | cut -d')' -f1)"
packageVersion="${packageDebianVersion%-*}" # strip off the "debian version" suffix (-1, -2, -3, etc)

if [ -z "$version" ]; then
	echo >&2 "version not specified, using '$packageVersion' from d/changelog"
	version="$packageVersion"
fi

tag="upstream/${version//'~'/_}"
mkdir -p "$directory"
directory="$(readlink -f "$directory")"
archive="$directory/${packageName}_${version}.orig.tar.gz"
commit="$(git log -1 --pretty='%h' "$tag" -- || true)"

if [ -z "$commit" ]; then
	echo >&2 "error: $tag does not appear to be a valid tag"
	echo >&2 '  did you forget to run "create-upstream-tag.sh"?'
	exit 1
fi

gitRoot="$(git rev-parse --show-toplevel)"
( set -x
	cd "$gitRoot"
	git archive \
		--format='tar.gz' \
		--prefix="${packageName}_${commit}/" \
		"$tag" \
			> "$archive"
)