X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=src%2Ffunctions.sh;h=5ec3d817ab2d13083058e6262b8eb81165d0cf7e;hb=62570336ff4a368ae1b9de58f08d94a0da99f14c;hp=6f162903670f01bc9b8faa09874165cf36e8b0e2;hpb=1bfc033259cebfaa0ca3dec10fbbf1ca450d44f1;p=carnet-upgrade.git diff --git a/src/functions.sh b/src/functions.sh index 6f16290..5ec3d81 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -157,7 +157,7 @@ remove_x() { LC_MESSAGES=hr_HR dialog --backtitle "$title" --yesno "$msg_remove_x" 18 75 if [ $? -eq 0 ]; then log "Removing X Window System" - pkgrm xlibs + pkgrm x11-common else log "Skipping X Window System removal" fi @@ -603,6 +603,13 @@ upgrade () { pkgadd_if_installed $packages } +# install packages introduced in this release +install_new () { + if [ "$new_packages" ]; then + pkgadd $new_packages + fi +} + # funkcija utrpa ispravan sources.list create_sources_list () { local sl sl_new @@ -1019,6 +1026,7 @@ upgrade_libc () { # upgrade apache2/php5 to lenny upgrade_apache2 () { + pkgrm apache-common # prevents installation of apache2-suexec pkgadd_if_installed libapache2-mod-php5 php5-cli php5-cn apache2-cn \ php5-odbc php5-suhosin php-suhosin-cn } @@ -1176,38 +1184,6 @@ get_variable () { echo $val } -# preserve mail location on upgrade -upgrade_dovecot () { - local default_mail_env mail_location - - # check if already upgraded - if ! pkg dovecot-common lt 1.0; then - return - fi - - # save old mail location - default_mail_env=$(get_variable default_mail_env /etc/dovecot/dovecot.conf) - - # silently upgrade package - restore_file /etc/dovecot/dovecot.conf - pkgadd dovecot-cn - - # insert old mail location - mail_location=$(get_variable mail_location /etc/dovecot/dovecot.conf) - if [ "$default_mail_env" -a ! "$mail_location" ]; then - check_and_sed '^#mail_location[[:space:]]*=' \ - "s|#mail_location[[:space:]]*=.*|mail_location = $default_mail_env|" /etc/dovecot/dovecot.conf || return 0 - - if [ -x /etc/init.d/dovecot ]; then - if [ -x /usr/sbin/invoke-rc.d ]; then - /usr/sbin/invoke-rc.d dovecot restart - else - /etc/init.d/dovecot restart - fi - fi - fi -} - # restore munin configs for silent upgrade upgrade_munin () { local config backup hostname domain @@ -1296,19 +1272,26 @@ check_archives_space() { } check_kernel_space() { - local available_disk_space kernel_size + local available_disk_space kernel_size linux_images pkg ret available_disk_space=$(free_space /) - kernel_size=$(installed_size kernel-2.6-cn) + linux_images=$(apt-cache show kernel-2.6-cn | grep ^Depends: \ + | grep -o 'linux-image[^ ]*') + for pkg in $linux_images; do + kernel_size=$(installed_size $pkg) + ret=$? + [ $ret -eq 0 ] && break + done - if [ $? -ne 0 ]; then + if [ $ret -ne 0 ]; then log "Failed to get installed size, skipping check." return 0 fi log "Free space in /: ${available_disk_space}MB" + log "Kernel package: $pkg" log "Kernel size: ${kernel_size}MB" - if LC_ALL=C apt-get --yes --print-uris install kernel-2.6-cn \ + if LC_ALL=C apt-get -s install kernel-2.6-cn \ | grep -q '^kernel-2.6-cn is already the newest version.$' then log "Not checking free space in /: kernel-2.6-cn already installed" @@ -1393,3 +1376,12 @@ round() { echo $num } + +# make sure carnet-upgrade doesn't get upgraded until the end +hold_carnet_upgrade() { + echo carnet-upgrade hold | dpkg --set-selections +} + +release_carnet_upgrade() { + echo carnet-upgrade install | dpkg --set-selections +}