Merge remote-tracking branch 'origin/github/pr/148'
[grml-live.git] / etc / grml / fai / config / scripts / DEBORPHAN / 98-clean-chroot
index 68136ea..dce15d4 100755 (executable)
@@ -9,33 +9,29 @@
 set -u
 set -e
 
-if ! [ -x $target/usr/bin/deborphan ] ; then
-  echo "Warning: deborphan not installed"
-  exit 0
-fi
-
-# avoid file-rc being considered for removal by deborphan
-if [ -d $target/usr/share/file-rc -a -x $target/usr/bin/deborphan ] ; then
-  echo "Adding file-rc to keep-list of deborphan to avoid accidental removal"
-  $ROOTCMD deborphan --add-keep file-rc || /bin/true
-fi
-
 # remove all packages not necessary anymore:
+echo "Executing apt-get -y --purge autoremove"
 $ROOTCMD apt-get -y --purge autoremove
 
-# remove packages until deborphan does not find anymore:
-while [ "$($ROOTCMD deborphan)" != "" ] ; do
-  $ROOTCMD apt-get -y --purge remove $($ROOTCMD deborphan)
-done
-
 # make sure we don't have any removed but not-yet-purged packages left,
 # otherwise GRMLBASE/03-get-sources might try to download unavailable
 # packages and will fail doing so
 PURGE_PACKAGES=$($ROOTCMD dpkg --list | awk '/^rc/ {print $2}')
 
 if [ -n "$PURGE_PACKAGES" ] ; then
+  echo "Getting rid of packages which have been removed but not yet purged: $PURGE_PACKAGES"
   $ROOTCMD dpkg --purge $PURGE_PACKAGES
 fi
 
+# note: deborphan is no longer available as of Debian/trixie,
+# see https://github.com/grml/grml-live/issues/144
+if [ -x "$target"/usr/bin/deborphan ] ; then
+  # remove packages until deborphan does not find anymore:
+  while [ "$($ROOTCMD deborphan)" != "" ] ; do
+    echo "Executing deborphan"
+    $ROOTCMD apt-get -y --purge remove $($ROOTCMD deborphan)
+  done
+fi
+
 ## END OF FILE #################################################################
 # vim:ft=sh expandtab ai tw=80 tabstop=4 shiftwidth=2