diff --git a/diskimage_builder/elements/simple-init/element-deps b/diskimage_builder/elements/simple-init/element-deps index 5c7f9bb3..9d4a9f73 100644 --- a/diskimage_builder/elements/simple-init/element-deps +++ b/diskimage_builder/elements/simple-init/element-deps @@ -1,4 +1,5 @@ cloud-init-datasources +dib-init-system install-types pip-and-virtualenv runtime-ssh-host-keys diff --git a/diskimage_builder/elements/simple-init/post-install.d/80-simple-init b/diskimage_builder/elements/simple-init/post-install.d/80-simple-init new file mode 100755 index 00000000..898dd41b --- /dev/null +++ b/diskimage_builder/elements/simple-init/post-install.d/80-simple-init @@ -0,0 +1,37 @@ +#!/bin/bash + +if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then + set -x +fi +set -eu +set -o pipefail + +case "$DIB_INIT_SYSTEM" in + upstart) + # nothing to do + exit 0 + ;; + systemd) + if [[ ${DISTRO_NAME} =~ (centos|rhel7|fedora) ]]; then + # NOTE(pabelanger): Glean requires network.service for + # these platforms. + systemctl enable network.service + elif [[ ${DISTRO_NAME} =~ (opensuse) ]]; then + # on suse, this is named wicked.service, but it's the same + # as network.service. + systemctl enable wicked.service + fi + ;; + openrc) + # let dib-init-system's postinstall handle enabling init scripts + exit 0 + ;; + sysv) + # nothing to do + exit 0 + ;; + *) + echo "Unsupported init system $DIB_INIT_SYSTEM" + exit 1 + ;; +esac