summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Baumann <daniel@debian.org>2013-04-09 05:54:08 +0200
committerDaniel Baumann <daniel@debian.org>2013-04-09 05:54:08 +0200
commit34dd4a6c704d44ed9d8994663d0855cf337f70f8 (patch)
tree9f156d3cf4cafcd82f16a4a2af9074447e601f45
parentda153c652646162b2d121e6f7e9f50bb363412a6 (diff)
downloadvyos-live-build-34dd4a6c704d44ed9d8994663d0855cf337f70f8.tar.gz
vyos-live-build-34dd4a6c704d44ed9d8994663d0855cf337f70f8.zip
Using dpkg-divert in chroot_upstart script to handle upgrades of upstart during the build (Closes: #702537).
-rwxr-xr-xscripts/build/chroot_upstart25
1 files changed, 11 insertions, 14 deletions
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