2c25a8676ee7fd386033937c5ec597450b785146
[b43-tools.git] / fwcutter / makerelease.sh
1 #!/bin/bash
2 set -e
3
4 project="b43-fwcutter"
5
6 origin="$(dirname "$0")"
7 [ "${origin:0:1}" = "/" ] || origin="$PWD/$origin"
8
9 do_git_tag=1
10 [ "$1" = "--notag" ] && do_git_tag=0
11
12 version="$(cat $origin/Makefile | grep -e VERSION | head -n1 | cut -d' ' -f3)"
13 if [ -z "$version" ]; then
14         echo "Could not determine version!"
15         exit 1
16 fi
17 tmpdir="/tmp"
18 release_name="$project-$version"
19 tarball="$release_name.tar.bz2"
20 tagname="$project-$version-release"
21 tagmsg="$project-$version release"
22
23 export GIT_DIR="$origin/../.git"
24
25 rm -Rf "$tmpdir/$release_name"
26 echo "Creating target directory"
27 mkdir -p "$tmpdir/$release_name"
28 cd "$tmpdir/$release_name"
29 echo "git checkout"
30 git checkout -f
31 mv fwcutter $release_name
32 targetdir="$tmpdir/$release_name/$release_name"
33
34 rm "$targetdir/makerelease.sh"
35
36 echo "creating tarball"
37 cd "$targetdir/.."
38 tar cjf "$tarball" "$release_name"
39 mv "$tarball" "$origin"
40
41 echo "running testbuild"
42 cd "$targetdir"
43 make
44
45 echo "removing testbuild"
46 rm -R "$tmpdir/$release_name"
47
48 if [ "$do_git_tag" -ne 0 ]; then
49         echo "Tagging GIT"
50         cd "$origin"
51         git tag -m "$tagmsg" -a "$tagname"
52 fi
53
54 echo
55 echo "built release $version"