diff --git a/packaging/package-all.sh b/packaging/package-all.sh index 4bbb26546e..d2d443d41e 100755 --- a/packaging/package-all.sh +++ b/packaging/package-all.sh @@ -1,11 +1,11 @@ #!/bin/bash +ARGS=3 +E_BADARGS=85 -TAG=$1 - -VERSION=`echo $TAG | grep -o "[0-9]\\+-\\?[0-9]\\?"` - -_gitroot="git://github.com/chrisforbes/OpenRA.git" -_gitname="OpenRA" +if [ $# -ne "$ARGS" ]; then + echo "Usage: `basename $0` tag username password" + exit $E_BADARGS +fi msg () { echo -ne $1 @@ -13,24 +13,46 @@ msg () { echo -ne "\E[0m" } +TAG=$1 + +TYPE=`echo $TAG | grep -o "^[a-z]\\+"` +VERSION=`echo $TAG | grep -o "[0-9]\\+-\\?[0-9]\\?"` + +_gitroot="git://github.com/chrisforbes/OpenRA.git" +_gitname="OpenRA" + if [ -z $VERSION ]; then - msg "\E[31m" "Malformed tag $TAG" - exit 1 + msg "\E[31m" "Malformed tag $TAG" + exit 1 fi + +case "$TYPE" in + "release") + FTPPATH="httpdocs/releases" + ;; + "playtest") + FTPPATH="httpdocs/playtests" + ;; + *) + msg "\E[31m" "Unrecognized tag prefix $TYPE" + exit 1 + ;; +esac + if [ ! -d ~/openra-package/ ]; then - mkdir ~/openra-package/ + mkdir ~/openra-package/ fi pushd ~/openra-package/ &> /dev/null msg "\E[32m" "Connecting to GIT server...." if [ -d $_gitname ] ; then - pushd $_gitname &> /dev/null && git pull origin - msg "\E[32m" "The local files are updated." - popd &> /dev/null # $_gitname + pushd $_gitname &> /dev/null && git pull origin + msg "\E[32m" "The local files are updated." + popd &> /dev/null # $_gitname else - git clone $_gitroot $_gitname + git clone $_gitroot $_gitname fi msg "\E[32m" "GIT checkout done or server timeout" @@ -42,8 +64,8 @@ pushd "$_gitname-build" &> /dev/null msg "\E[32m" "Checking out $TAG" git checkout $TAG &> /dev/null if [ $? -ne 0 ]; then - msg "\E[31m" "Checkout of $TAG failed." - exit 1 + msg "\E[31m" "Checkout of $TAG failed." + exit 1 fi git describe --tags > "VERSION" @@ -51,8 +73,8 @@ git describe --tags > "VERSION" msg "\E[32m" "Starting make..." make prefix=/usr DESTDIR=../built install if [ $? -ne 0 ]; then - msg "\E[31m" "Build failed." - exit 1 + msg "\E[31m" "Build failed." + exit 1 fi pushd packaging &> /dev/null @@ -86,25 +108,25 @@ popd &> /dev/null #Arch-Linux msg "\E[34m" "Building Arch-Linux package." pushd linux/pkgbuild/ &> /dev/null -sh buildpackage.sh "ftp.open-ra.org" "httpdocs/releases/linux" "$2" "$3" "$VERSION" &> package.log +sh buildpackage.sh "ftp.open-ra.org" "$FTPPATH/linux" "$2" "$3" "$VERSION" &> package.log if [ $? -ne 0 ]; then - msg "\E[31m" "Package build failed, refer to log." + msg "\E[31m" "Package build failed, refer to log." fi popd &> /dev/null #RPM msg "\E[34m" "Building RPM package." pushd linux/rpm/ &> /dev/null -sh buildpackage.sh "ftp.open-ra.org" "httpdocs/releases/linux" "$2" "$3" "$VERSION" ~/rpmbuild &> package.log +sh buildpackage.sh "ftp.open-ra.org" "$FTPPATH/linux" "$2" "$3" "$VERSION" ~/rpmbuild &> package.log if [ $? -ne 0 ]; then - msg "\E[31m" "Package build failed, refer to log." + msg "\E[31m" "Package build failed, refer to log." fi popd &> /dev/null #deb msg "\E[34m" "Building deb package." pushd linux/deb/ &> /dev/null -./buildpackage.sh "ftp.open-ra.org" "httpdocs/releases/linux" "$2" "$3" "$VERSION" ~/openra-package/built ~/debpackage &> package.log +./buildpackage.sh "ftp.open-ra.org" "$FTPPATH/linux" "$2" "$3" "$VERSION" ~/openra-package/built ~/debpackage &> package.log if [ $? -ne 0 ]; then msg "\E[31m" "Package build failed, refer to log." fi @@ -115,9 +137,9 @@ msg "\E[34m" "Building OSX package." pushd osx/ &>/dev/null sh package-game.sh ~/openra-package/$_gitname-build "$VERSION" &> package.log if [ $? -eq 0 ]; then - ../uploader.sh mac "$VERSION" ~/openra-package/$_gitname-build/osxbuild/OpenRA-$VERSION.zip "$2" "$3" + ../uploader.sh mac "$VERSION" ~/openra-package/$_gitname-build/osxbuild/OpenRA-$VERSION.zip $FTPPATH "$2" "$3" else - msg "\E[31m" "Package build failed, refer to log." + msg "\E[31m" "Package build failed, refer to log." fi popd &> /dev/null @@ -126,10 +148,10 @@ msg "\E[34m" "Building Windows package." pushd windows/ &> /dev/null makensis -DSRCDIR=/home/openra/openra-package/$_gitname-build OpenRA.nsi &> package.log if [ $? -eq 0 ]; then - mv OpenRA.exe OpenRA-$VERSION.exe - ../uploader.sh windows "$VERSION" OpenRA-$VERSION.exe "$2" "$3" + mv OpenRA.exe OpenRA-$VERSION.exe + ../uploader.sh windows "$VERSION" OpenRA-$VERSION.exe $FTPPATH "$2" "$3" else - msg "\E[31m" "Package build failed, refer to log." + msg "\E[31m" "Package build failed, refer to log." fi popd &> /dev/null diff --git a/packaging/uploader.sh b/packaging/uploader.sh index 5c248deb6b..09b84865fe 100755 --- a/packaging/uploader.sh +++ b/packaging/uploader.sh @@ -6,8 +6,9 @@ PLATFORM=$1 VERSION=$2 FILENAME=$3 +FTPPATH=$4 -FTP="ftp://$4:$5@ftp.open-ra.org/httpdocs/releases/${PLATFORM}/" +FTP="ftp://$5:$6@ftp.open-ra.org/${FTPPATH}/${PLATFORM}/" if [ ! -e "${FILENAME}" ]; then echo "File not found: ${FILENAME}"