Web lists-archives.com

Re: Bug#886238: Please introduce official nosystemd build profile

On Sun, 07 Jan 2018 at 18:55:28 +0100, Thomas Goirand wrote:
> IMO, [a nosystemd profile] is a relevant bug because of non-Linux
> ports. If it existed, it would probably make sense for those buildd
> to always select the nosystemd profile when building, which would make
> life easier.

We can already build packages differently for the non-Linux ports; that
was true long before build-profiles were implemented. The work required
for a package maintainer to not build systemd code paths on the non-Linux
ports is no greater than the work required for a package maintainer to
not build systemd code paths under a particular build profile. I really
don't see how that helps the non-Linux ports.

(Arguably a header-only stub version of libsystemd containing static
inline functions that always return "no systemd here"[0] is simpler
still, though, and at some point I should try out that approach when
building src:dbus for the non-Linux ports and see how it compares. I'd
also recommend that approach to developers of derivatives that don't have
systemd; that would avoid the need to patch a significant proportion of
libsystemd users.)

However, disabling "systemd stuff" (whatever that means specifically)
seems a poor fit for how build profiles are designed to be used. The
only interpretations I can think of for a nosystemd profile would
make functional changes to the contents of the package on [linux-any]
architectures (namely, removing systemd integration that would normally
be present). This would have to either:

- violate the usual design principle[1] that activating a
  (non-package-specific) build profile produces a functionally equivalent
  package, requiring bootstrapping infrastructure to special-case that


- require intrusive changes (a new foo-nosystemd package alongside foo)
  to every package where that build profile was used[2]

Neither is particularly appealing.


[0] https://anonscm.debian.org/cgit/users/md/libsystemd-dummy.git
[1] https://wiki.debian.org/BuildProfileSpec#Profile_built_binary_packages,
[2] https://lists.debian.org/msgid-search/151500748931.32386.8459340540929450089@localhost