- # newer aptitude versions won't remove essential packages using
- # 'aptitude -f -y install file-rc' anymore, therefore force it:
- $ROOTCMD aptitude -o Aptitude::ProblemResolver::Keep-All-Tier=60000 -f -y install file-rc
+ # work around a bug which causes openvz to freeze when grub-probe is invoked
+ if ! $ROOTCMD dpkg-divert --list | grep -q '/usr/sbin/grub-probe' ; then
+ echo "Diverting grub-probe executable"
+ $ROOTCMD dpkg-divert --rename --add /usr/sbin/grub-probe
+ $ROOTCMD ln -s /bin/true /usr/sbin/grub-probe
+ fi
+
+ # 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
+ fi