commit 20f042f923d25772cb87515a184308e2d2dec084 Author: Daniel Baumann Date: Mon Mar 11 09:26:37 2013 +0100 Using dpkg-divert in chroot_upstart script to handle upgrades of upstart during the build (Closes: #702537). diff --git a/scripts/build/chroot_upstart b/scripts/build/chroot_upstart index 47d68c2..88dc3b2 100755 --- a/scripts/build/lb_chroot_upstart +++ b/scripts/build/lb_chroot_upstart @@ -27,6 +27,12 @@ Set_defaults # Requiring stage file Require_stagefile .build/config .build/bootstrap +# Check if system uses upstart +if [ ! -e chroot/sbin/initctl ] +then + exit 0 +fi + case "${1}" in install) Echo_message "Configuring file /sbin/initctl" @@ -40,13 +46,9 @@ case "${1}" in # Creating lock file Create_lockfile .lock - if [ -f chroot/sbin/initctl ] - then - # Save initctl file - mv chroot/sbin/initctl chroot/sbin/initctl.orig - fi + # Create custom initctl file + Chroot chroot dpkg-divert --rename --quiet --add /sbin/initctl - # Create initctl file cat > chroot/sbin/initctl << EOF #!/bin/sh echo "All runlevel operations denied by policy" >&2 @@ -68,14 +70,9 @@ EOF # Creating lock file Create_lockfile .lock - if [ -f chroot/sbin/initctl.orig ] - then - # Restore initctl file - mv chroot/sbin/initctl.orig chroot/sbin/initctl - else - # Remove initctl file - rm -f chroot/sbin/initctl - fi + # Remove custom initctl file + rm -f chroot/sbin/initctl + Chroot chroot dpkg-divert --rename --quiet --remove /sbin/initctl # Removing stage file rm -f .build/chroot_upstart