-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmakerelease.sh
executable file
·107 lines (91 loc) · 2.88 KB
/
makerelease.sh
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
#!/bin/sh
# mkrelease.sh: Creates a release tarball for ChatIRCd..
#
# Copyright (c) 2007, 2011 atheme.org
# Copyright (c) 2016 ChatLounge IRC Network Development Team
#
# Permission to use, copy, modify, and/or distribute this software for
# any purpose with or without fee is hereby granted, provided that the above
# copyright notice and this permission notice appear in all copies.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
if [ "x$1" = "x" ]; then
echo "usage: $0 releasename [--automatic]"
exit
else
RELEASENAME="$1"
fi
if [ "x$2" = "x--automatic" ]; then
AUTOMATIC="yes"
fi
TIP=`git log -1 --pretty=oneline | cut -d" " -f1`
WRKDIR=`pwd`
if [ -d $RELEASENAME ]; then
echo "Deleting previous release named $RELEASENAME."
rm -rf $WRKDIR/$RELEASENAME/
fi
echo "Making release named $RELEASENAME (tip $TIP)"
echo
echo "Building root: $RELEASENAME/"
cd ..
git archive --format=tar --prefix=$RELEASENAME/ HEAD | gzip >scripts/$RELEASENAME-working.tar.gz
cd $WRKDIR
tar -xzvf $RELEASENAME-working.tar.gz
cd $RELEASENAME
sh autogen.sh
rm -rf autogen.sh autom4te.cache
rm -rf .gitignore
# Run application specific instructions here.
if [ -x "$WRKDIR/application.sh" ]; then
. $WRKDIR/application.sh
fi
cd ..
echo "Building $RELEASENAME.tgz from $RELEASENAME/"
tar zcf $RELEASENAME.tar.gz $RELEASENAME/
echo "Building $RELEASENAME.tbz2 from $RELEASENAME/"
tar jcf $RELEASENAME.tar.bz2 $RELEASENAME/
rm $RELEASENAME-working.tar.gz
# Maybe replace this entire commented out section with code specific to ChatIRCd?
#
#PUBLISH="yes"
#
#ok="0"
#if [ "x$AUTOMATIC" != "xyes" ]; then
# echo
# echo "Would you like to publish these releases now?"
# while [ $ok -eq 0 ]; do
# echo -n "[$PUBLISH] "
#
# read INPUT
# case $INPUT in
# [Yy]*)
# PUBLISH="yes"
# ok=1
# ;;
# [Nn]*)
# PUBLISH="no"
# ok=1
# ;;
# esac
# done
#fi
#if [ "x$PUBLISH" = "xyes" ]; then
# scp $RELEASENAME.tgz hg.atheme.org:/srv/distfiles
# scp $RELEASENAME.tbz2 hg.atheme.org:/srv/distfiles
# echo
# echo "The releases have been published, and will be available to the entire"
# echo "distribution network within 15 minutes."
#fi
echo
echo "Done. Release tarballs have been created for ChatIRCd."
echo