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
signature.asc
Description: Digital signature