Merge remote-tracking branch 'kc/new/enh/bug_5579' into kcmaster
[koha.git] / debian / build-git-snapshot
1 #!/bin/sh
2 #
3 # This script will build a .deb from a git snapshot of koha.
4 # Don't use it for building actual versions for uploading to Debian.
5 #
6 # To use:
7 # - commit any changes into git
8 # - run this script
9
10 set -e
11
12 die()
13 {
14     echo "$@"
15     exit 1
16 }
17
18 everything_is_commited()
19 {
20     if git status --short | grep -q '^'
21     then
22         return 1
23     else
24         return 0
25     fi
26 }
27
28 latest_sha1() {
29     git rev-parse --short=8 HEAD
30 }
31
32 newversion() {
33     printf '3.3-1~git%s.%s' $(date +%Y%m%d%H%M%S) $(latest_sha1)
34 }
35
36 adjust_debian_changelog() {
37     dch --force-distribution -D squeeze-dev -v "$1" \
38         "Building git snapshot."
39     dch -r "Building git snapshot."
40 }
41
42 reset_debian_changelog() {
43     git checkout -- debian/changelog
44 }
45
46 build_package() {
47     git archive --format=tar --prefix="koha-$1/" HEAD | 
48         gzip -9 > "../koha_$1.tar.gz"
49     pdebuild $2
50 }
51
52 if ! everything_is_commited
53 then
54     die "cannot build: uncommited changes"
55 fi
56
57 version="$(newversion)"
58 if [ -n "$1" ]
59 then
60     pdebuildopts="--buildresult $1"
61 fi
62 adjust_debian_changelog "$version"
63 build_package "$version" "$pdebuildopts"
64 reset_debian_changelog