d743bb5
From edfdd314c82f42d2e571a24d6a8bdc674a892b43 Mon Sep 17 00:00:00 2001
d743bb5
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
d743bb5
Date: Mon, 27 Mar 2017 06:55:55 -0400
d743bb5
Subject: [PATCH] units: make enablement of s-n-wait-online.service follow
d743bb5
 systemd-networkd.service (#5635)
d743bb5
d743bb5
In 58a6dd15582c038a25bd7059435833943e2e4617 s-n-wait-online.service was added
d743bb5
to presets to synchronize the presets with the state after installation. But it
d743bb5
is harmful to have s-n-wait-online.service enabled when s-n.service is
d743bb5
disabled, because s-n-wait-online.service has Requsite=s-n.service and cannot
d743bb5
be activated. Thus remove s-n-wait-online.service from presets again, and let
d743bb5
it be enabled whenever s-n.service is enabled.
d743bb5
d743bb5
During installation we create enablement symlinks by hand, and since s-n.service
d743bb5
is enabled, s-n-w-o.service should be enabled too, so the symlink should still
d743bb5
be created during installation.
d743bb5
d743bb5
https://bugzilla.redhat.com/show_bug.cgi?id=1433459#c15(cherry picked from commit 9e49656037717b96c06b1f1507a41550bdb2c795)
d743bb5
---
d743bb5
 system-preset/90-systemd.preset      | 1 -
d743bb5
 units/systemd-networkd.service.m4.in | 6 ++++++
d743bb5
 2 files changed, 6 insertions(+), 1 deletion(-)
d743bb5
d743bb5
diff --git a/system-preset/90-systemd.preset b/system-preset/90-systemd.preset
d743bb5
index 6b5349dc8d..3ba4bb760d 100644
d743bb5
--- a/system-preset/90-systemd.preset
d743bb5
+++ b/system-preset/90-systemd.preset
d743bb5
@@ -15,7 +15,6 @@ enable getty@.service
d743bb5
 enable systemd-timesyncd.service
d743bb5
 enable systemd-networkd.service
d743bb5
 enable systemd-resolved.service
d743bb5
-enable systemd-networkd-wait-online.service
d743bb5
 
d743bb5
 disable console-getty.service
d743bb5
 disable debug-shell.service
d743bb5
diff --git a/units/systemd-networkd.service.m4.in b/units/systemd-networkd.service.m4.in
d743bb5
index d1cf3fc133..2623b21947 100644
d743bb5
--- a/units/systemd-networkd.service.m4.in
d743bb5
+++ b/units/systemd-networkd.service.m4.in
d743bb5
@@ -39,3 +39,9 @@ SystemCallFilter=~@clock @cpu-emulation @debug @keyring @module @mount @obsolete
d743bb5
 [Install]
d743bb5
 WantedBy=multi-user.target
d743bb5
 Also=systemd-networkd.socket
d743bb5
+
d743bb5
+# We want to enable systemd-networkd-wait-online.service whenever this service
d743bb5
+# is enabled. systemd-networkd-wait-online.service has
d743bb5
+# WantedBy=network-online.target, so enabling it only has an effect if
d743bb5
+# network-online.target itself is enabled or pulled in by some other unit.
d743bb5
+Also=systemd-networkd-wait-online.service