From 20f042f923d25772cb87515a184308e2d2dec084 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 11 Mar 2013 09:26:37 +0100 Subject: Using dpkg-divert in chroot_upstart script to handle upgrades of upstart during the build (Closes: #702537). --- scripts/build/chroot_upstart | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/scripts/build/chroot_upstart b/scripts/build/chroot_upstart index 47d68c2d3..88dc3b204 100755 --- a/scripts/build/chroot_upstart +++ b/scripts/build/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 -- cgit v1.2.3