On Wed, 2026-07-22 at 10:14 +0000, Himani Ramesh Barde wrote: > When packages are installed outside of Yocto's normal image creation > (e.g., using multistrap, debootstrap, or dpkg directly on a host), > the postinst script fails to enable systemd services.
Hi, What's the use case for this? I'm not aware of a reason to install packages generated via a Yocto Project build using multistrap/debootstrap or via dpkg on the host. > The issue is that the entire enable logic is gated behind > "if type systemctl >/dev/null 2>/dev/null". In cross-install scenarios: > - If systemctl is absent on the host: the check fails, script is skipped > - If host systemctl is present: it cannot find target unit files This is deliberate. On target, if systemd is in use then systemctl will be available. At do_rootfs time, we depend on systemd-tools-native to provide systemctl, the intention is that we're running the native systemctl binary that we built, not the host's systemctl binary. > Fix this by separating the image-build ($D set) and on-target ($D unset) > code paths into distinct branches. The previous code used a single > OPTS variable to switch between "--root=$D" (image-build) and "" > (on-target) within one unified block. This variable is removed because > the two scenarios now have dedicated branches with different logic: > > - Image-build ($D set): Uses "systemctl --root=$D preset" per service, > which reads preset files from the target rootfs and creates symlinks > without needing the host systemctl to understand the target's unit > files. Falls back to "systemctl --root=$D enable" per service. > > - On-target ($D unset): Same as before - enable, daemon-reload, preset, > restart. No behavioral change for on-target installs. > > The OPTS variable is no longer needed because each branch now directly > uses the appropriate systemctl invocation for its context, making the > intent clearer and the image-build path functional. > > Fixes [YOCTO #14118] > > Signed-off-by: Himani Ramesh Barde <[email protected]> Best regards, -- Paul Barker
signature.asc
Description: This is a digitally signed message part
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#242365): https://lists.openembedded.org/g/openembedded-core/message/242365 Mute This Topic: https://lists.openembedded.org/mt/120391669/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
