if pkg amavisd-cn lt 3:2.6.5; then
restore_file /etc/init.d/amavisd-cn
+ rm -f /etc/init.d/amavisd-cn.$backup_ext
fi
if pkg console-tools lt 1:0.2.3dbs-69.1; then
# make a silent installation of carnet and srce keyrings
install_keyrings () {
pkgadd carnet-keyring srce-keyring debian-archive-keyring
- pkgupgrade dpkg apt debconf python-apt dpkg-dev
dpkg-reconfigure carnet-keyring srce-keyring debian-archive-keyring
apt_update
# 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
}
log "Kernel package: $pkg"
log "Kernel size: ${kernel_size}MB"
- if LC_ALL=C apt-get -s install kernel-2.6-cn \
+ if LC_ALL=C apt-get -s install kernel-2.6-cn 2>/dev/null \
| grep -q '^kernel-2.6-cn is already the newest version.$'
then
log "Not checking free space in /: kernel-2.6-cn already installed"