#!/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-$VERSION/PostfixAdmin%20$VERSION.tar.gz \ # -O postfixadmin-$VERSION.tar.gz || exit 1 #wget -c http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-$VERSION/postfixadmin-$VERSION.tar.gz wget -c https://github.com/postfixadmin/postfixadmin/archive/refs/tags/postfixadmin-$VERSION.tar.gz # Download signature #wget -c https://downloads.sourceforge.net/project/postfixadmin/postfixadmin-$VERSION/PostfixAdmin%20$VERSION.tar.gz.asc \ # -O postfixadmin-$VERSION.tar.gz.asc || exit 1 #wget -c http://downloads.sourceforge.net/project/postfixadmin/postfixadmin/postfixadmin-$VERSION/postfixadmin-$VERSION.tar.gz.asc # Check signature #gpg --verify postfixadmin-$VERSION.tar.gz.asc postfixadmin-$VERSION.tar.gz || exit 1 # Decompress mkdir postfixadmin-$VERSION || exit 1 tar xvf postfixadmin-$VERSION.tar.gz -C postfixadmin-$VERSION --strip-components=1 || exit 1 # Remove package rm postfixadmin-$VERSION.tar.gz || exit 1 #rm postfixadmin-$VERSION.tar.gz.asc || exit 1 # Sync configuration chown -R root: postfixadmin-$VERSION || exit 1 cp -a postfixadmin-$OLD_VERSION/config.local.php postfixadmin-$VERSION/config.local.php || exit 1 cp -a postfixadmin-$OLD_VERSION/templates_c postfixadmin-$VERSION/templates_c || exit 1 # Pivot rm postfixadmin && ln -s postfixadmin-$VERSION postfixadmin || exit 1 # Audit echo "Audit:" && \ du -hs postfixadmin-$OLD_VERSION && \ du -hs postfixadmin-$VERSION