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