Bug#536790: debian-policy: please clarify 'required target' in section 4.9
Jamie Strandboge <jamie@ubuntu.com> writes:
> Section 4.9 of http://www.debian.org/doc/debian-policy/ch-source.html
> states that there a number of required targets for debian/rules.
> Specifically:
>
> "This file must be an executable makefile, and contains the
> package-specific recipes for compiling the package and building binary
> package(s) from the source.
> ....
> At a minimum, required targets are the ones called by dpkg-buildpackage,
> namely, clean, binary, binary-arch, binary-indep, and build."
>
> If the policy is to be read very strictly, then all of the required
> targets must be present in debian/rules, however, this is either
> against the spirit of certain helper programs (eg CDBS and debhelper
> 7), or breaks the functionality of the helper (eg, using a .PHONY line
> will cause debhelper 7 to skip the target entirely).
Supplying a wildcard rule that matches those target names is a way of
providing those targets. This is one of those things that seems to
obvious to me to write down, but certainly if people have been confused,
that's a good reason to write it down.
> Adding something like the following would greatly reduce the ambiguity
> of section 4.9:
>
> "A required target is one that is either explicitly listed in
> debian/rules or supplied by a helper program."
This would be incorrect -- the targets have to be supplied by
debian/rules. They can, however, be implemented via wildcard rules.
--
Russ Allbery (rra@debian.org) <http://www.eyrie.org/~eagle/>
Reply to: