Commits

Anonymous committed 3203032

Copy makerelease scripts from atheme-services and adapt them.

Comments (0)

Files changed (2)

scripts/application.sh

+#!/bin/sh
+# application.sh: Special package building rules for charybdis.
+#
+# Copyright (c) 2007-2008 atheme.org
+#
+# 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$TIP" = "x" ]; then
+	echo "Please don't run me directly."
+	exit
+fi
+
+# Charybdis wants the hg tip to be in include/serno.h, in its own format.
+MYTIP=`hg parents --template '#date|shortdate#_#node|short#' 2>/dev/null | sed -e s/-//g -e s/_/-/`
+echo "[atheme-services] Generating include/serno.h for tip $MYTIP."
+cat << _EOF_ > include/serno.h
+/* Generated automatically by makepackage. Any changes made here will be lost. */
+#define SERNO "$MYTIP"
+_EOF_

scripts/makerelease.sh

+#!/bin/sh
+# mkrelease.sh: Creates a release suitable for distfiles.atheme.org.
+#
+# Copyright (c) 2007 atheme.org
+#
+# 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=`hg tip --template "#rev#:#node|short#"`
+
+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/"
+hg archive $RELEASENAME
+cd $RELEASENAME
+sh autogen.sh
+rm -rf autogen.sh autom4te.cache
+
+# 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.tgz $RELEASENAME/
+
+echo "Building $RELEASENAME.tbz2 from $RELEASENAME/"
+tar jcf $RELEASENAME.tbz2 $RELEASENAME/
+
+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 distfiles-master.atheme.org:/srv/distfiles
+	scp $RELEASENAME.tbz2 distfiles-master.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. If you have any bugs to report, report them against"
+echo "the distfiles.atheme.org component at http://bugzilla.atheme.org"
+echo "Thanks!"
+echo
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.