#!/bin/bash # # Postfixadmin software upgrader. # # Config parameters BASENAME="`basename $0`" OLD_VERSION="$1" VERSION="$2" # Syntax check if [ -z "$2" ]; then echo "usage: $BASENAME " exit 1 fi # Check installed versions if [ ! -d "postfixadmin-$OLD_VERSION" ]; then echo "error: postfixadmin-$OLD_VERSION is not installed, aborting." exit 1 elif [ -d "postfixadmin-$VERSION" ]; then echo "error: postfixadmin-$VERSION already installed, aborting." exit 1 fi # Download package wget -c https://downloads.sourceforge.net/project/postfixadmin/postfixadmin-3.3.8/PostfixAdmin%20$VERSION.tar.gz \ -O postfixadmin-$VERSION.tar.gz #wget -c http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-$VERSION/postfixadmin-$VERSION.tar.gz # Download signature #wget -c http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-$VERSION/postfixadmin-$VERSION.tar.gz.asc wget -c https://downloads.sourceforge.net/project/postfixadmin/postfixadmin-3.3.8/PostfixAdmin%20$VERSION.tar.gz.asc \ -O postfixadmin-$VERSION.tar.gz.asc # Check signature #gpg --verify postfixadmin-$VERSION.tar.gz.asc postfixadmin-$VERSION.tar.gz || exit 1 # Decompress mkdir postfixadmin-$VERSION tar xvf postfixadmin-$VERSION.tar.gz -C postfixadmin-$VERSION --strip-components=1 # Remove package rm postfixadmin-$VERSION.tar.gz rm postfixadmin-$VERSION.tar.gz.asc # Sync configuration chown -R root: postfixadmin-$VERSION cp -a postfixadmin-$OLD_VERSION/config.local.php postfixadmin-$VERSION/config.local.php cp -a postfixadmin-$OLD_VERSION/templates_c postfixadmin-$VERSION/templates_c # Pivot rm postfixadmin && ln -s postfixadmin-$VERSION postfixadmin # Audit echo "Audit:" && \ du -hs postfixadmin-$OLD_VERSION && \ du -hs postfixadmin-$VERSION