[Bug 924938] wrong provides in latest build
bugzilla at redhat.com
bugzilla at redhat.com
Mon Mar 25 10:17:18 UTC 2013
Product: Fedora
https://bugzilla.redhat.com/show_bug.cgi?id=924938
--- Comment #26 from Ralf Corsepius <rc040203 at freenet.de> ---
(In reply to comment #24)
> It's still the same problem. File output is unreliable and I think it should
> not be used for use-cases where you really want to be sure.
Agreed. Rpm's file-type detection needs to be a multi-staged, heuristical
process with (IMO) file being the last resort, in cases all else fail.
> What I could do is to increase the strength of "shebang" patterns, so it
> would detect "/usr/bin/automake" as "Perl script" again.
IMO, this would be a step into the correct direction.
> The question is,
> what is the difference between Perl Module and Perl Script except the
> possible extension?
The file name extension is the #1 distinction criterion. Additional ones are
the shebang and yet another one is "executable-permissions".
However, there is a difference between the general case of guessing on a file's
type and on processing a specific file in context of rpm and perl-modules (c.f.
the next sentence)
> Can Perl file with shebang contain Perl Module?
rpm-relevant perl-modules *must* be on the search-path provided through
"@INC" (cf. perl -V) and *must* be named '*.pm' (cf. man perlmod).
Though, I am not aware about perl prohibiting them to carry shebangs or these
file to carry executable permission, they usually don't have either.
Files named *.pl (such as the perl5db.pl case, here), however never are modules
and therefore should never provide rpm perl()-provides.
In other words, I think Matthias filter proposal could be extended to exclude
all files on the "@INC" path not named '*.pm' from generating
"perl()'-provides, rsp. to let rpm only generate "perl()-provs" for files
matching "*.pm" and being under "@INC".
[There is a corner case: While *.pls normally do not provide perl-modules, they
may contain self-provided perl-modules]
--
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=xhZz6BkZbn&a=cc_unsubscribe
More information about the perl-devel
mailing list