diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-10-22 00:25:03 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-10-22 00:26:11 +0200 |
commit | da51f5bb010d8bfbdeaa63db5a54788da4adf9a2 (patch) | |
tree | f11320b6c7e1c0cd1ed97bd9b5f85591f1f2bc38 | |
parent | 4a663ca4e8b5ded9a3d92870fba8f2ebde22d75a (diff) | |
download | guix-da51f5bb010d8bfbdeaa63db5a54788da4adf9a2.tar guix-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.
-rw-r--r-- | gnu-system.am | 1 | ||||
-rw-r--r-- | gnu/packages/glib.scm | 12 | ||||
-rw-r--r-- | gnu/packages/patches/dbus-helper-search-path.patch | 18 |
3 files changed, 31 insertions, 0 deletions
diff --git a/gnu-system.am b/gnu-system.am index 859b123c2c..3daec42e28 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -427,6 +427,7 @@ dist_patch_DATA = \ gnu/packages/patches/cssc-missing-include.patch \ gnu/packages/patches/clucene-contribs-lib.patch \ gnu/packages/patches/cursynth-wave-rand.patch \ + gnu/packages/patches/dbus-helper-search-path.patch \ gnu/packages/patches/dealii-p4est-interface.patch \ gnu/packages/patches/diffutils-gets-undeclared.patch \ gnu/packages/patches/dfu-programmer-fix-libusb.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 6ef64e4b73..e4bf6ad0fc 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -59,6 +59,7 @@ (name "dbus") (version "1.10.0") (source (origin + ;; TODO: Apply patch from DBUS/ACTIVATION below. (method url-fetch) (uri (string-append "http://dbus.freedesktop.org/releases/dbus/dbus-" @@ -123,6 +124,17 @@ or through unencrypted TCP/IP suitable for use behind a firewall with shared NFS home directories.") (license license:gpl2+))) ; or Academic Free License 2.1 +(define-public dbus/activation + ;; D-Bus with a patch to fix service activation. + ;; TODO: Merge with DBUS above. + (package + (inherit dbus) + (version (string-append (package-version dbus) ".a")) + (source (origin + (inherit (package-source dbus)) + (patches + (list (search-patch "dbus-helper-search-path.patch"))))))) + (define glib (package (name "glib") 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); |