summary refs log tree commit diff
path: root/gnu/packages/patches/dbus-helper-search-path.patch
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-10-22 00:25:03 +0200
committerLudovic Courtès <ludo@gnu.org>2015-10-22 00:26:11 +0200
commitda51f5bb010d8bfbdeaa63db5a54788da4adf9a2 (patch)
treef11320b6c7e1c0cd1ed97bd9b5f85591f1f2bc38 /gnu/packages/patches/dbus-helper-search-path.patch
parent4a663ca4e8b5ded9a3d92870fba8f2ebde22d75a (diff)
downloadguix-da51f5bb010d8bfbdeaa63db5a54788da4adf9a2.tar.gz
gnu: dbus: Add variant with proper helper for service activation.
* gnu/packages/patches/dbus-helper-search-path.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/glib.scm (dbus/activation): New variable.
Diffstat (limited to 'gnu/packages/patches/dbus-helper-search-path.patch')
-rw-r--r--gnu/packages/patches/dbus-helper-search-path.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/gnu/packages/patches/dbus-helper-search-path.patch b/gnu/packages/patches/dbus-helper-search-path.patch
new file mode 100644
index 0000000000..30c142312b
--- /dev/null
+++ b/gnu/packages/patches/dbus-helper-search-path.patch
@@ -0,0 +1,18 @@
+The setuid helper of D-Bus is responsible for "service activation".
+It looks for '.service' files in fixed locations, but the default locations
+make no sense (see below), so replace them with /etc/dbus-1/system-services.
+
+--- dbus-1.10.0/dbus/dbus-sysdeps-util-unix.c	2015-10-22 00:07:03.829251854 +0200
++++ dbus-1.10.0/dbus/dbus-sysdeps-util-unix.c	2015-10-22 00:07:14.893445175 +0200
+@@ -1410,10 +1410,7 @@ _dbus_get_standard_system_servicedirs (D
+    * be available.
+    */
+   static const char standard_search_path[] =
+-    "/usr/local/share:"
+-    "/usr/share:"
+-    DBUS_DATADIR ":"
+-    "/lib";
++    "/etc";
+   DBusString servicedir_path;
+ 
+   _dbus_string_init_const (&servicedir_path, standard_search_path);