From dc7cbdfa65fd814b3b9aa3c56257da201109e807 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 5 Apr 2019 21:17:31 +0100 Subject: gentoo resync : 05.04.2019 --- sys-apps/systemd/systemd-9999.ebuild | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) (limited to 'sys-apps/systemd/systemd-9999.ebuild') diff --git a/sys-apps/systemd/systemd-9999.ebuild b/sys-apps/systemd/systemd-9999.ebuild index 852df051610d..c167a2fd0b76 100644 --- a/sys-apps/systemd/systemd-9999.ebuild +++ b/sys-apps/systemd/systemd-9999.ebuild @@ -336,16 +336,6 @@ multilib_src_install_all() { # Symlink /etc/sysctl.conf for easy migration. dosym ../sysctl.conf /etc/sysctl.d/99-sysctl.conf - # If we install these symlinks, there is no way for the sysadmin to remove them - # permanently. - rm -f "${ED}"/etc/systemd/system/multi-user.target.wants/systemd-networkd.service || die - rm -f "${ED}"/etc/systemd/system/dbus-org.freedesktop.network1.service || die - rm -f "${ED}"/etc/systemd/system/multi-user.target.wants/systemd-resolved.service || die - rm -f "${ED}"/etc/systemd/system/dbus-org.freedesktop.resolve1.service || die - rm -fr "${ED}"/etc/systemd/system/network-online.target.wants || die - rm -fr "${ED}"/etc/systemd/system/sockets.target.wants || die - rm -fr "${ED}"/etc/systemd/system/sysinit.target.wants || die - local udevdir=/lib/udev use split-usr || udevdir=/usr/lib/udev @@ -402,6 +392,20 @@ migrate_locale() { fi } +save_enabled_units() { + ENABLED_UNITS=() + type systemctl &>/dev/null || return + for x; do + if systemctl --quiet --root="${ROOT:-/}" is-enabled "${x}"; then + ENABLED_UNITS+=( "${x}" ) + fi + done +} + +pkg_preinst() { + save_enabled_units {machines,remote-{cryptsetup,fs}}.target getty@tty1.service +} + pkg_postinst() { newusergroup() { enewgroup "$1" @@ -437,6 +441,14 @@ pkg_postinst() { systemd_reenable systemd-networkd.service systemd-resolved.service + if [[ ${ENABLED_UNITS[@]} ]]; then + systemctl --root="${ROOT:-/}" enable "${ENABLED_UNITS[@]}" + fi + + if [[ -L ${EROOT}/var/lib/systemd/timesync ]]; then + rm "${EROOT}/var/lib/systemd/timesync" + fi + if [[ -z ${ROOT} && -d /run/systemd/system ]]; then ebegin "Reexecuting system manager" systemctl daemon-reexec -- cgit v1.2.3