summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xfunctions/defaults.sh15
-rwxr-xr-xscripts/build/lb_chroot_linux-image27
2 files changed, 25 insertions, 17 deletions
diff --git a/functions/defaults.sh b/functions/defaults.sh
index 4e97816b0..86bf23bd3 100755
--- a/functions/defaults.sh
+++ b/functions/defaults.sh
@@ -148,7 +148,20 @@ Set_defaults ()
esac
# Setting initsystem
- LB_INITSYSTEM="${LB_INITSYSTEM:-sysvinit}"
+ case "${LB_MODE}" in
+ ubuntu)
+ if [ "${LB_INITRAMFS}" = "live-boot" ]
+ then
+ LB_INITSYSTEM="${LB_INITSYSTEM:-upstart}"
+ else
+ LB_INITSYSTEM="${LB_INITSYSTEM:-sysvinit}"
+ fi
+ ;;
+
+ *)
+ LB_INITSYSTEM="${LB_INITSYSTEM:-sysvinit}"
+ ;;
+ esac
# Setting fdisk
if [ -z "${LB_FDISK}" ] || [ ! -x "${LB_FDISK}" ]
diff --git a/scripts/build/lb_chroot_linux-image b/scripts/build/lb_chroot_linux-image
index cdbbe3837..411e06e2c 100755
--- a/scripts/build/lb_chroot_linux-image
+++ b/scripts/build/lb_chroot_linux-image
@@ -83,24 +83,19 @@ EOF
echo "live-config live-config-${LB_INITSYSTEM}" >> chroot/root/chroot_packages
fi
- # Do initsystem specific hacks (FIXME)
- case "${LB_INITSYSTEM}" in
- sysvinit)
-
- ;;
-
- runit)
-
- ;;
-
- systemd)
-
- ;;
+ # Do initsystem specific hacks
+ if [ "${LB_INITSYSTEM}" != "sysvinit" ]
+ then
+ # lets see if we still need the squeeze's "pre init system policy discussion" hack:
- upstart)
+ IS_SYSVINIT_ESSENTIAL="$(Chroot chroot dpkg-query --show --showformat='${Essential}\n' sysvinit)"
+ RC=$?
- ;;
- esac
+ if [ "${IS_SYSVINIT_ESSENTIAL}" != "no" ] && [ "${RC}" == "0" ]; then
+ # sysvinit is both installed and essential, ugly hack to remove it
+ Chroot chroot dpkg --force-remove-essential --remove sysvinit || true
+ fi
+ fi
# Creating stage file
Create_stagefile .stage/chroot_linux-image