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.master
parent
4a663ca4e8
commit
da51f5bb01
|
@ -427,6 +427,7 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/cssc-missing-include.patch \
|
gnu/packages/patches/cssc-missing-include.patch \
|
||||||
gnu/packages/patches/clucene-contribs-lib.patch \
|
gnu/packages/patches/clucene-contribs-lib.patch \
|
||||||
gnu/packages/patches/cursynth-wave-rand.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/dealii-p4est-interface.patch \
|
||||||
gnu/packages/patches/diffutils-gets-undeclared.patch \
|
gnu/packages/patches/diffutils-gets-undeclared.patch \
|
||||||
gnu/packages/patches/dfu-programmer-fix-libusb.patch \
|
gnu/packages/patches/dfu-programmer-fix-libusb.patch \
|
||||||
|
|
|
@ -59,6 +59,7 @@
|
||||||
(name "dbus")
|
(name "dbus")
|
||||||
(version "1.10.0")
|
(version "1.10.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
|
;; TODO: Apply patch from DBUS/ACTIVATION below.
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"http://dbus.freedesktop.org/releases/dbus/dbus-"
|
"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.")
|
shared NFS home directories.")
|
||||||
(license license:gpl2+))) ; or Academic Free License 2.1
|
(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
|
(define glib
|
||||||
(package
|
(package
|
||||||
(name "glib")
|
(name "glib")
|
||||||
|
|
|
@ -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);
|
Reference in New Issue