# Authors: grml-team (grml.org), (c) Michael Prokop <mika@grml.org>
# Bug-Reports: see http://grml.org/bugs/
# License: This file is licensed under the GPL v2 or any later version.
-# Latest change: Thu Nov 01 16:18:38 CET 2007 [mika]
+# Latest change: Mon Nov 05 22:48:02 CET 2007 [mika]
################################################################################
set -u
echo grml_chroot > $target/etc/debian_chroot
if [ "$FAI_ACTION" = "softupdate" ] ; then
- echo "Softupdate"
+ echo "Softupdate of FAI via grml-live running"
+
+ if [ -r /etc/resolv.conf ] ; then
+ if [ -r $target/etc/resolvconf/run/resolv.conf ] ; then
+ cat /etc/resolv.conf >> $target/etc/resolvconf/run/resolv.conf
+ else
+ cat /etc/resolv.conf >> $target/etc/resolv.conf
+ fi
+ fi
+
+ if [ -r $target/etc/policy-rc.d.conf ] ; then
+ sed -i "s/EXITSTATUS=.*/EXITSTATUS='101'/" $target/etc/policy-rc.d.conf
+ fi
+
# make sure we prefer grml repository:
if [ -r /etc/grml/fai/apt/preferences ] ; then
cp /etc/grml/fai/apt/preferences $target/etc/apt/preferences
fi
+ # we definitely don't want to fail running fai sofupdate just
+ # because of some well known bugs:
+ [ -d $target/etc/apt/apt.conf.d ] || mkdir $target/etc/apt/apt.conf.d
+ cat > $target/etc/apt/apt.conf.d/10apt-listbugs << EOF
+// Check all packages whether they has critical bugs before they are installed.
+// If you don't like it, comment it out.
+//DPkg::Pre-Install-Pkgs {"/usr/sbin/apt-listbugs apt || exit 10"};
+//DPkg::Tools::Options::/usr/sbin/apt-listbugs "";
+//DPkg::Tools::Options::/usr/sbin/apt-listbugs::Version "2";
+EOF
+
if [ -r /etc/grml/fai/apt/sources.list ] ; then
if [ -L $target/etc/apt/sources.list ] ; then
rm $target/etc/apt/sources.list
cp /etc/grml/fai/apt/sources.list $target/etc/apt/sources.list
fi
+ # FAI softupdate does not execute upgrade, so let's do it on our own:
$ROOTCMD apt-get update
+ if [ -x $target/usr/bin/aptitude ] ; then
+ if strings $target/usr/bin/aptitude | grep safe-upgrade 1>/dev/null ; then
+ $ROOTCMD aptitude -y safe-upgrade
+ else
+ $ROOTCMD aptitude -y upgrade
+ fi
+ else
+ $ROOTCMD apt-get -y upgrade
+ fi
else # no softupdate but fresh installation