]> code.ossystems Code Review - openembedded-core.git/commitdiff
dbus: do not use systemctl from host for configure
authorAndy Kling <andreas.kling@peiker-cee.de>
Wed, 15 Feb 2017 06:15:16 +0000 (07:15 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 23 Feb 2017 20:29:19 +0000 (12:29 -0800)
  configure.ac from dbus uses $PATH to get the location of systemctl.
  If it is not found /usr/bin/systemctl is used. It is possible to
  override the location by passing SYSTEMCTL=[value] to configure.
  The value is used to replace @SYSTEMCTL@ in systemd-user/dbus.socket.in.
  dbus.socket sets the environment variable DBUS_SESSION_BUS_ADDRESS
  using systemctl.

  dbus does not depend on systemd-systemctl-native, so location from
  host installation or the default value gets used. Adding
  systemd-systemctl to the build would give path from sysroot.

  Forcing SYSTEMCTL=${base_bindir}/systemctl for target gives the
  correct path there and the environment variable is set after a user
  session was opened.

[YOCTO #11002]

Signed-off-by: Andy Kling <andreas.kling@peiker-cee.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/recipes-core/dbus/dbus_1.10.14.bb

index f50aff89b76411d256dd27b1d91c8d13bd476ef0..d74560246e5262754635fad15d61f35ab7f3529f 100644 (file)
@@ -97,6 +97,7 @@ EXTRA_OECONF = "--disable-tests \
                 --disable-libaudit \
                 "
 
+EXTRA_OECONF_append_class-target = " SYSTEMCTL=${base_bindir}/systemctl"
 EXTRA_OECONF_append_class-native = " --disable-selinux"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \