Files
poky/meta/recipes-core
Ross Burton 78d0ba12ef dbus: explictly set the path to systemctl
The dbus.socket user unit file calls systemctl, and the meson.build uses
find_program() to find the path, falling back to a hardcoded value if it
cannot be found.

On the initial build the sysroot doesn't contain systemctl (as it is not
in the target systemd sysroot), however after the do_package_write_*
tasks have completed there is a systemd-systemctl-native recipe in the
sysroot which will be found and result in host paths being in the target
packages, specifically in /usr/lib/systemd/user/dbus.socket:

  ExecStartPost=-/work/ross/build/tmp/work/core2-64-poky-linux/dbus/1.16.0/recipe-sysroot-native/usr/bin/systemctl

This can be replicated by forcing a rebuild after a forced packaging:

$ bitbake dbus -C do_package_write_ipk
$ bitbake dbus -C configure
ERROR: dbus-1.16.0-r0 do_package_qa: QA Issue: File
/usr/lib/systemd/user/dbus.socket in package dbus-common contains
reference to TMPDIR [buildpaths]

We could do the unit mask manually instead of using systemctl (as it's
just a symlink) but the hardcoded path is still wrong, so write a small
Meson cross file to specify where the binary is.

(From OE-Core rev: 2ebfe3d8df809f6cf057ac7b56cdbc265f05b37a)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-02-10 13:03:58 +00:00
..
2024-01-07 12:24:57 +00:00
2024-12-12 12:52:39 +00:00
2024-11-12 23:54:35 +00:00
2023-04-27 14:41:31 +01:00
2025-01-04 12:34:03 +00:00
2025-02-05 12:49:56 +00:00
2025-01-04 12:34:04 +00:00
2024-11-19 12:54:32 +00:00
2024-12-03 11:21:34 +00:00
2022-11-08 22:47:16 +00:00
2024-08-23 22:43:27 +01:00
2025-01-14 11:57:52 +00:00
2024-12-12 12:52:39 +00:00
2024-04-23 13:40:24 +01:00
2024-08-29 21:58:19 +01:00