mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
dbus: gate user-session PACKAGECONFIG on systemd in DISTRO_FEATURES
On scarthgap images built without systemd in DISTRO_FEATURES, dbus
still shipped dbus.socket and dbus.service under
${systemd_user_unitdir} (/usr/lib/systemd/user), because the
'user-session' PACKAGECONFIG was always enabled and passed
--enable-user-session --with-systemduserunitdir=... to configure.
In dbus-1.14.10 the user-session autoconf option (configure.ac and
bus/Makefile.am 'if DBUS_ENABLE_USER_SESSION') only installs systemd
user units; it has no non-systemd effect. Enabling it on a sysvinit
image has no benefit and produces the stale unit files.
Make user-session a systemd-gated PACKAGECONFIG by using
bb.utils.contains in the default, so it is enabled when systemd is
in DISTRO_FEATURES and disabled otherwise. No changes to the
PACKAGECONFIG[user-session] or PACKAGECONFIG[systemd] entries are
needed: --disable-user-session is passed on sysvinit builds, which
prevents the configure/Makefile machinery from ever setting up the
user-unit install step.
This is the scarthgap equivalent of master commit a296b0623eb2
("dbus: use the systemd class to handle the unit files"), adapted
to the autotools 1.14.10 recipe. The master fix was broader because
the meson 1.16.2 build handles unit-file install differently, which
let that commit drop the manual do_install unit block, the
systemctl mask postinst, and PACKAGE_WRITE_DEPS. On 1.14.10 those
pieces are still needed; the minimal correct gate here is the
user-session default.
Fixes [YOCTO #15779]
(From OE-Core rev: 5550d6eadb2fea1ecb13e035a04a57450510441f)
Signed-off-by: Jhonata Poma-Hansen <jhonata.poma@gmail.com>
Signed-off-by: Fabien Thomas <fabien.thomas@smile.fr>
Signed-off-by: Paul Barker <paul@pbarker.dev>
This commit is contained in:
committed by
Paul Barker
parent
49da7cb317
commit
75bf0d4caa
@@ -29,7 +29,7 @@ EXTRA_OECONF = "--disable-xml-docs \
|
|||||||
EXTRA_OECONF:append:class-target = " SYSTEMCTL=${base_bindir}/systemctl"
|
EXTRA_OECONF:append:class-target = " SYSTEMCTL=${base_bindir}/systemctl"
|
||||||
|
|
||||||
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
|
PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd x11', d)} \
|
||||||
user-session \
|
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'user-session', '', d)} \
|
||||||
"
|
"
|
||||||
PACKAGECONFIG:class-native = ""
|
PACKAGECONFIG:class-native = ""
|
||||||
PACKAGECONFIG:class-nativesdk = ""
|
PACKAGECONFIG:class-nativesdk = ""
|
||||||
|
|||||||
Reference in New Issue
Block a user