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:
http://lists.freedesktop.org/archives/systemd-devel/2014-October/024388.html

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)
 AC_ARG_WITH([dbuspolicydir],
         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])
 
 AC_ARG_WITH([dbussessionservicedir],
         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])
 
 AC_ARG_WITH([dbussystemservicedir],
         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])
 
 AC_ARG_WITH([dbusinterfacedir],
         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])
 
 AC_ARG_WITH([bashcompletiondir],
         AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions 
directory]),
-- 
1.8.3.1

_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to