X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?a=blobdiff_plain;f=src%2Ffunctions.sh;h=26d401414a3d3f78ad1af6badcfadcee94bd65e9;hb=800696b31017bdaf55c8ce560ae6ec7f8cbbd5a5;hp=9e6b16f48046b8cf6785baa14f629ba7e3df99a5;hpb=3c85e249ce76b03c008fd3d6bf0b0c8608e2f5ac;p=carnet-upgrade.git diff --git a/src/functions.sh b/src/functions.sh index 9e6b16f..26d4014 100644 --- a/src/functions.sh +++ b/src/functions.sh @@ -376,7 +376,7 @@ check_upgrade () { if [ "$upgrade" ]; then notice " -Prije prelaska na Debian Lenny potrebno je napraviti nadogradnju ovih paketa: +Prije prelaska na Debian Squeeze potrebno je napraviti nadogradnju ovih paketa: $upgrade Pokrenite: @@ -455,7 +455,7 @@ check_php_version () { install_php5_extensions notice " -Prije prelaska na Debian Lenny potrebno je napraviti nadogradnju sa PHP 4 na PHP 5. +Prije prelaska na Debian Squeeze potrebno je napraviti nadogradnju sa PHP 4 na PHP 5. Pokrenite: # apt-get update @@ -507,7 +507,7 @@ check_grsec_kernel () { if [ "$ver" = "${ver#2.6.2[4-9]}" ]; then # kernel too old notice " -Prije prelaska na Debian Lenny potrebno je napraviti nadogradnju na najnoviji kernel. +Prije prelaska na Debian Squeeze potrebno je napraviti nadogradnju na najnoviji kernel. Pokrenite: # apt-get update @@ -536,23 +536,35 @@ check_reboot () { reboot_required () { local default_kernel kernel_package running_release running_version - # try to get default kernel from lilo - if type lilo >/dev/null 2>&1; then - default_kernel=$( lilo -t -v 2>/dev/null \ - | grep -B3 '[*]$' \ - | sed -n -e '/^Boot image: / { s///p; q; }' ) + # try to get default kernel from grub2 + if [ -z "$default_kernel" -a -r "/boot/grub/grub.cfg" ]; then + default_kernel=$( awk ' + $0 ~ /^set default=".*"/ { + def = gensub(/default="(.*)"/, "\\1", "1", $2); + if (def !~ /^[0-9]+$/) { exit } + } + $1 == "menuentry" { menuentry+=1 } + $1 == "linux" && menuentry==def+1 { print $2; exit }' \ + /boot/grub/grub.cfg 2>/dev/null ) fi - # fallback to grub if lilo not installed + # try to get default kernel from grub-legacy if [ -z "$default_kernel" -a -r "/boot/grub/menu.lst" ]; then default_kernel=$( awk ' - $1 == "default" { default = $2; - if (default !~ /^[0-9]+$/) { exit } } + $1 == "default" { def = $2; + if (def !~ /^[0-9]+$/) { exit } } $1 == "title" { title+=1 } - $1 == "kernel" && title==default+1 { print $2; exit }' \ + $1 == "kernel" && title==def+1 { print $2; exit }' \ /boot/grub/menu.lst 2>/dev/null ) fi + # try to get default kernel from lilo + if [ -z "$default_kernel" ] && type lilo >/dev/null 2>&1; then + default_kernel=$( lilo -t -v 2>/dev/null \ + | grep -B3 '[*]$' \ + | sed -n -e '/^Boot image: / { s///p; q; }' ) + fi + if [ -z "$default_kernel" ]; then log "Could not find default kernel" return 1 @@ -561,8 +573,12 @@ reboot_required () { log "Default kernel image: $default_kernel" if [ ! -e "$default_kernel" ]; then - log "Default kernel image doesn't exist!?" - return 1 + # /boot prefix might be missing + default_kernel="/boot/$default_kernel" + if [ ! -e "$default_kernel" ]; then + log "Default kernel image doesn't exist!?" + return 1 + fi fi kernel_package=$( dpkg -S $default_kernel | cut -d: -f 1 ) @@ -1024,7 +1040,7 @@ upgrade_libc () { DEBIAN_FRONTEND=noninteractive pkgupgrade libc6 libc6-dev tzdata } -# upgrade apache2/php5 to lenny +# upgrade apache2/php5 upgrade_apache2 () { pkgrm apache-common # prevents installation of apache2-suexec pkgupgrade libapache2-mod-php5 php5-cli php5-cn apache2-cn \ @@ -1034,14 +1050,6 @@ upgrade_apache2 () { upgrade_amavis () { local conf - # remove init script diversion before upgrade - if pkg amavisd-cn lt 3:2.6.1-1; then - if [ -L /etc/init.d/amavis -a -f /etc/init.d/amavis.amavisd-new ]; then - rm -vf /etc/init.d/amavis - dpkg-divert --remove /etc/init.d/amavis - fi - fi - # move old config aside for conf in /etc/amavisd.conf /etc/amavis/amavisd.conf; do if [ -e $conf -a ! -e $conf.$backup_ext ]; then @@ -1052,18 +1060,8 @@ upgrade_amavis () { # install new packages pkgadd amavisd-cn amavisd-new - # fix new packages - check_and_sed '^clamd.*5.clamav.log$' \ - 's/^\(clamd.*\)5.clamav.log$/\14\tsocket/g' \ - /etc/init.d/amavisd-cn || true - - # check if link got lost - if pkg amavisd-cn && [ ! -L /etc/init.d/amavis ]; then - apt-get install --reinstall --yes amavisd-cn - fi - # start new packages - /etc/init.d/amavis restart + /etc/init.d/amavisd-cn restart } # handle freerdius upgrade @@ -1072,7 +1070,7 @@ upgrade_freeradius () { pkg freeradius-aai lt 2.1.3-0lenny0 || return 0 - # aai team prevents a clean lenny upgrade + # aai team prevents a clean upgrade cp -av /etc/freeradius /etc/freeradius.$backup_ext pkgrm freeradius-aai freeradius-ldap freeradius pkgadd freeradius-aai @@ -1213,18 +1211,18 @@ comment_force_overwrite () { # try not to overwrite user modified issue files fix_issue () { - if cmp /etc/issue $cnup/files/etc/issue.expect.lenny >/dev/null; then + if cmp /etc/issue $cnup/files/etc/issue.expect.new >/dev/null; then cp -av /etc/issue /etc/issue.$backup_ext cat > /etc/issue </dev/null; then + if cmp /etc/issue.net $cnup/files/etc/issue.net.expect.new >/dev/null; then cp -av /etc/issue.net /etc/issue.net.$backup_ext cat > /etc/issue.net <