}
dist_upgrade () {
+ log "Running upgrade ..."
+ apt-get -y$s upgrade || {
+ dpkg --configure -a
+ apt-get -y$s upgrade
+ }
+
log "Running dist-upgrade ..."
apt-get -y$s dist-upgrade || {
dpkg --configure -a
if [ ! -e "$default_kernel" ]; then
# /boot prefix might be missing
- default_kernel="/boot/$default_kernel"
+ default_kernel="/boot/${default_kernel#/}"
if [ ! -e "$default_kernel" ]; then
log "Default kernel image doesn't exist!?"
return 1
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
# 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
}
check_kernel_space() {
- local available_disk_space kernel_size linux_images pkg ret
+ local available_disk_space kernel_size linux_images metapkg pkg ret
available_disk_space=$(free_space /)
linux_images=$(apt-cache show kernel-2.6-cn | grep ^Depends: \
- | grep -o 'linux-image[^ ]*')
- for pkg in $linux_images; do
+ | grep -o 'linux-image[^, ]*')
+ for metapkg in $linux_images; do
+ pkg=$(apt-cache show $metapkg | grep ^Depends: \
+ | grep -o 'linux-image[^, ]*' | head -1)
+ [ "$pkg" ] || continue
+
kernel_size=$(installed_size $pkg)
ret=$?
[ $ret -eq 0 ] && break