diff options
-rwxr-xr-x | functions/defaults.sh | 15 | ||||
-rwxr-xr-x | scripts/build/lb_chroot_linux-image | 27 |
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 |