Re: [OE-core] [PATCH 1/2] systemd: Allow native build

Alexander Kanavin
2023-03-30T14:42:12Z

On Thu, 30 Mar 2023 at 16:31, Böszörményi Zoltán <zboszor@gmail.com> wrote:
> The mariadb change to use CROSSCOMPILING_EMULATOR
> instead of building mariadb-native was reverted because
> qemu is not ominpotent. The same applies to meson
> running executables via qemu. No custom wrapper would help.

Mariadb's problem was that (for a specific target) it somehow included
CPU instructions that qemu usermode doesn't support, and no one looked
into what those instructions were and why they were produced in the
first place, preferring to revert the whole thing. There are lots of
counter-examples in core where qemu usermode works fine, and has been
working that way for many years, for example gobject introspection, or
all of the scripts in ../scripts/postinst-intercepts/ which run every
time you bake an image, including update_udev_hwdb by the way that
runs target udevadm. I am not maintaining oe-devel, and I do not keep
an eye on things like that, otherwise I would've asked for further
investigation into what crashes and why.

I do not want to add complex native dependency chains when usermode
would work. It's me who's going to fix them when they break, not you.

> You seem to have omitted reading a large part in the
> commit message for the systemd change.
>
> > TODO? The new natively built systemctl binary may replace
> > the script in systemd-systemctl-native, as it supports
> > more options and works better than the script. For example,
> > the current script does not create the symlinks in
> > /etc/systemd/system for WantedBy= and RequiredBy= settings
> > and does not support systemctl set-default some.target.

This is a separate concern, and needs to be proposed as such.

Alex