about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog6
-rw-r--r--debian/patches/04-systemd-set-kill-mode-process.patch27
-rw-r--r--debian/patches/series1
3 files changed, 34 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index a85fa3e6..685ba285 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,12 @@
 network-manager (0.9.4.0-8) UNRELEASED; urgency=low
 
   * Move the pkla file to /etc/polkit-1 as requested by the release team.
+  * debian/patches/04-systemd-set-kill-mode-process.patch: By default, when
+    shutting NM down, systemd will kill everything in its cgroup. But this
+    can cause problems (eg, NM thinking that dhclient crashed and then taking
+    down an interface that it would otherwise have left up). Fix this by
+    setting KillMode=process, which tells systemd to only kill NM itself, and
+    let NM kill its children. Patch cherry-picked from upstream Git.
 
  -- Michael Biebl <biebl@debian.org>  Sat, 05 Jan 2013 20:15:30 +0100
 
diff --git a/debian/patches/04-systemd-set-kill-mode-process.patch b/debian/patches/04-systemd-set-kill-mode-process.patch
new file mode 100644
index 00000000..daed7aef
--- /dev/null
+++ b/debian/patches/04-systemd-set-kill-mode-process.patch
@@ -0,0 +1,27 @@
+commit 1d89bc0004ec27fbc0c89f17861118c78d7eeab5 (HEAD, origin/master, origin/HEAD, master)
+Author: Dan Winship <danw@gnome.org>
+Date:   Fri Jan 4 11:53:03 2013 -0500
+
+    systemd: set KillMode=process
+    
+    By default, when shutting NM down, systemd will kill everything in its
+    cgroup. But this can cause problems (eg, NM thinking that dhclient
+    crashed and then taking down an interface that it would otherwise have
+    left up). Fix this by setting KillMode=process, which tells systemd to
+    only kill NM itself, and let NM kill its children.
+    
+    https://bugzilla.redhat.com/show_bug.cgi?id=876218
+
+Index: network-manager/data/NetworkManager.service.in
+===================================================================
+--- network-manager.orig/data/NetworkManager.service.in	2013-01-05 20:18:09.943472117 +0100
++++ network-manager/data/NetworkManager.service.in	2013-01-05 20:18:09.943472117 +0100
+@@ -10,6 +10,8 @@
+ # with LOG_PERROR when run in foreground. But systemd redirects stderr to
+ # syslog by default, which results in logging each message twice.
+ StandardError=null
++# NM doesn't want systemd to kill its children for it
++KillMode=process
+ 
+ [Install]
+ WantedBy=multi-user.target
diff --git a/debian/patches/series b/debian/patches/series
index 7129497f..ed9f3f03 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,6 +1,7 @@
 # Debian patches for network-manager
 02-dbus_access_network_manager.patch
 03-systemd.patch
+04-systemd-set-kill-mode-process.patch
 10-format-security.patch
 11-initialize-nm-remote-settings.patch
 12-initialize-gerror.patch