Package validation: also detect packages that failed to install
[grml-live.git] / etc / grml / fai / config / scripts / GRMLBASE / 98-clean-chroot
index 189b652..f808c65 100755 (executable)
@@ -41,15 +41,8 @@ if grep -q 'updatebase.GRMLBASE' ${target}/etc/udev/kernel-upgrade 2>/dev/null ;
   $ROOTCMD rm -f /etc/udev/kernel-upgrade
 fi
 
-echo "Removing /var/lib/apt/lists/*-stuff, dpkg-status-old and pkgcache.bin"
-rm -f $target/var/lib/apt/lists/*Packages \
-      $target/var/lib/apt/lists/*Release \
-      $target/var/lib/apt/lists/*Sources \
-      $target/var/lib/apt/lists/*IndexDiff \
-      $target/var/lib/apt/lists/*.gpg \
-      $target/var/cache/apt-show-versions/* \
-      $target/var/cache/debconf/templates.dat-old \
-      $target/var/cache/apt/*.bin
+echo "Updating package list"
+$ROOTCMD apt-get update
 
 echo "Cleaning apt places"
 $ROOTCMD apt-get check 2>/dev/null
@@ -84,6 +77,7 @@ fi
 
 echo "Cleaning and removing some misc files and directories"
 find $target/etc -type f -name *.pre_fcopy -delete
+find $target/etc -type l -name *.pre_fcopy -delete
 rm -rf --one-file-system $target/etc/sysconfig/* \
        $target/etc/motd.dpkg-* $target/etc/auto.master.*dpkg* \
        $target/etc/samba/*.SID $target/etc/samba/*.tdb \
@@ -187,23 +181,21 @@ if ! [ -d $target/etc/resolvconf ] ; then
   echo "Warning: resolvconf not installed"
 else
   echo "Setting up resolvconf"
-  if [ -L $target/etc/resolvconf/run ] ; then # resolvconf with /run
-    # /etc/resolvconf/run symlinks to /run/resolvconf
-    RESOLV_CONF=/run/resolvconf/
-  else # no /run present
-    RESOLV_CONF=/etc/resolvconf/run/
-  fi
-
-  rm -rf   ${target}/${RESOLV_CONF}
-  mkdir -p ${target}/${RESOLV_CONF}
+  if [ ! -L $target/etc/resolvconf/run ] ; then # resolvconf without symlink?!
+    RESOLV_CONF=/etc/resolvconf/run
+    rm -rf   ${target}/${RESOLV_CONF}
+    mkdir -p ${target}/${RESOLV_CONF}
 
-  touch ${target}/${RESOLV_CONF}/enable-updates
-  mkdir ${target}/${RESOLV_CONF}/interface
+    touch ${target}/${RESOLV_CONF}/enable-updates
+    mkdir ${target}/${RESOLV_CONF}/interface
 
-  cat > ${target}/${RESOLV_CONF}/resolv.conf << EOF
+    cat > ${target}/${RESOLV_CONF}/resolv.conf << EOF
 # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
 #     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
 EOF
+  fi
+  rm -f ${target}/etc/resolv.conf
+  $ROOTCMD ln -s /etc/resolvconf/run/resolv.conf /etc/resolv.conf
 fi
 
 if ! $ROOTCMD test -x /usr/bin/updatedb ; then