divert /usr/bin/systemd-detect-virt as part of the grub diversions, so

that the grub kernel postinst hook is operational when we're building
in a container.  LP: #1729034.
This commit is contained in:
Steve Langasek 2017-10-31 10:05:39 -07:00
parent 1c42ecba1b
commit 6c56522961
2 changed files with 16 additions and 0 deletions

3
debian/changelog vendored
View File

@ -2,6 +2,9 @@ livecd-rootfs (2.408.22) xenial; urgency=medium
* Make sure to remove any initramfs that was generated in a minimized
image.
* divert /usr/bin/systemd-detect-virt as part of the grub diversions, so
that the grub kernel postinst hook is operational when we're building
in a container. LP: #1729034.
-- Steve Langasek <steve.langasek@ubuntu.com> Sat, 21 Oct 2017 20:53:02 -0700

View File

@ -298,6 +298,15 @@ divert_grub() {
chroot "$CHROOT_ROOT" dpkg-divert --local \
--divert /etc/grub.d/30_os-prober.dpkg-divert \
--rename /etc/grub.d/30_os-prober
# Divert systemd-detect-virt; /etc/kernel/postinst.d/zz-update-grub
# no-ops if we are in a container, and the launchpad farm runs builds
# in lxd. We therefore pretend that we're never in a container (by
# exiting 1).
chroot "$CHROOT_ROOT" dpkg-divert --local \
--rename /usr/bin/systemd-detect-virt
echo "exit 1" > "$CHROOT_ROOT"/usr/bin/systemd-detect-virt
chmod +x "$CHROOT_ROOT"/usr/bin/systemd-detect-virt
}
undivert_grub() {
@ -310,4 +319,8 @@ undivert_grub() {
chroot "$CHROOT_ROOT" dpkg-divert --remove --local \
--divert /etc/grub.d/30_os-prober.dpkg-divert \
--rename /etc/grub.d/30_os-prober
rm "$CHROOT_ROOT"/usr/bin/systemd-detect-virt
chroot "$CHROOT_ROOT" dpkg-divert --remove --local \
--rename /usr/bin/systemd-detect-virt
}