File: bip-release

package info (click to toggle)
bip 0.9.3-1.2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,456 kB
  • sloc: ansic: 9,941; sh: 1,902; perl: 1,434; yacc: 212; lex: 137; makefile: 64
file content (83 lines) | stat: -rwxr-xr-x 1,958 bytes parent folder | download | duplicates (3)
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/sh

set -e

if [ ! -d src ] || [ ! -f NEWS ] ; then
	echo "Please run me in bip sources root." >&2 
	exit 1
fi

release_version="$1"
release_name="$2"
: ${MAKEOPTS:=-j -l4}

set_version() {
	local release_version
	release_version="${1}"
	sed -i -e '/^AC_INIT/s/\(,\[\)[^]]*/\1'${release_version}'/' configure.ac
}

get_version() {
	grep -e '^AC_INIT' configure.ac | cut -d [ -f 3 | cut -d ] -f 1
}

make_distcheck() {
	# prepare sources
	autoreconf -i -Wall
	# Create makefile, use all possible options
	./configure
	# run distcheck
	if ! make ${MAKEOPTS} distcheck; then
	    echo "'make distcheck' fails, please try again." >&2
		return 1
	else
		true
	fi
}

git log > ChangeLog
if [ -n "$release_version" ]; then
    # Don't forget to update NEWS file before a release
    expected="$(date --rfc-3339=date) (${release_version})"
	if [ -n "${release_name}" ]; then
        expected="${expected} \"${release_name}\""
    fi
    head -n 1 NEWS | grep -q "^${expected}$" || (echo "NEWS file doesn't match the expected format (${expected})" && exit 1)

	set_version "${release_version}"
	make_distcheck || exit 1

	git commit -a --gpg-sign -m "Update version and ChangeLog for bip-${release_version} release."
	TAG_COMMENT="Release ${release_version}"
	if [ -n "${release_name}" ]; then
		TAG_COMMENT="${TAG_COMMENT} '${release_name}'"
	fi
	git tag --sign -m "${TAG_COMMENT}" release-${release_version}

	set_version "${release_version}-git"
	git commit -a --gpg-sign -m "Add -git to version string."

	echo "See bip-${release_version}.tar.gz"
else
	make_distcheck || exit 1

	tarname=bip-$(get_version)
	prefix=bip-$(date +%Y%m%d)

	rm -rf "${tarname}"  "${prefix}"
	tar -xzf "${tarname}".tar.gz
	rm -rf "${tarname}".tar.gz

	mv "${tarname}" "${prefix}"
	tar -czf "${prefix}".tar.gz "${prefix}"
	rm -rf "${prefix}"

	# Revert the ChangeLog.
	git checkout HEAD -- ChangeLog

	echo "See ${prefix}.tar.gz"
fi

# cleanup
git clean -d -i -e "bip-*.tar.gz"