From: Lennart Poettering Date: Fri, 11 Mar 2011 02:03:03 +0000 (+0100) Subject: activation: add /lib/dbus-1/system-services to the search path for services X-Git-Tag: dbus-1.4.14~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d837d937c589e0fb11e4da8d6173ec14f121d1fa;p=thirdparty%2Fdbus.git activation: add /lib/dbus-1/system-services to the search path for services In order to allow D-Bus usage during early boot (where /usr is not accessible) also search for bus activation files in /lib/dbus-1/system-services/. This is only a first step in the right direction, before we really can boot without /usr we'd need to move all current activation files (or possibly replace /usr/dbus-1/system-services to a symlink to /lib/dbus-1/system-services). --- diff --git a/bus/config-parser.c b/bus/config-parser.c index c9dbdf93a..f9432555b 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 d60637132..6b230c4f7 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,