]> jfr.im git - solanum.git/blame - scripts/makerelease.sh
Merge pull request #89 from prgmrbill/add-channel-mode-s-help-cmode
[solanum.git] / scripts / makerelease.sh
CommitLineData
4bf178c5
JT
1#!/bin/sh
2# mkrelease.sh: Creates a release suitable for distfiles.atheme.org.
3#
a35e76ad 4# Copyright (c) 2007, 2011 atheme.org
4bf178c5
JT
5#
6# Permission to use, copy, modify, and/or distribute this software for
7# any purpose with or without fee is hereby granted, provided that the above
8# copyright notice and this permission notice appear in all copies.
9#
10# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
11# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
12# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
13# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
14# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
16# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
17# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
18# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
19# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
20#
21
22if [ "x$1" = "x" ]; then
23 echo "usage: $0 releasename [--automatic]"
24 exit
25else
26 RELEASENAME="$1"
27fi
28
29if [ "x$2" = "x--automatic" ]; then
30 AUTOMATIC="yes"
31fi
32
a35e76ad 33TIP=`git log -1 --pretty=oneline | cut -d" " -f1`
4bf178c5
JT
34
35WRKDIR=`pwd`
36
37if [ -d $RELEASENAME ]; then
38 echo "Deleting previous release named $RELEASENAME."
39 rm -rf $WRKDIR/$RELEASENAME/
40fi
41
42echo "Making release named $RELEASENAME (tip $TIP)"
43
44echo
45echo "Building root: $RELEASENAME/"
c7b7370c
JH
46cd ..
47git archive --format=tar --prefix=$RELEASENAME/ HEAD | gzip >scripts/$RELEASENAME-working.tar.gz
48cd $WRKDIR
49tar -xzvf $RELEASENAME-working.tar.gz
4bf178c5
JT
50cd $RELEASENAME
51sh autogen.sh
52rm -rf autogen.sh autom4te.cache
a35e76ad 53rm -rf .gitignore
4bf178c5
JT
54
55# Run application specific instructions here.
56if [ -x "$WRKDIR/application.sh" ]; then
57 . $WRKDIR/application.sh
58fi
59
60cd ..
61
62echo "Building $RELEASENAME.tgz from $RELEASENAME/"
c7b7370c 63tar zcf $RELEASENAME.tar.gz $RELEASENAME/
4bf178c5
JT
64
65echo "Building $RELEASENAME.tbz2 from $RELEASENAME/"
c7b7370c
JH
66tar jcf $RELEASENAME.tar.bz2 $RELEASENAME/
67
68rm $RELEASENAME-working.tar.gz
4bf178c5
JT
69
70PUBLISH="yes"
71
72ok="0"
73if [ "x$AUTOMATIC" != "xyes" ]; then
74 echo
75 echo "Would you like to publish these releases now?"
76 while [ $ok -eq 0 ]; do
77 echo -n "[$PUBLISH] "
78
79 read INPUT
80 case $INPUT in
81 [Yy]*)
82 PUBLISH="yes"
83 ok=1
84 ;;
85 [Nn]*)
86 PUBLISH="no"
87 ok=1
88 ;;
89 esac
90 done
91fi
92
93if [ "x$PUBLISH" = "xyes" ]; then
98fd0427
JT
94 scp $RELEASENAME.tgz hg.atheme.org:/srv/distfiles
95 scp $RELEASENAME.tbz2 hg.atheme.org:/srv/distfiles
4bf178c5
JT
96
97 echo
98 echo "The releases have been published, and will be available to the entire"
99 echo "distribution network within 15 minutes."
100fi
101
102echo
103echo "Done. If you have any bugs to report, report them against"
a35e76ad 104echo "the distfiles.atheme.org component at http://jira.atheme.org"
4bf178c5
JT
105echo "Thanks!"
106echo