]> jfr.im git - irc/evilnet/znc.git/blob - make-tarball.sh
Swap sasl plain args
[irc/evilnet/znc.git] / make-tarball.sh
1 #!/bin/sh
2 set -e
3
4 TMPDIR=`mktemp -d`
5 TMPDIR2=`mktemp -d`
6 trap 'rm -rf $TMPDIR $TMPDIR2' EXIT
7
8 if [ ! -f include/znc/main.h ] ; then
9 echo "Can't find source!"
10 exit -1
11 fi
12
13 if [ "x$1" = "x--nightly" ]; then
14 # e.g. ./make-tarball.sh --nightly znc-git-2014-04-21 path/to/output/znc-foo.tar.gz
15 ZNCDIR=$2
16 TARGZ=$3
17 SIGN=0
18 DESC=-nightly-`date +%Y%m%d`-`git $GITDIR rev-parse HEAD | cut -b-8`
19 NIGHTLY=1
20 else
21 VERSION=$1
22 if [ "x$VERSION" = "x" ] ; then
23 AWK_ARG='/#define VERSION_MAJOR/ { maj = $3 }
24 /#define VERSION_MINOR/ { min = $3 }
25 END { printf "%.1f", (maj + min / 10) }'
26 VERSION=$(awk "$AWK_ARG" include/znc/main.h)
27 fi
28 if [ "x$VERSION" = "x" ] ; then
29 echo "Couldn't get version number"
30 exit -1
31 fi
32
33 ZNCDIR=znc-$VERSION
34 TARGZ=$ZNCDIR.tar.gz
35 SIGN=1
36 DESC="$(sed -En 's/set\(alpha_version "(.*)"\).*/\1/p' CMakeLists.txt)"
37 NIGHTLY=0
38 fi
39
40 TARGZ=`readlink -f -- $TARGZ`
41
42 echo "Exporting . to $TMPDIR/$ZNCDIR..."
43 git checkout-index --all --prefix=$TMPDIR/$ZNCDIR/
44 mkdir -p --mode=0755 $TMPDIR/$ZNCDIR/third_party/Csocket
45 cp -p third_party/Csocket/Csocket.cc third_party/Csocket/Csocket.h $TMPDIR/$ZNCDIR/third_party/Csocket/
46 (
47 cd $TMPDIR2
48 cmake $TMPDIR/$ZNCDIR -DWANT_PERL=yes -DWANT_PYTHON=yes
49 make modperl_dist modpython_dist
50 )
51 (
52 cd $TMPDIR/$ZNCDIR
53 AUTOMAKE_FLAGS="--add-missing --copy" ./autogen.sh
54 rm -r autom4te.cache/
55 rm -rf .travis* .appveyor* .ci/
56 rm make-tarball.sh
57 # For autoconf
58 sed -e "s/THIS_IS_NOT_TARBALL//" -i Makefile.in
59 echo '#include <znc/version.h>' > src/version.cpp
60 echo "const char* ZNC_VERSION_EXTRA = VERSION_EXTRA \"$DESC\";" >> src/version.cpp
61 # For cmake
62 if [ "x$DESC" != "x" ]; then
63 if [ $NIGHTLY = 1 ]; then
64 echo $DESC > .nightly
65 fi
66 fi
67 )
68 (
69 cd $TMPDIR
70 echo "Creating tarball"
71 env GZIP=-9 tar -czf $TARGZ $ZNCDIR
72 )
73 echo "Done"
74
75 if [ $SIGN = 1 ]; then
76 echo "Signing $TARGZ..."
77 gpg --detach-sig $TARGZ
78 echo "Created $TARGZ and $TARGZ.sig"
79 fi