Re: Bug#886238: Please introduce official nosystemd build profile
- Date: Fri, 5 Jan 2018 01:49:35 +0000
- From: Simon McVittie <smcv@xxxxxxxxxx>
- Subject: Re: Bug#886238: Please introduce official nosystemd build profile
On Fri, 05 Jan 2018 at 02:03:56 +0100, Svante Signell wrote:
> On Fri, 2018-01-05 at 00:41 +0000, Simon McVittie wrote:
> > On Thu, 04 Jan 2018 at 23:01:07 +0100, Svante Signell wrote:
> > > What about creating a linux-nosystemd architecture, e.g.
> > > dbus-1.12.2/debian/control
> > > Build-Depends:
> > > libsystemd-dev [linux-any !linux-nosystemd]
> > > etc.
> OK, I read you. But you omitted the words about !linux architectures, why?
Again, libsystemd parallels libselinux and libapparmor. Software that
is portable to non-Linux kernels has to support being built without
those libraries because on non-Linux kernels they simply don't exist.
That isn't a particularly compelling reason to not link them (or introduce
new complexity to make it optional to link them) when building
Linux binaries for a general-purpose distribution like Debian.
In some ways it would be conceptually cleaner to
hard-depend on an implementation of the libsystemd
API at compile-time, substituting something like
https://anonscm.debian.org/cgit/users/md/libsystemd-dummy.git on the
non-Linux kernels; but I recognise that taking that approach doesn't
scale particularly well, and I don't think it's really sensible to
create a similar stub for every optional library that is less portable
than the software that uses it.
Devuan could probably benefit from reducing its maintenance effort by
having libsystemd-dummy provide libsystemd-dev even on Linux kernels,
so that fewer packages need sourceful changes.