X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?p=carnet-upgrade.git;a=blobdiff_plain;f=src%2Ffunctions.sh;h=59cd2af2fb3629198489556d54a8e7f4b8b56a0a;hp=1c1dcdf4542f50693f6138faf1c0e52920868c05;hb=7a7cf98189a94ee061e88f1807a6d9d11e447ea0;hpb=04955f721fdc6e0ecd6a69d116609abd7e5eaffd diff --git a/src/functions.sh b/src/functions.sh index 1c1dcdf..59cd2af 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -852,7 +852,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 +881,34 @@ upgrade_amavis () { # handle freerdius upgrade upgrade_freeradius () { - local template config_new password realm hostname basedn + pkg freeradius-aai lt 2.1.10-1 || return 0 - pkg freeradius-aai lt 2.1.3-0lenny0 || 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 +# handle openldap upgrade 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 + # aai discovers database type from debconf + if [ -f /etc/ldap/slapd.conf ] && grep -q ^database.*bdb /etc/ldap/slapd.conf + then + echo set slapd/backend BDB | debconf-communicate >/dev/null 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 + # aai does not depend on the new openldap version + pkgadd slapd + pkgadd openldap-aai +} - # 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 +950,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