Re: new systemd in rawhide

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fr, 10.12.21 10:40, Fedora Development ML (devel@xxxxxxxxxxxxxxxxxxxxxxx) wrote:

> On 10/12/2021 08:34, Zbigniew Jędrzejewski-Szmek wrote:
> > We also changed various libraries to be dlopened when actually used,
> > instead of being dynamically linked. The goal is to reduce the
> > required dependencies.
>
> What happens if these libraries are not installed an cannot be
> dl-opened?

We handle that gracefully. i.e. the specific feature is disabled, but
everything else stil works as it should.

here's an example: systemd-cryptenroll allows you to enroll additional
keys into LUKS2 volumes for systemd-cryptsetup to honour. Besides
pkcs11/fido2/tpm2 stuff it also supports "recovery keys", which are
pretty much the same as a regular password, but are computer generated
rather than user chosen, and thus have guaranteed high entropy. Since
users have to read the generated key off screen and write it
down/store it away somewhere, we will normally show you a QR code in
the terminal you can quickly scan it off screen with. This is
implemented via dlopen()ing libqrencode. If you install that lib,
you'll get the QR code + text string displayed. If not, you'll just
get the text string.

And the other cases where we use dlopen() are pretty much the same:
the specific feature is skipped or made unavailable, but the basic
behaviour remains the same. When we really really need something, then
we'll use regular share library deps as always, not dlopen(). We use
dlopen() only for the stuff that isn't a "core" feature,
i.e. essential for the program to do its thing.

It's an excercise in minimizing our footprint (for containers,
embedded devices) , but still providing a rich feature set for those
who want it, without requiring recompilation, and whith automatic
upgrading to the full feature set, simply by dropping in a few more of
the optional deps.

Lennart

--
Lennart Poettering, Berlin
_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux