:: Re: [DNG] Why Debian 8 Pinning is (…
Top Page
Delete this message
Reply to this message
Author: Rainer Weikusat
Date:  
To: dng
Subject: Re: [DNG] Why Debian 8 Pinning is (or isn't) pointless
Rick Moen <rick@???> writes:
> Quoting Rainer Weikusat (rweikusat@???):
>
>> The purpose of libsystemd0 is to enable packages whose code has been
>> 'enhanced' with spurious systemd depedencies to work on systemd-less
>> systems. That's absolutely not harmless.
>
> Your implied concept of 'purpose' is IMO a bit problematically abstract
> and teleological for my taste. What I find more connected to the real
> world, clearer in reference to my experience, is the concept of
> _function_, i.e., what things do.


That's neither 'abstract' nor 'teleological' as you yourself nicely
demonstrated by immediately coming up with an equivalent but different
term after reinterpreting my statement in a way it clearly wasn't meant
to be understood by exploiting ambiguities inherent in natural language.

The purpose of a door handle is to enable people to open doors. That's
technical and not 'teleological'.

> As has been abundantly documented, without systemd itself present,
> /lib/[$ARCH]/libsystemd.so.0 does basically nothing at all, as it cannot
> do anything.


Likewise, the base purpose (or function) of a shared library is to
enable the runtime linker to resolve certain symbols so that a program
requiring them can be started. Take sd_notify as an example. That's

,----
| int sd_notify(int unset_environment, const char *state);
|
| sd_notify() may be called by a service to notify the service manager
| about state changes.

`----
https://www.freedesktop.org/software/systemd/man/sd_notify.html

Calls to sd_notify are not useful to anyone except people using 'service
managers' implementing the complementary functionality, IOW, to anyone
not using systemd. libsystemd enables them to be inserted into
applications without openly compromising support for systems without
systemd as it provides the required symbols.

Regarding systemd as a documented API, libsystemd is nothing but an
alternate implementation of it and an alternate implementation created
and maintained by the exact same people.