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

Bug#536790: debian-policy: please clarify 'required target' in section 4.9



* Jamie Strandboge <jamie@ubuntu.com> [2009-07-13 16:39:43 CEST]:
> 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,

 That's wrong reading, it doesn't claim so. It has to contain the
recipes - but it doesn't claim that they have to be in there directly.
If you do a s/present/implemented/ you might be able to follow. :)

> For someone new to CDBS, debhleper 7, or any other existing or future
> package helper, the reader of policy must either ignore the violations
> from this strict reading or relax the interpretation of policy in such
> a way to infer that helper programs provide these targets even though
> they are not explicitly listed. This is ambiguous.

 This are the required targets that debian/rules has to implement and to
be working.

> A specific example occurred recently when reviewing a package with a
> debian/rules file similar to /usr/share/doc/debhelper/examples/rules.tiny
> and running an older lintian on it. Lintian complained about the
                 ^^^^^
> targets, so policy was consulted, and a strict reading shows that the
> rules file was in violation of policy. A discussion ensued and quite a
> bit of developer time was lost.

 Well, older lintian version surely also complain about other things
that are in full compliance with both current practices and policy.
That's why it switched to use "debian/rules -n $target" for tests these
days. Using an older and buggy version of lintian is quite an
interesting argumentation line if you ask me. lintian never claimed to
be perfect nor is this one of its target aims.

> 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."

 Why does it have to be a "helper" program and not be allowed to be any
other means? This is just as ambigious as you claim it to be currently.

 Just my thoughts,
Rhonda



Reply to: