dbus: do not use systemctl from host for configure

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]

(From OE-Core rev: e9471f8da3946439141ccdd8284200aa614df46c)

Signed-off-by: Andy Kling <andreas.kling@peiker-cee.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Andy Kling
2017-02-15 07:15:16 +01:00
committed by Richard Purdie
parent 5424dc2a21
commit 4a234b5c0e

View 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)} \