Run upgrade procedure by default (disable via UPGRADE_SYSTEM config)
authorMichael Prokop <mika@grml.org>
Wed, 18 Jan 2012 17:26:52 +0000 (18:26 +0100)
committerMichael Prokop <mika@grml.org>
Fri, 27 Jan 2012 14:07:17 +0000 (15:07 +0100)
chroot-script
config
grml-debootstrap

index 7d2c8c3..023ccff 100755 (executable)
 if [ -x /usr/bin/aptitude ] ; then
    APTINSTALL="aptitude -y --without-recommends install $DPKG_OPTIONS"
    APTUPDATE='aptitude update'
+   APTUPGRADE='aptitude -y safe-upgrade'
 else
    APTINSTALL="apt-get --force-yes -y --no-install-recommends install $DPKG_OPTIONS"
    APTUPDATE='apt-get update'
+   APTUPGRADE='apt-get --force-yes -y upgrade'
 fi
 
 if [ -z "$STAGES" ] ; then
@@ -158,6 +160,18 @@ EOF
 }
 # }}}
 
+# make sure we have an up2date system {{{
+upgrade_system() {
+  if [ "$UPGRADE_SYSTEM" = "yes" ] ; then
+    echo "Running update + upgrade"
+    $APTUPDATE
+    $APTUPGRADE
+  else
+    echo "Not running update + upgrade as \$UPDATE_AND_UPGRADE is not set to 'yes'."
+  fi
+}
+
+# }}}
 # remove now useless apt cache {{{
 remove_apt_cache() {
   if [ "$RM_APTCACHE" = 'yes' ] ; then
@@ -510,7 +524,7 @@ trap signal_handler HUP INT QUIT TERM
  for i in chrootmirror grmlrepos kernelimg_conf \
      kernel packages extrapackages  reconfigure hosts interfaces \
      timezone fstab hostname initrd grub_install passwords        \
-     custom_scripts remove_apt_cache services ; do
+     custom_scripts upgrade_system remove_apt_cache services ; do
      if stage $i ; then
        $i && stage $i done || exit 1
      fi
diff --git a/config b/config
index e7f9c43..4f7bd8b 100644 (file)
--- a/config
+++ b/config
 # Default: 'yes'
 # RM_APTCACHE='no'
 
+# Upgrade system via apt-get/aptitude update + [safe-]upgrade.
+# Default: 'yes'
+# UPGRADE_SYSTEM='no'
+
 # Explicit generation of initrd via update-initramfs.
 # Default: 'yes'
 # INITRD='no'
index 3d60bbd..96277b0 100755 (executable)
@@ -36,6 +36,7 @@ SCRIPTS='yes'
 SECURE='yes'
 TIMEZONE='Europe/Vienna'
 TUNE2FS='tune2fs -c0 -i0'
+UPGRADE_SYSTEM='yes'
 VMSIZE="2G"
 
 # inside the chroot system locales might not be available, so use minimum:
@@ -1051,6 +1052,7 @@ preparechroot() {
   [ -n "$SECURE" ]              && echo "SECURE=\"$SECURE\""                           >> $CHROOT_VARIABLES
   [ -n "$SELECTED_PARTITIONS" ] && echo "SELECTED_PARTITIONS=\"$SELECTED_PARTITIONS\"" >> $CHROOT_VARIABLES
   [ -n "$TARGET" ]              && echo "TARGET=\"$TARGET\""                           >> $CHROOT_VARIABLES
+  [ -n "$UPGRADE_SYSTEM" ]      && echo "UPGRADE_SYSTEM=\"$UPGRADE_SYSTEM\""           >> $CHROOT_VARIABLES
   [ -n "$TARGET_UUID" ]         && echo "TARGET_UUID=\"$TARGET_UUID\""                 >> $CHROOT_VARIABLES
   [ -n "$TIMEZONE" ]            && echo "TIMEZONE=\"$TIMEZONE\""                       >> $CHROOT_VARIABLES
   [ -n "$TUNE2FS" ]             && echo "TUNE2FS=\"$TUNE2FS\""                         >> $CHROOT_VARIABLES