X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=src%2Ffunctions.sh;h=7c6aab755b9a7b76823915fe0859cd8e8e371952;hb=5d44c693b1e82ce1b28b615a48931c4b6e59452b;hp=68996bce3e632fdd2005e57906307aa7cffe309e;hpb=262192f653782bd8f2d51ade2245fc9bfaddc141;p=carnet-upgrade.git diff --git a/src/functions.sh b/src/functions.sh index 68996bc..7c6aab7 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -28,7 +28,7 @@ log() { # find first free uid/gid in range # find_id passwd 100 999 find_id() { - local db first last ids + local i db first last ids db=$1 first=$2 last=$3 @@ -129,8 +129,8 @@ dist_upgrade () { } remove_bloat() { - local to_remove add_this i j text to_show cmd tmpfile installed - local update_selections pkgs_to_deselect oldifs + local to_remove add_this i j n text to_show cmd tmpfile installed + local update_selections pkgs_to_deselect pkgs_to_remove oldifs pkglist text="$msg_remove_bloat" [ "$DEBUG" ] && set -x @@ -202,7 +202,7 @@ run_post_upgrade() { ### run_actions() { - local line lineno lineno2 f n name action testmsg + local line lineno lineno2 f n name action checkmsg check [ "$DEBUG" ] && set -vx name="$1" f="$2" @@ -226,16 +226,16 @@ run_actions() { lineno2=$(($lineno2+1)) line=$(echo -n "$line"| sed 's/\\$//'; head -$lineno2 "$f" | tail -1) done - test=$(echo "$line" | sed 's/ */ /g'| awk -F' ' '{print $1}') + check=$(echo "$line" | sed 's/ */ /g'| awk -F' ' '{print $1}') action=$(echo "$line" | sed 's/ */ /g'| awk -F' ' '{print $2}') - testmsg="" - [ "$test" != "true" ] && testmsg="if '$test'" - if eval $test; then - log "$(printf 'action %02d' $lineno) starting: '${action}' $testmsg " + checkmsg="" + [ "$check" != "true" ] && checkmsg="if '$check'" + if eval $check; then + log "$(printf 'action %02d' $lineno) starting: '${action}' $checkmsg " eval $action - log "$(printf 'action %02d' $lineno) finished: '${action}' $testmsg" + log "$(printf 'action %02d' $lineno) finished: '${action}' $checkmsg" else - log "$(printf 'action %02d' $lineno) skipping: '${action}' $testmsg" + log "$(printf 'action %02d' $lineno) skipping: '${action}' $checkmsg" fi [ "$lineno2" -gt "$lineno" ] && lineno=$lineno2 done @@ -286,7 +286,7 @@ check_apache_version () { if pkg apache-cn && ! pkg apache2-cn; then notice " -Prije prelaska na Debian Etch potrebno je napraviti nadogradnju sa apache 1.3 na apache 2.0. +Prije prelaska na Debian Etch potrebno je napraviti nadogradnju sa Apache 1.3 na Apache 2.0. Pokrenite: 'apt-get install apache2-cn' @@ -298,7 +298,7 @@ Nakon toga ponovno pozovite ovu skriptu." } upgrade () { - local to_install packages + local i to_install packages case "$1" in first) packages="$packages_first" @@ -488,6 +488,8 @@ restore_config () { # restore modified config to their package defaults # so the upgrade doesn't complain so much restore_configs () { + local config_backup + pkg base-files lt 4 && restore_config /etc/issue /etc/issue.net pkg bind9 lt 1:9.3.4 && restore_config /etc/bind/named.conf.options pkg libpam-modules lt 0.79 && restore_config /etc/security/limits.conf @@ -537,6 +539,7 @@ restore_configs () { do config_backup=$config.$backup_ext if [ -e $config -a ! -e $config_backup ]; then + log "Saving config file $config" cp -av $config $config_backup ucf $config_backup $config fi @@ -593,6 +596,7 @@ upgrade_libc () { # upgrade apache -> apache2 upgrade_apache () { + local delpkg p # bugfix for apache2-cn postinst mkdir -p /etc/apache2 @@ -625,6 +629,8 @@ upgrade_apache () { } upgrade_amavis () { + local conf + # remove init script diversion if [ -L /etc/init.d/amavis -a -f /etc/init.d/amavis.amavisd-new ]; then rm -vf /etc/init.d/amavis @@ -632,7 +638,7 @@ upgrade_amavis () { fi # move old config aside - local conf=/etc/amavis/amavisd.conf + conf=/etc/amavis/amavisd.conf if [ -e $conf -a ! -e $conf.$backup_ext ]; then mv -v $conf $conf.$backup_ext fi @@ -659,8 +665,7 @@ upgrade_openldap () { } get_variable () { - name=$1 - file=$2 + local name=$1 file=$2 val if [ -f "$file" ]; then val=$(sed -n "/^[[:space:]]*$name[[:space:]]*=/s/[[:space:]]*//gp" $file) @@ -702,6 +707,16 @@ upgrade_dovecot () { fi } +# vsftpd.postinst tries to start vsftpd so make sure it is not running +upgrade_vsftpd () { + if [ -x /etc/init.d/vsftpd ]; then + /etc/init.d/vsftpd stop || true + fi + + pkg vsftpd && pkgadd vsftpd + pkg vsftpd-cn && pkgadd vsftpd-cn +} + # fix /etc/dpkg/dpkg.cfg comment_force_overwrite () { if [ -f /etc/dpkg/dpkg.cfg ]; then