Subject: [bug#48924] Add systemd

From: Leo Prikler <[email-masked]>
Date: Thu, 10 Jun 2021 00:33:03 +0200

Hello,

As the one, who encouraged the sending of this patch I do have a few
words to say.  First of all, I misunderstood the context -- rather than
systemd as a whole, I thought it would just be some systemd-related
package.  This does not matter that much, since a fully functioning
systemd package would still be nice to have, but it still is important
to distinguish between plain systemd, which doesn't work on Guix for
various reasons and replacement libraries like elogind, which do.

Next, let's address the elephant in the room:
Am Mittwoch, den 09.06.2021, 20:31 +0000 schrieb Tony O:
> In particular, im using it to relink against a nonfree binary which
> responds badly to tampering, so im using it only as a library. 
A systemd package, which serves no purpose other than being linked
against nonfree binaries does not sound particularly useful, especially
not when thinking in terms of FSDG compliance.  We don't even know
whether *free* software linked against this systemd would behave as
expected, let alone nonfree software.

This was in part already discussed in IRC, but to reiterate, I think
that the systemd package should be usable in some capacity -- be it,
that we can run systemd as user daemons or be it, that we can
*meaningfully* link free software against it.  Note however, that the
latter most likely implies the first, since there's no meaningful
linkage against systemd without one of its daemons running.

> Others (on irc) expressed interest in using the package, and i can
> envision other usecases such as container images.
Interest in a working systemd package has apparently existed longer
than I was aware of, it's just the specifics of the term "working",
that we need to argue about.

> The downside to it being in my repo or being in "another channel" is
> that anyone wanting to use it then risks nonfree software, and that's
> already been lamented when i offered to do this in irc.
I don't think, that's a realistic risk.  For one, people could just
cherry-pick systemd from your tainted channel, but more importantly
you're assuming that the systemd you've packaged works in a context
other than linking it against some evil binary without actually wanting
to use it.  Which is not to say that it doesn't, just that there hasn't
been enough evidence to support that claim yet.

There's nothing wrong with pushing WIP stuff to your own repo or any
other channel that will accept them.  There is however a problem with
leaving them there and not even considering to submit them towards Guix
(assuming that having a package for some given software in Guix proper
is an option, regardless of the current state of the package
definition), because then Guix will be blissfully unaware that a
perhaps even proper package definition for it exists and might thereby
be missing some awesome software.

As far as the patch itself is concerned, there are a few FIXMEs too
many for me to consider it ready -- in particular the double disabling
of tests rubs me the wrong way.  There's also some minor aesthetic
stuff like the "add-shared-lib" phase, which is both not informative
and bound to break with version updates, but I think that should be
manageable.

Going forward, I'd like to ask you (or anyone else willing to package
systemd) to do the following:
1. Can you look into whether systemd or at least parts of it can be run
from the package inside Guix?
2. Can you look into the disabled tests, particularly those, that are
currently just FIXMEs?

Regards,
Leo