diff options
| author | Michael Biebl <biebl@debian.org> | 2016-06-02 18:23:29 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2016-06-02 18:23:29 +0200 |
| commit | fc3f97d61cb0727ed4aaa70551b2c8298aa621ff (patch) | |
| tree | 14afbf4ab50f6d7ecbd655b4e754bb6ede9067b2 | |
| parent | 602dd19588df87093a1469e19e82ab86bac275ec (diff) | |
Properly hook up network.target and network-online.target
* Let NetworkManager.service pull in network.target. This will provide a proper ordering on shutdown. * Enable NetworkManager-wait-online.service. This ensures that mounting of network file systems works properly and SysV init scripts depending on $network will be delayed until network is available (or a timeout is reached).
9 files changed, 137 insertions, 97 deletions
diff --git a/debian/changelog b/debian/changelog index 49cac054..a69be41d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,14 @@ +network-manager (1.2.2-2) UNRELEASED; urgency=medium + + * Let NetworkManager.service pull in network.target. This will provide a + proper ordering on shutdown. + * Enable NetworkManager-wait-online.service. This ensures that mounting of + network file systems works properly and SysV init scripts depending on + $network will be delayed until network is available (or a timeout is + reached). + + -- Michael Biebl <biebl@debian.org> Thu, 02 Jun 2016 18:17:28 +0200 + network-manager (1.2.2-1) unstable; urgency=medium * New upstream release. diff --git a/debian/patches/Debian-specific-tweaks-for-NetworkManager-systemd-se.patch b/debian/patches/Debian-specific-tweaks-for-NetworkManager-systemd-se.patch deleted file mode 100644 index 449ae401..00000000 --- a/debian/patches/Debian-specific-tweaks-for-NetworkManager-systemd-se.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Michael Biebl <biebl@debian.org> -Date: Wed, 2 Apr 2014 03:15:53 +0200 -Subject: Debian specific tweaks for NetworkManager systemd service file - -This patch is needed to avoid a dependency loop which is generated -by early boot (rcS) SysV init scripts depending on the $network LSB -system facility (either directly or indirectly via $remote_fs). - -The $network LSB system facility is mapped to network.target. - -Those rcS SysV init scripts are started in sysinit.target, -NetworkManager.service is started via multi-user.target, which depends -on sysinit.target. - -As long as we have rcS SysV init scripts which such a dependency on -$remote_fs or $network we can not make NetworkManager.service a provider -for network.target. ---- - data/NetworkManager.service.in | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in -index 7946ac1..a974432 100644 ---- a/data/NetworkManager.service.in -+++ b/data/NetworkManager.service.in -@@ -1,8 +1,6 @@ - [Unit] - Description=Network Manager --Wants=network.target - After=network-pre.target dbus.service --Before=network.target @DISTRO_NETWORK_SERVICE@ - - [Service] - Type=dbus diff --git a/debian/patches/Don-t-block-network.target-on-NetworkManager-wait-on.patch b/debian/patches/Don-t-block-network.target-on-NetworkManager-wait-on.patch deleted file mode 100644 index 4ee2e37e..00000000 --- a/debian/patches/Don-t-block-network.target-on-NetworkManager-wait-on.patch +++ /dev/null @@ -1,54 +0,0 @@ -From: Michael Biebl <biebl@debian.org> -Date: Sun, 29 Mar 2015 22:58:43 +0200 -Subject: Don't block network.target on NetworkManager-wait-online.service - -network.target is supposed to be a passive unit which is pulled in my -the network management service. - -Also, we want NetworkManager-wait-online.service be hooked up in -network-online.target, not multi-user.target. - -While at it, add a few other smaller fixes, like the addition of -Documentation= and RemainAfterExit=yes - -http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/ -https://bugzilla.gnome.org/show_bug.cgi?id=746039 ---- - data/Makefile.am | 4 ---- - data/NetworkManager-wait-online.service.in | 2 ++ - 2 files changed, 2 insertions(+), 4 deletions(-) - -diff --git a/data/Makefile.am b/data/Makefile.am -index 4ab4106..bbe6b32 100644 ---- a/data/Makefile.am -+++ b/data/Makefile.am -@@ -18,10 +18,6 @@ endif - - NetworkManager-dispatcher.service: NetworkManager-dispatcher.service.in - $(edit) $< >$@ -- --install-exec-local: -- install -d $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants -- ln -sf $(systemdsystemunitdir)/NetworkManager-wait-online.service $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants - endif - - examplesdir = $(docdir)/examples -diff --git a/data/NetworkManager-wait-online.service.in b/data/NetworkManager-wait-online.service.in -index 8c4fa67..1753d20 100644 ---- a/data/NetworkManager-wait-online.service.in -+++ b/data/NetworkManager-wait-online.service.in -@@ -1,5 +1,6 @@ - [Unit] - Description=Network Manager Wait Online -+Documentation=man:nm-online(1) - Requisite=NetworkManager.service - After=NetworkManager.service - Before=network-online.target -@@ -7,6 +8,7 @@ Before=network-online.target - [Service] - Type=oneshot - ExecStart=@bindir@/nm-online -s -q --timeout=30 -+RemainAfterExit=yes - - [Install] - WantedBy=network-online.target diff --git a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch index e5eb82da..967d247a 100644 --- a/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch +++ b/debian/patches/Don-t-make-NetworkManager-D-Bus-activatable.patch @@ -28,10 +28,10 @@ index ce059fc..4ab4106 100644 install -d $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants ln -sf $(systemdsystemunitdir)/NetworkManager-wait-online.service $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in -index a974432..5a752b8 100644 +index 7946ac1..eaab677 100644 --- a/data/NetworkManager.service.in +++ b/data/NetworkManager.service.in -@@ -16,6 +16,5 @@ ProtectHome=read-only +@@ -18,6 +18,5 @@ ProtectHome=read-only [Install] WantedBy=multi-user.target diff --git a/debian/patches/series b/debian/patches/series index 445a1b3d..842debff 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,8 +1,9 @@ -Debian-specific-tweaks-for-NetworkManager-systemd-se.patch Force-online-state-with-unmanaged-devices.patch Don-t-setup-Sleep-Monitor-if-not-booted-with-systemd.patch fix-arping-path.patch Check-at-runtime-whether-to-start-ModemManager.patch Don-t-make-NetworkManager-D-Bus-activatable.patch -Don-t-block-network.target-on-NetworkManager-wait-on.patch +systemd-Don-t-enable-NetworkManager-wait-online.service-s.patch Fix-iscsiadm-path.patch +systemd-Add-Documentation-to-service-files.patch +systemd-Use-RemainAfterExit-yes-for-NetworkManager-wait-o.patch diff --git a/debian/patches/systemd-Add-Documentation-to-service-files.patch b/debian/patches/systemd-Add-Documentation-to-service-files.patch new file mode 100644 index 00000000..41460def --- /dev/null +++ b/debian/patches/systemd-Add-Documentation-to-service-files.patch @@ -0,0 +1,49 @@ +From: Michael Biebl <biebl@debian.org> +Date: Thu, 2 Jun 2016 17:41:29 +0200 +Subject: systemd: Add Documentation to service files + +Reference the nm-online and NetworkManager man page in the corresponding +service files. + +https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Documentation= + +https://bugzilla.gnome.org/show_bug.cgi?id=767168 +--- + data/NetworkManager-wait-online-systemd-pre200.service.in | 1 + + data/NetworkManager-wait-online.service.in | 1 + + data/NetworkManager.service.in | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/data/NetworkManager-wait-online-systemd-pre200.service.in b/data/NetworkManager-wait-online-systemd-pre200.service.in +index d145a79..8b54f48 100644 +--- a/data/NetworkManager-wait-online-systemd-pre200.service.in ++++ b/data/NetworkManager-wait-online-systemd-pre200.service.in +@@ -1,5 +1,6 @@ + [Unit] + Description=Network Manager Wait Online ++Documentation=man:nm-online(1) + Requisite=NetworkManager.service + After=NetworkManager.service + Wants=network.target +diff --git a/data/NetworkManager-wait-online.service.in b/data/NetworkManager-wait-online.service.in +index 8c4fa67..4df854c 100644 +--- a/data/NetworkManager-wait-online.service.in ++++ b/data/NetworkManager-wait-online.service.in +@@ -1,5 +1,6 @@ + [Unit] + Description=Network Manager Wait Online ++Documentation=man:nm-online(1) + Requisite=NetworkManager.service + After=NetworkManager.service + Before=network-online.target +diff --git a/data/NetworkManager.service.in b/data/NetworkManager.service.in +index eaab677..4f07180 100644 +--- a/data/NetworkManager.service.in ++++ b/data/NetworkManager.service.in +@@ -1,5 +1,6 @@ + [Unit] + Description=Network Manager ++Documentation=man:NetworkManager(8) + Wants=network.target + After=network-pre.target dbus.service + Before=network.target @DISTRO_NETWORK_SERVICE@ diff --git a/debian/patches/systemd-Don-t-enable-NetworkManager-wait-online.service-s.patch b/debian/patches/systemd-Don-t-enable-NetworkManager-wait-online.service-s.patch new file mode 100644 index 00000000..c822c2d5 --- /dev/null +++ b/debian/patches/systemd-Don-t-enable-NetworkManager-wait-online.service-s.patch @@ -0,0 +1,30 @@ +From: Michael Biebl <biebl@debian.org> +Date: Sun, 29 Mar 2015 22:58:43 +0200 +Subject: systemd: Don't enable NetworkManager-wait-online.service statically + +Instead we are going to hook up the service in network-online.target +dynamically via + +[Install] +WantedBy=network-online.target + +This way the user can easily disable the service. +--- + data/Makefile.am | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/data/Makefile.am b/data/Makefile.am +index 4ab4106..bbe6b32 100644 +--- a/data/Makefile.am ++++ b/data/Makefile.am +@@ -18,10 +18,6 @@ endif + + NetworkManager-dispatcher.service: NetworkManager-dispatcher.service.in + $(edit) $< >$@ +- +-install-exec-local: +- install -d $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants +- ln -sf $(systemdsystemunitdir)/NetworkManager-wait-online.service $(DESTDIR)$(systemdsystemunitdir)/network-online.target.wants + endif + + examplesdir = $(docdir)/examples diff --git a/debian/patches/systemd-Use-RemainAfterExit-yes-for-NetworkManager-wait-o.patch b/debian/patches/systemd-Use-RemainAfterExit-yes-for-NetworkManager-wait-o.patch new file mode 100644 index 00000000..39c28b7c --- /dev/null +++ b/debian/patches/systemd-Use-RemainAfterExit-yes-for-NetworkManager-wait-o.patch @@ -0,0 +1,42 @@ +From: Michael Biebl <biebl@debian.org> +Date: Thu, 2 Jun 2016 17:58:35 +0200 +Subject: systemd: Use RemainAfterExit=yes for + NetworkManager-wait-online.service + +RemainAfterExit=yes is typically used for Type=oneshot services. +systemd-networkd-wait-online.service uses it, so we should as well. + +See +https://www.freedesktop.org/software/systemd/man/systemd.service.html#RemainAfterExit= +https://www.freedesktop.org/software/systemd/man/systemd.service.html#Type= + +https://bugzilla.gnome.org/show_bug.cgi?id=767170 +--- + data/NetworkManager-wait-online-systemd-pre200.service.in | 1 + + data/NetworkManager-wait-online.service.in | 1 + + 2 files changed, 2 insertions(+) + +diff --git a/data/NetworkManager-wait-online-systemd-pre200.service.in b/data/NetworkManager-wait-online-systemd-pre200.service.in +index 8b54f48..55e4508 100644 +--- a/data/NetworkManager-wait-online-systemd-pre200.service.in ++++ b/data/NetworkManager-wait-online-systemd-pre200.service.in +@@ -9,6 +9,7 @@ Before=network.target + [Service] + Type=oneshot + ExecStart=@bindir@/nm-online -s -q --timeout=30 ++RemainAfterExit=yes + + [Install] + WantedBy=network.target +diff --git a/data/NetworkManager-wait-online.service.in b/data/NetworkManager-wait-online.service.in +index 4df854c..1753d20 100644 +--- a/data/NetworkManager-wait-online.service.in ++++ b/data/NetworkManager-wait-online.service.in +@@ -8,6 +8,7 @@ Before=network-online.target + [Service] + Type=oneshot + ExecStart=@bindir@/nm-online -s -q --timeout=30 ++RemainAfterExit=yes + + [Install] + WantedBy=network-online.target diff --git a/debian/rules b/debian/rules index a4d31b02..a0d0af51 100755 --- a/debian/rules +++ b/debian/rules @@ -64,11 +64,6 @@ override_dh_makeshlibs: override_dh_strip: dh_strip --dbgsym-migration='network-manager-dbg (<< 1.1.91-2~)' -override_dh_systemd_enable: - dh_systemd_enable -pnetwork-manager NetworkManager-dispatcher.service - dh_systemd_enable -pnetwork-manager --no-enable NetworkManager-wait-online.service - dh_systemd_enable -pnetwork-manager NetworkManager.service - override_dh_systemd_start: dh_link lib/systemd/system/NetworkManager.service \ lib/systemd/system/network-manager.service |