X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=src%2Ffunctions.sh;h=deffe518a79456866117fc0b8dbbed5dbb0174a7;hb=c114b9878b474e560c7b8bc0d4d91d68bf5e5fe1;hp=acc4dad7f6773db986db36c3d8fc23c7603944b1;hpb=f917af08133389103ba492323f53aa02056ad84f;p=carnet-upgrade.git diff --git a/src/functions.sh b/src/functions.sh index acc4dad..deffe51 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -128,11 +128,26 @@ apt_autoremove () { } } +# remove stale package information from available +# warning, in file '/var/lib/dpkg/available' +# near line 58185 package 'vim-cn': missing architecture +cleanup_available () { + log "Cleaning dpkg available file" + + available=$(mktemp /var/lib/carnet-upgrade/available.XXXXXX) + apt-cache dumpavail > $available + + dpkg --clear-avail + dpkg --update-avail $available + + rm -f $available +} + 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 x11-common + pkgrm xserver-xorg else log "Skipping X Window System removal" fi @@ -500,7 +515,12 @@ install_new () { create_sources_list () { local sl sl_new sl=/etc/apt/sources.list - sl_new=/usr/share/carnet-upgrade/files/etc/apt/sources.list + sl_new=$( copy_template $sl ) + + # comment aai repository if not in use + if ! pkg srce-keyring; then + sed -i 's/^\(deb.*ftp.srce.hr\)/#\1/' $sl_new + fi # check if already installed if ! cmp $sl $sl_new >/dev/null; then @@ -516,8 +536,9 @@ create_sources_list () { `cat /etc/apt/sources.list`" fi -} + rm $sl_new +} # funkcija koja brise grupu proc remove_group_proc () { @@ -733,6 +754,10 @@ restore_configs () { restore_file /etc/issue.net fi + if pkg slapd lt 2.4.23-7.2; then + restore_file /etc/default/slapd + fi + # dovecot won't start with these options if pkg dovecot-cn && pkg dovecot-common lt 1:1.2.15-7; then sed -i 's/^\( *\)\(sieve\(_storage\)\?=.*\)/\1#\2/' \ @@ -762,14 +787,14 @@ apt_listchanges () { case $command in disable) if [ -f $file ]; then - dpkg-divert --local --rename --divert $file.$backup_ext \ + dpkg-divert --local --rename --divert $file.disabled \ --add $file || true fi ;; enable) - if [ -f $file.$backup_ext ]; then - dpkg-divert --remove $file || true + if [ -f $file.disabled ]; then + dpkg-divert --rename --remove $file || true fi ;; esac @@ -778,9 +803,14 @@ apt_listchanges () { # make a silent installation of carnet and srce keyrings install_keyrings () { - pkgadd carnet-keyring srce-keyring debian-archive-keyring + pkgadd carnet-keyring debian-archive-keyring + dpkg-reconfigure carnet-keyring debian-archive-keyring + + if pkg srce-keyring; then + pkgadd srce-keyring + dpkg-reconfigure srce-keyring + fi - dpkg-reconfigure carnet-keyring srce-keyring debian-archive-keyring apt_update } @@ -900,19 +930,6 @@ upgrade_freeradius () { pkgadd freeradius-aai } -# handle openldap upgrade -upgrade_openldap () { - # 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 - - # aai does not depend on the new openldap version - pkgadd slapd - pkgadd openldap-aai -} - # handle mysql 5.0 to 5.1 upgrade upgrade_mysql () { if pkg mysql-server || pkg mysql-server-5.0; then @@ -961,8 +978,10 @@ upgrade_munin () { local config backup hostname domain # new htmldir location - mkdir -p /var/cache/munin - mv /var/www/munin /var/cache/munin/www + if [ -d /var/www/munin -a ! -e /var/cache/munin/www ]; then + mkdir -p /var/cache/munin + mv /var/www/munin /var/cache/munin/www + fi for pkg_name in munin munin-node; do pkg $pkg_name lt '1.4.5-3' || continue