diff options
Diffstat (limited to 'Swift/Packaging/Source/package.sh')
-rwxr-xr-x | Swift/Packaging/Source/package.sh | 35 |
1 files changed, 33 insertions, 2 deletions
diff --git a/Swift/Packaging/Source/package.sh b/Swift/Packaging/Source/package.sh index 4d229a6..3872b35 100755 --- a/Swift/Packaging/Source/package.sh +++ b/Swift/Packaging/Source/package.sh @@ -1,17 +1,31 @@ #!/bin/sh ## For a Swiften-only tarball, try -## EXCLUDE_FOLDERS="Swift Sluift Swiftob Limber Slimber" ./package.sh +## EXCLUDE_FOLDERS="Swift Sluift Limber Slimber" ./package.sh + +## This script will require GPG and a suitable signing key by default. +## To disable tarball signature generation, pass the --nosign parameter to package.sh. export PYTHONPATH=../../../BuildTools/SCons VERSION=`../../../BuildTools/GetBuildVersion.py swift` DIRNAME=swift-$VERSION +FIRST_ARGUMENT=$1 if [ -z "$VERSION" ]; then echo "Unable to determine version" exit -1 fi +if [ "`uname -s`" = "Darwin" ]; then + TAR=gtar + if ! $TAR --version >/dev/null 2>&1; then + echo "Unable to find GNU tar (coulnd't find $TAR)" + exit 1 + fi +else + TAR=tar +fi + echo "Cleaning up old sources ..." rm -rf swift-* @@ -29,4 +43,21 @@ do done echo "Creating tarball ..." -tar czf $DIRNAME.tar.gz $DIRNAME +$TAR -czf $DIRNAME.tar.gz --owner=swift --group=swift $DIRNAME + +if [ "$FIRST_ARGUMENT" != "--nosign" ]; then + echo "Creating armored GPG signature ..." + which gpg + if [ $? -eq 0 ]; then + gpg --list-keys packages@swift.im + if [ $? -eq 0 ]; then + gpg --armor --default-key packages@swift.im --detach-sign $DIRNAME.tar.gz + else + echo "Key for packages@swift.im missing. Not signing tar archive." + exit 1 + fi + else + echo "GPG not found. Not signing tar archive." + exit 1 + fi +fi
\ No newline at end of file |