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

Attachment: 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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to