Re: Build-Depends-If-Available
On Sun, Aug 09, 2020 at 06:28:50PM +0100, Barak A. Pearlmutter wrote:
>...
> "Build-Depends-If-Available: foo" as "Build-Depends: foo | something"
> is a bad idea from the get-go. After all, foo can have three states on
> an architecture: installable, unavailable, or
> available-but-uninstallable-for-some-reason. And we want different
> behaviour in the three cases: build with it, build without it, or
> delay-building-until-installable. And we can't shoehorn those three
> things into the binary logic of "foo | something".
>...
binary-all packages are available on all architectures,
but many are only installable on some architectures.
>...
> Like "Build-Depends: chicken [has-chicken], swig [has-chicken]" to pull in
> swig if you're generating chicken bindings, which makes sense only if
> chicken is on that architecture.
>...
The chicken and chicken-dev binary package were dropped in 2006,
only chicken-bin and libchicken-dev are in unstable.
Build dependencies broken when transitional packages or provides
disappear are easy to find and fix, silent dropping of functionality
can cause nasty problems.
>...
> I think that would be pretty easy to implement
>...
The number of tools parsing build dependencies or doing dependency
resolution is larger than you might expect.
cu
Adrian
Reply to: