X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=src%2Ffunctions.sh;h=a223c8a540ddc05f3a958ce11fb5537fe0b95d53;hb=42a1df2cf539acf063cd35d2ff5c48c12bb17363;hp=1c1dcdf4542f50693f6138faf1c0e52920868c05;hpb=04955f721fdc6e0ecd6a69d116609abd7e5eaffd;p=carnet-upgrade.git diff --git a/src/functions.sh b/src/functions.sh index 1c1dcdf..a223c8a 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -823,9 +823,19 @@ disable_monit () { apt-get remove --yes monit # stop the binary pkill -9 monit || true + # move away init for insserv to work + mv /etc/init.d/monit /var/lib/carnet-upgrade/ fi } +# allow monit to run again +enable_monit () { + if [ -f /var/lib/carnet-upgrade/monit ]; then + mv /var/lib/carnet-upgrade/monit /etc/init.d/monit + pkgadd monit-cn + fi +} + # check which of the given packages are installed grep_installed () { local package installed @@ -852,7 +862,7 @@ pkgupgrade () { # make a silent upgrade to new libc6 upgrade_libc () { - DEBIAN_FRONTEND=noninteractive pkgupgrade libc6 libc6-dev tzdata udev + DEBIAN_FRONTEND=noninteractive pkgupgrade libc6 libc6-dev tzdata } # upgrade apache2/php5 @@ -881,56 +891,21 @@ upgrade_amavis () { # handle freerdius upgrade upgrade_freeradius () { - local template config_new password realm hostname basedn - - pkg freeradius-aai lt 2.1.3-0lenny0 || return 0 + pkg freeradius-aai lt 2.1.10-1 || return 0 - # aai team prevents a clean upgrade + # aai team prevents a normal upgrade cp -av /etc/freeradius /etc/freeradius.$backup_ext pkgrm freeradius-aai freeradius-ldap freeradius + rm -rf /etc/freeradius/certs pkgadd freeradius-aai } -# prepare for slapd upgrade (caused by freeradius installation) -prepare_openldap () { - pkg openldap-aai lt 2.4 || return 0 - - # openldap-aai expects org.ldif to exists - local ldif=/var/lib/ldap/org.ldif - local ldif_backup=/var/lib/carnet-upgrade/org.ldif - if [ -f $ldif ]; then - cp -v $ldif $ldif_backup - fi -} - -# fix openldap-aai postinst user handling -upgrade_openldap () { - pkg openldap-aai lt 2.4 || return 0 - - # slapd postinst fails if move_old_database is false - echo 'slapd slapd/move_old_database boolean true' | debconf-set-selections - pkgadd slapd - - # slapd removes org.ldif during switch from ldap -> openldap user - local ldif=/var/lib/ldap/org.ldif - local ldif_backup=/var/lib/carnet-upgrade/org.ldif - if [ -f $ldif_backup -a ! -f $ldif ]; then - cp -v $ldif_backup $ldif - fi - - # openldap-aai postinst fails here because of database permissions - apt-get -y install openldap-aai || true - chown -R openldap:openldap /var/lib/ldap - /etc/init.d/slapd restart - dpkg --configure -a - - # remove ldap user if openldap works - if getent passwd ldap > /dev/null && \ - getent passwd openldap > /dev/null && \ - pgrep -U openldap slapd > /dev/null - then - log "userdel ldap (replaced by openldap)" - userdel ldap || true +# handle mysql 5.0 to 5.1 upgrade +upgrade_mysql () { + if pkg mysql-server || pkg mysql-server-5.0; then + pkgadd mysql-server + dpkg -P mysql-server-5.0 + /etc/init.d/mysql restart fi } @@ -972,6 +947,10 @@ get_variable () { upgrade_munin () { local config backup hostname domain + # new htmldir location + mkdir -p /var/cache/munin + mv /var/www/munin /var/cache/munin/www + for pkg_name in munin munin-node; do pkg $pkg_name lt '1.4.5-3' || continue