summaryrefslogtreecommitdiff
path: root/sys-apps/systemd/systemd-9999.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2019-04-05 21:17:31 +0100
committerV3n3RiX <venerix@redcorelinux.org>2019-04-05 21:17:31 +0100
commitdc7cbdfa65fd814b3b9aa3c56257da201109e807 (patch)
treec85d72f6f31f21f178069c9d41d41a7c1ff4b362 /sys-apps/systemd/systemd-9999.ebuild
parent0706fc6986773f4e4d391deff4ad5143c464ea4e (diff)
gentoo resync : 05.04.2019
Diffstat (limited to 'sys-apps/systemd/systemd-9999.ebuild')
-rw-r--r--sys-apps/systemd/systemd-9999.ebuild32
1 files changed, 22 insertions, 10 deletions
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