- # run it on our own, as updatebase is used at the wrong stage for our needs,
- # see /etc/grml/fai/config/hooks/updatebase.GRMLBASE
- $ROOTCMD apt-get update
- if ! [ -x $target/usr/bin/aptitude ] ; then
- $ROOTCMD apt-get -y install aptitude
+ # Update package lists (so they exist at all), so we can install
+ # software; if /var/lib/dpkg/available is empty, it was was probably
+ # cleaned by GRMLBASE/98-clean-chroot, so we need to rebuild it
+ # anyway
+ $ROOTCMD /usr/lib/dpkg/methods/apt/update /var/lib/dpkg/ apt apt
+
+ if ! $ROOTCMD test -x /usr/bin/aptitude ; then
+ # the apt-get update might return an error if there's for example
+ # a hashsum mismatch on Debian mirror sources, we might want to continue
+ # but should warn the user
+ if ! $ROOTCMD apt-get update ; then
+ echo "Warning: there was an error executing apt-get update, continuing anyway."
+ echo "Warning: there was an error executing apt-get update, continuing anyway." >&2
+ fi
+
+ $ROOTCMD apt-get -y install aptitude