Handle mailman upgrade.
[carnet-upgrade.git] / src / cn-upgrade
index 40aa767..6abb546 100755 (executable)
@@ -1,8 +1,24 @@
-#!/bin/sh
+#!/bin/bash
 # last update: 2005-01-07
 # Zoran 'jelly' Dzelajlija <jelly@srce.hr>
 # Ivan 'ico' Rako <irako@srce.hr>
-version="carnet-upgrade v2.1.4"
+version="%PKG_VERSION%"
+
+# restart upgrade under script for logging purposes
+if [ "$1" == "--no-script" ]; then
+    # restore umask to default
+    umask 0022
+
+    shift
+elif [ -x /usr/bin/script ]; then
+    # make logs safe
+    umask 0077
+    chmod og= /var/log/carnet-upgrade.* 2>/dev/null
+
+    # restart through script
+    exec /usr/bin/script -a -t -f -c "$0 --no-script $@" \
+         /var/log/carnet-upgrade.typescript 2>>/var/log/carnet-upgrade.timing
+fi
 
 set -e
 
@@ -17,9 +33,11 @@ fi
 
 cnup="/usr/share/carnet-upgrade"
 
+. ${ROOT}${cnup}/data.sh
 . ${ROOT}${cnup}/messages.sh
 . ${ROOT}${cnup}/functions.sh
-. ${ROOT}${cnup}/data.sh
+
+log "carnet-upgrade v$version starting"
 
 main_queuetab="${cnup}/actions/main.queue"
 post_upgrade_queuetab="/var/lib/carnet-upgrade/post_upgrade.queue"