[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