X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=usr%2Fshare%2Fcarnet-upgrade%2Ffunctions.sh;h=a67e2673b6d57ff44e840d1aecdc2d4745ae0378;hb=ab75f551cbebec6dbb9f4d0bc3d332affde718e7;hp=54e89032b9aa73c8b8a0fdffb45ffc198fbfe34c;hpb=9e8ab2c99a8eb59f0a500734371be21e10fe39c8;p=carnet-upgrade.git diff --git a/usr/share/carnet-upgrade/functions.sh b/usr/share/carnet-upgrade/functions.sh index 54e8903..a67e267 100644 --- a/usr/share/carnet-upgrade/functions.sh +++ b/usr/share/carnet-upgrade/functions.sh @@ -388,19 +388,72 @@ fix_etc_default_raid2 () { # restore distribution config file restore_config () { - local file + local file file_backup for file in "$@"; do - # backup changes - if [ -e "$file" -a ! -e "$file.cn3-upgrade" ]; then - mv "$file" "$file.cn3-upgrade" + file_backup=$file.cn3-upgrade + if [ -e $file -a ! -e $file_backup ]; then + # backup file + mv $file $file_backup + + # install original + cp /usr/share/carnet-upgrade/files/$file $file fi + done +} - # install original - cp "/usr/share/carnet-upgrade/files/$file" "$file" +# restore modified config to their package defaults +# so the upgrade doesn't complain so much +restore_configs () { + restore_config /etc/bind/named.conf.options + restore_config /etc/default/ntpdate + restore_config /etc/default/oidentd + restore_config /etc/default/postgrey + restore_config /etc/default/saslauthd + restore_config /etc/default/slapd + restore_config /etc/dovecot/dovecot.conf + restore_config /etc/init.d/mysql + restore_config /etc/init.d/slapd + restore_config /etc/issue + restore_config /etc/issue.net + restore_config /etc/logrotate.d/mysql-server + restore_config /etc/mysql/my.cnf + restore_config /etc/ntp.conf + restore_config /etc/pam.d/login + restore_config /etc/php4/apache/php.ini + restore_config /etc/php4/cgi/php.ini + restore_config /etc/php4/cli/php.ini + restore_config /etc/postgrey/whitelist_clients + restore_config /etc/security/limits.conf + restore_config /etc/squirrelmail/apache.conf + restore_config /etc/sysctl.conf + restore_config /etc/vsftpd.conf + restore_config /etc/xinetd.conf + + # orphaned config file - no owner + rm -f /etc/logcheck/ignore.d.server/imap + + # aide switched to ucf, move old configs aside + for file in /etc/aide/aide.conf /etc/cron.daily/aide /etc/default/aide; do + [ ! -e "$file.cn3-upgrade" ] && mv "$file" "$file.cn3-upgrade" + rm -f "$file" done } +# make a silent installation of carnet and srce keyrings +install_keyrings () { + pkgadd carnet-keyring srce-keyring + pkgadd dpkg apt + + dpkg-reconfigure carnet-keyring srce-keyring + update +} + +# make a silent upgrade to new libc6 +upgrade_libc () { + DEBIAN_FRONTEND=noninteractive pkgadd libc6 +} + # upgrade apache -> apache2 upgrade_apache () { # bugfix for apache2-cn postinst @@ -408,16 +461,55 @@ upgrade_apache () { touch /etc/apache2/httpd.conf pkgadd php4-odbc php4-xslt mktemp - pkgadd apache2 squirrelmail apache2-cn squirrelmail-cn + + # apache2 conflicts with these + pkgrm apache aosi-aai aosi-www-aai php4-cn squirrelmail-cn + + # apache2-cn postinst needs new mktemp + pkgadd apache2-cn php5-cn aosi-aai aosi-www-aai # squirrelmail-cn } -# restore amavis init script -restore_amavis_init () { +upgrade_amavis () { # remove diversion if [ -L /etc/init.d/amavis -a -f /etc/init.d/amavis.amavisd-new ]; then rm -f /etc/init.d/amavis - dpkg-divert --remove --package amavis-cn --rename /etc/init.d/amavis --quiet - fi + dpkg-divert --quiet --remove /etc/init.d/amavis + fi + + # move old config aside + local conf=/etc/amavis/amavisd.conf + if [ -e $conf -a ! -e $conf.cn3-upgrade ]; then + mv $conf $conf.cn3-upgrade + fi + + pkgadd amavisd-cn amavisd-new +} + +# fix openldap-aai postinst user handling +upgrade_openldap () { + apt-get -y$s install openldap-aai || true + chown -R openldap:openldap /var/lib/ldap + /etc/init.d/slapd restart + dpkg --configure -a +} + +# workaround postfix-cn dependencies +upgrade_postfix () { + pkgadd sasl2-bin + pkgadd postfix postfix-cn +} + +# workaround dovecot-cn dependencies +upgrade_dovecot () { + pkgadd dovecot-imapd dovecot-pop3d + pkgadd dovecot-cn +} + +# workaround ntp-cn dependencies +upgrade_ntp () { + pkgadd ntp ntpdate + # pkgrm ntp-server + pkgadd ntp-cn } # instaliraj zadnji freeradius; uvjeti u queue fileovima @@ -473,11 +565,11 @@ fix_aidexfer_conf() { fix_issue () { cat > /etc/issue < /etc/issue.net <