Web lists-archives.com

Re: confused about virtual build-depends libcurl-dev




On Thu, 17 Jan 2019 at 21:29:58 +0100, Thomas Koch wrote:
> We're trying to package nix. Its d/control[1] currently says:
> 
> build-depends: libcurl4-gnutls-dev | libcurl4-openssl-dev | libcurl-ssl-dev
> 
> When I build it on my own machines with sbuild, then it gets built with libcurl4-gnutls-dev. On salsa it gets built with libcurl4-nss-dev. How can there be a difference in selection?

If the build environment (chroot? container? VM? whatever it is) already
has a different implementation installed, you'll get that one.

sbuild specifically doesn't respect alternative build dependencies and
only takes the first one, in an attempt to make builds more deterministic.

> Why would I want to leave the selection of the build dependency open?

If you're building in a shared container/chroot/VM/thing that has some
packages installed already, you might not be able to make a free choice
of what to install: if you have a package that can use any flavour of
libcurl, and a different package that specifically needs the OpenSSL
flavour, and they need to build in the same container/chroot/VM/thing,
then you'll have to use the OpenSSL flavour for both (because they
aren't co-installable).

> - The virtual-package-names-list.txt does not contain "libcurl".

Presumably the users of libcurl are either "a cooperating group of
packages" (Policy §3.6), or non-Policy-compliant.

    smcv