Bug#604397: debian-policy: require build-arch and build-indep targets
* Jonathan Nieder <firstname.lastname@example.org> [110302 04:03]:
> I just noticed this gem in policy §4.9:
> If one or both of the targets build-arch and build-indep are
> not provided, then invoking debian/rules with one of the
> not-provided targets as arguments should produce a exit status
> code of 2. Usually this is provided automatically by make if
> the target is missing.
That was one of the many tries to get somewherewhere without making
non-caring packages buggy. Those attempts have cost us more than 10 years
with no result at all.
> That doesn't seem so compelling to me; in the failure case, the
> autobuilder would just try to pick up where it left off and fail
> again, which doesn't sound so expensive. What am I missing?
If build is simply a call to a well-behaved make-file, you are right.
Sadly well-behaved upstream build systems are not the norm, and the
more expensive a package get, the bigger it usually is and thus the
more likely something fails in this regard.
In some cases that might even be the fault of debian/rules: one
usually has to do some preparations before calling make. If those
are properly guarded by dependencies on some files (and nothing
making those rules phony, as commonly misused patch rules often do),
this problem can be worked around. But that does not help if upstream's
build system does not behave well.
Bernhard R. Link