Use apt-get instead of dpkg in removal of packages in grml-small.
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 98-clean-chroot
index 18b5d61..902bd02 100755 (executable)
@@ -4,7 +4,7 @@
 # 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: Sun Dec 09 18:46:19 CET 2007 [mika]
+# Latest change: Thu Sep 18 01:32:11 CEST 2008 [mika]
 ################################################################################
 
 set -e
@@ -23,13 +23,31 @@ if ! ifclass NO_ONLINE ; then
    rm $target/root/grml_cleanup_chroot.online
 fi
 
+# make sure to drop from grml-small what's unnecessary:
+if ifclass GRML_SMALL ; then
+   $ROOTCMD apt-get -y --purge remove aptitude
+   for pkg in groff-base info locales man-db manpages nano; do
+     $ROOTCMD apt-get --purge $pkg || true
+   done
+fi
+
+# drop unnecessary software:
+if ifclass GRML_SMALL || ifclass DEBORPHAN ; then
+   if [ -f /etc/grml/fai/grml/grml_cleanup_chroot.deborphan ] ; then
+      cp /etc/grml/fai/grml/grml_cleanup_chroot.deborphan $target/root/
+      $ROOTCMD  /root/grml_cleanup_chroot.deborphan
+      rm $target/root/grml_cleanup_chroot.deborphan
+   fi
+fi
+
 # remove /usr/share/doc, /usr/share/info,... only in class REMOVE_DOCS:
+# (important: remove them *after* deinstalling packages, otherwise
+# removing packages might fail due to lack of /usr/share/man/...)
 if ifclass REMOVE_DOCS ; then
    cp /etc/grml/fai/grml/grml_cleanup_chroot.remove_docs $target/root/
    $ROOTCMD  /root/grml_cleanup_chroot.remove_docs
    rm $target/root/grml_cleanup_chroot.remove_docs
 fi
-
 # misc cleanup:
 if [ -f /etc/grml/fai/grml/grml_cleanup_chroot ] ; then
    cp /etc/grml/fai/grml/grml_cleanup_chroot $target/root/