From 34dd4a6c704d44ed9d8994663d0855cf337f70f8 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Tue, 9 Apr 2013 05:54:08 +0200 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(-) (limited to 'scripts/build/chroot_upstart') diff --git a/scripts/build/chroot_upstart b/scripts/build/chroot_upstart index 1ab64f468..377a239a8 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