diff options
-rw-r--r-- | bus/config-parser.c | 4 | ||||
-rw-r--r-- | dbus/dbus-sysdeps-unix.c | 16 |
2 files changed, 15 insertions, 5 deletions
diff --git a/bus/config-parser.c b/bus/config-parser.c index c9dbdf93..f9432555 100644 --- a/bus/config-parser.c +++ b/bus/config-parser.c @@ -3395,6 +3395,10 @@ static const char *test_system_service_dir_matches[] = "/testusr/testshare/dbus-1/system-services", #endif DBUS_DATADIR"/dbus-1/system-services", +#ifdef DBUS_UNIX + "/lib/dbus-1/system-services", +#endif + #ifdef DBUS_WIN NULL, #endif diff --git a/dbus/dbus-sysdeps-unix.c b/dbus/dbus-sysdeps-unix.c index d6063713..6b230c4f 100644 --- a/dbus/dbus-sysdeps-unix.c +++ b/dbus/dbus-sysdeps-unix.c @@ -3633,12 +3633,18 @@ _dbus_get_standard_system_servicedirs (DBusList **dirs) } /* - * add configured datadir to defaults - * this may be the same as an xdg dir - * however the config parser should take - * care of duplicates + * Add configured datadir to defaults. This may be the same as one + * of the XDG directories. However, the config parser should take + * care of the duplicates. + * + * Also, append /lib as counterpart of /usr/share on the root + * directory (the root directory does not know /share), in order to + * facilitate early boot system bus activation where /usr might not + * be available. */ - if (!_dbus_string_append (&servicedir_path, DBUS_DATADIR":")) + if (!_dbus_string_append (&servicedir_path, + DBUS_DATADIR":" + "/lib:")) goto oom; if (!_dbus_split_paths_and_append (&servicedir_path, |