From 866b47c0652d8ce6d1bea20442f8ab273b5ba99a Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Thu, 7 Jul 2011 14:30:27 +0200 Subject: [PATCH] Implement dpkg-divert handling to address failing update-grub in openvz environments. --- etc/grml/fai/config/hooks/instsoft.GRMLBASE | 8 ++++++++ etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot | 9 +++++++++ 2 files changed, 17 insertions(+) diff --git a/etc/grml/fai/config/hooks/instsoft.GRMLBASE b/etc/grml/fai/config/hooks/instsoft.GRMLBASE index 473d8bc..8600154 100755 --- a/etc/grml/fai/config/hooks/instsoft.GRMLBASE +++ b/etc/grml/fai/config/hooks/instsoft.GRMLBASE @@ -88,6 +88,14 @@ EOF echo "Warning: there was an error executing apt-get update, continuing anyway." fi + # work around /etc/kernel/postinst.d/zz-update-grub failing + # inside openvz environment, see #597084 + if ! $ROOTCMD dpkg-divert --list | grep -q '/usr/sbin/update-grub' ; then + echo "Diverting update-grub executable" + $ROOTCMD dpkg-divert --rename --add /usr/sbin/update-grub + $ROOTCMD ln -s /bin/true /usr/sbin/update-grub + fi + # 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 diff --git a/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot b/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot index a9bb0e0..e397aa2 100755 --- a/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot +++ b/etc/grml/fai/config/scripts/GRMLBASE/98-clean-chroot @@ -24,6 +24,15 @@ else echo "Warning: localepurg not installed" fi +# revert dpkg-divert of hooks/instsoft.GRMLBASE, which is +# used to work around /etc/kernel/postinst.d/zz-update-grub failing +# inside openvz environment, see #597084 +if $ROOTCMD dpkg-divert --list | grep -q '/usr/sbin/update-grub' ; then + echo "Undoing dpkg-divert of update-grub executable" + $ROOTCMD rm -f /usr/sbin/update-grub + $ROOTCMD dpkg-divert --rename --remove /usr/sbin/update-grub +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 \ -- 2.1.4