ville.skytta(a)iki.fi (Ville Skyttä) writes:
> >>(a) %doc files MUST not introduce new dependencies, or
> > ok, I wrote an 'rpmlint' check for this rule:
> > Example output:
> > | $ rpmlint openvpn-2.0.5-1.fc4.i386.rpm
> > | E: openvpn %doc file
'/usr/share/doc/openvpn-2.0.5/sample-scripts/auth-pam.pl' creates additional
Me too, thanks, and will do. However, if included as is, I'm inclined
to make the message a warning instead of an error and soften the
phrasing a bit because of two things:
The check doesn't do recursive depsolving (nor do I think it should),
ie. it will generate noise about things pulled in by other dependencies.
rpmlint operates on a single package only without having a view about
the available repository.
I could add a configurable whitelist, e.g. always allow /bin/sh,
/usr/bin/env or make it a warning only. But rpmlint creates other
false positives too and because there is not automatic process
behind, this would be a cosmetic effect only.
The other thing is that the check strips versions from dependencies
altogether, while in a perfect world it should evaluate them against
other dependencies in the package and see if it is really a new one
(for example, let's say a Perl script in /usr/bin results in a perl >=
0:500503 dependency, but a %doc file adds a perl >= 1:5.6.1 one -> no
message emitted, but should be).
Obviously, solving this isssue would be a very interesting task. But it
would be also complicated because you have to deal with ranges; e.g. a
%doc file could require 'perl >= 5.6.1 perl < 5.9.0' while rest of the
package requires 'perl >= 5.6.0 perl <= 5.8.5'. This would pull in a dep
of 'perl > 5.8.5 perl < 5.9.0'. I will have to sleep a night over it to
see how this can be implemented...
But these versioned deps are pretty useless with the current rpm epoch
mechanism. The perl autodep generator does not know about existing
epochs and rpm does not allow to require a certain upstream version
(non-existing epoch is always assumed as '0')
Thoughts? Enrico, did you send this upstream already?
Yes, sent it to flepied at mandriva.