aboutsummaryrefslogtreecommitdiff
path: root/devtools/dist-scummvm.sh
diff options
context:
space:
mode:
Diffstat (limited to 'devtools/dist-scummvm.sh')
-rwxr-xr-xdevtools/dist-scummvm.sh106
1 files changed, 106 insertions, 0 deletions
diff --git a/devtools/dist-scummvm.sh b/devtools/dist-scummvm.sh
new file mode 100755
index 0000000000..de76c9f6a9
--- /dev/null
+++ b/devtools/dist-scummvm.sh
@@ -0,0 +1,106 @@
+#!/bin/sh -e
+#
+# dist-module.sh - make release tarballs for one SVN module
+#
+# Largely based on dist-fink.sh, Copyright (c) 2001 Christoph Pfisterer.
+# Modified to use Subversion instead of CVS by Max Horn in 2007.
+#
+# ScummVM is the legal property of its developers, whose names
+# are too numerous to list here. Please refer to the COPYRIGHT
+# file distributed with this source distribution.
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# $URL$
+# $Id$
+
+### configuration
+
+svnroot='https://scummvm.svn.sourceforge.net/svnroot/scummvm'
+
+### init
+
+if [ $# -lt 2 ]; then
+ echo "Usage: $0 <module> <version-number> [<temporary-directory> [<tag>]]"
+ exit 1
+fi
+
+module=$1
+version=$2
+tmpdir=${3:-/tmp}
+tag=$4
+if [ -z "$tag" ]; then
+ tag=release-`echo $version | sed 's/\./-/g'`
+fi
+fullname="$module-$version"
+
+echo "packaging $module release $version, SVN tag $tag"
+
+### setup temp directory
+
+mkdir -p $tmpdir
+cd $tmpdir
+umask 022
+
+if [ -d $fullname ]; then
+ echo "There is a left-over directory in $tmpdir."
+ echo "Remove $fullname, then try again."
+ exit 1
+fi
+
+### check code out from SVN
+# TODO: Add support for making tarballs from trunk / branches?
+
+echo "Exporting module $module, tag $tag from SVN:"
+svn export "$svnroot/$module/tags/$tag" $fullname
+if [ ! -d $fullname ]; then
+ echo "SVN export failed, directory $fullname doesn't exist!"
+ exit 1
+fi
+
+### roll the tarball
+
+echo "Creating tarball $fullname.tar:"
+rm -f $fullname.tar $fullname.tar.gz
+tar -cvf $fullname.tar $fullname
+
+echo "Compressing (using gzip) tarball $fullname.tar.gz..."
+gzip -c9 $fullname.tar > $fullname.tar.gz
+if [ ! -f $fullname.tar.gz ]; then
+ echo "Packaging failed, $fullname.tar.gz doesn't exist!"
+ exit 1
+fi
+
+echo "Compressing (using bzip2) tarball $fullname.tar.bz2..."
+bzip2 -c9 $fullname.tar > $fullname.tar.bz2
+if [ ! -f $fullname.tar.bz2 ]; then
+ echo "Packaging failed, $fullname.tar.bz2 doesn't exist!"
+ exit 1
+fi
+
+echo "Zipping $fullname.zip..."
+zip -r9 $fullname.zip $fullname
+if [ ! -f $fullname.zip ]; then
+ echo "Packaging failed, $fullname.zip doesn't exist!"
+ exit 1
+fi
+
+
+### finish up
+
+echo "Done:"
+ls -l $fullname.tar.gz $fullname.tar.bz2 $fullname.zip
+
+exit 0