On Mon, 13 Jul 2009, Gerfried Fuchs wrote:

> > 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. :)
> 
Clearly it is wrong wrt intent, but in terms of communicating that
intent, it is not as clear as it could be. 'implemented' is only mentioned
once in http://www.debian.org/doc/debian-policy/ch-source.html in the
optional 'patch' section.

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

I did not say this should be fixed to make an older lintian happy. I
merely said that an older lintian complained, and then policy was
consulted. lintian is a tool to help discover policy non-compliance,
not policy itself. Policy was IMO ambiguous on the point, hence the
report.

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

I agree that my suggestion is not as unambiguous as it could be. This
was only one possible rewording. Perhaps using 'implemented' for the
required targets would be sufficiently clear. Perhaps:

"At a minimum, required targets must be implemented by debian/rules and
are the ones called by dpkg-buildpackage, namely, clean, binary,
binary-arch, binary-indep, and build."

Jamie

-- 
Jamie Strandboge             | http://www.ubuntu.com

Attachment: signature.asc
Description: Digital signature

Reply via email to