[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#345619: debian-policy: 4.8. binary-{arch, indep} should fail with error code 2 -> must

Package: debian-policy
Severity: wishlist

Debian policy 4.8. states:
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.

I'm proposing that this would be changed to "must produce".
debian/rules binary-* has the bits requiring root privileges and
build-* has the steps that can be done without.  As such, debian/rules
build-* is often called explicitly before $rootcommand debian/rules

But, since it's not a requirement for debian/rules build-{arch,indep}
to return an error when the targets are missing, tools such as
dpkg-buildpackage have no choice but to always call debian-rules build
even when building arch dependent packages.

If it was required that the missing rules returned an exit status,
dpkg-buildpackage could try debian/rules build-arch first and then
debian/rules build if that failed.

An alternative would be to require that build-{arch,indep} are always
present and both depending on build target, just like already done
with binary-* targets.  But that would require larger changes.

As they are now, build-{arch,indep} targets are less useful than what
they could be.

-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.14
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

-- no debconf information

Reply to: