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