[systemd-devel] [PATCHv2 1/2] build-sys: do not use pkgconfig dbus-1.pc to find dbus directories

Filipe Brandenburger filbranden at google.com
Tue Dec 23 10:59:14 PST 2014

Do not use the dbus-1.pc pkgconfig settings to determine dbus directories. Use
directories relative to ${sysconfdir} and ${datadir} instead.

This approach was suggested by Simon McVittie in:

Tested by building and installing systemd without the dbus-devel installed.
Without this patch, the dbus files and directories end up in the root of the
filesystem. With this patch, they end up in the same locations as previously
(assuming default ${sysconfdir} and ${datadir}) whether dbus-devel is present
or not. Also made sure that `make check` works without dbus-devel installed.
v2: Updated TODO to remove entry about pkg-config dbus-1.

 TODO         | 2 --
 configure.ac | 8 ++++----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/TODO b/TODO
index fdc37b1..6ff9b8f 100644
--- a/TODO
+++ b/TODO
@@ -126,8 +126,6 @@ Features:
 * systemd --user should issue sd_notify() upon reaching basic.target, not on becoming idle
-* configure.ac pretends dbus was optional but actually hardcodes use of dbus' pkg-config file to determine various dbus dirs such as policy and activation dirs
 * consider showing the unit names during boot up in the status output, not just the unit descriptions
 * dhcp: do we allow configuring dhcp routes on interfaces that are not the one we got the dhcp info from?
diff --git a/configure.ac b/configure.ac
index 0e72166..f20c0e7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1258,22 +1258,22 @@ AC_SUBST(TTY_GID)
         AS_HELP_STRING([--with-dbuspolicydir=DIR], [D-Bus policy directory]),
-        [with_dbuspolicydir=$($PKG_CONFIG --variable=sysconfdir dbus-1)/dbus-1/system.d])
+        [with_dbuspolicydir=${sysconfdir}/dbus-1/system.d])
         AS_HELP_STRING([--with-dbussessionservicedir=DIR], [D-Bus session service directory]),
-        [with_dbussessionservicedir=$($PKG_CONFIG --variable=session_bus_services_dir dbus-1)])
+        [with_dbussessionservicedir=${datadir}/dbus-1/services])
         AS_HELP_STRING([--with-dbussystemservicedir=DIR], [D-Bus system service directory]),
-        [with_dbussystemservicedir=$(readlink -m $($PKG_CONFIG --variable=session_bus_services_dir dbus-1)/../system-services)])
+        [with_dbussystemservicedir=${datadir}/dbus-1/system-services])
         AS_HELP_STRING([--with-dbusinterfacedir=DIR], [D-Bus interface directory]),
-        [with_dbusinterfacedir=$(readlink -m $($PKG_CONFIG --variable=session_bus_services_dir dbus-1)/../interfaces)])
+        [with_dbusinterfacedir=${datadir}/dbus-1/interfaces])
         AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),

More information about the systemd-devel mailing list