Bug 204800 - perl.prov script misparses some version information
Summary: perl.prov script misparses some version information
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: 8
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Panu Matilainen
QA Contact:
URL:
Whiteboard: bzcl34nup
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-08-31 17:06 UTC by Nigel Metheringham
Modified: 2009-01-09 17:14 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-01-09 06:58:43 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Newer perldeps.pl (32.13 KB, text/plain)
2006-09-01 19:39 UTC, Michael Jennings (KainX)
no flags Details

Description Nigel Metheringham 2006-08-31 17:06:02 UTC
Description of problem:

When producing perl module provides info using perl.prov, the version number of
the perl module can be misparsed.

This happens if there are multiple packages in a single file, and *some* of them
are hidden from the CPAN indexer in the standard way of putting a line break in
the package line.  The version number for the visible packages is the last
version number seen - ie

  package ACME::Something
  $VERSION = "0.12";

  ...
  # hidden package
  package
    ACME::Else;
  $VERSION = "0.01";

perl.prov will output
  perl(ACME::Something) = 0.01



Version-Release number of selected component (if applicable):
  rpm-build-4.4.2-15.2

Suggested resolutions:
  - either add this code around line 136 (after the if clause):-
     else {
       if (/^\s*package\s*$/) {
          undef $package;
       }
     }

     this stops hidden packages having this effect.

   - or add a undef $package after the $require{$package}=$version;

   - or make a much better parser - which probably needs a major
     rewrite using the ScanDeps modules - but thats really hard to make
     work.

Comment 1 Michael Jennings (KainX) 2006-09-01 02:16:36 UTC
> or make a much better parser

You mean like perldeps.pl?

Where's that ALREADYFIXEDPLEASEPAYATTENTION flag...


Comment 2 Nigel Metheringham 2006-09-01 06:24:20 UTC
perldeps.pl is not a significantly better parser - its still trying to parse
this information out by really basic parsing of the file, rather than handling
it in a more sensible fashion by (for example) using perl to introspect the
module and determine the classes/modules and version numbers.

However perldeps.pl *does* not suffer from this bug - it does not produce *any*
version data for provides, so is frankly not even worth considering at present.

Comment 3 Michael Jennings (KainX) 2006-09-01 19:39:51 UTC
Created attachment 135408 [details]
Newer perldeps.pl

Newer (better?) perldeps.pl implementation.

Comment 4 Michael Jennings (KainX) 2006-09-01 19:41:18 UTC
(In reply to comment #2)
> perldeps.pl is not a significantly better parser

Then you're looking at the wrong one.  See attached.


Comment 5 Nigel Metheringham 2006-09-02 17:57:10 UTC
That perldeps.pl is a *lot* better.  I've a few things with it I'll raise with
you outside of this bug report.

Is there an intention to:-
  1. Include a newer perldeps.pl ?
  2. Switch to using it at build time?

Comment 6 Jeff Johnson 2006-09-02 19:07:01 UTC
1. Yes.
2. Yes.

And the question you did not ask
3. Is there any plan to use at install, rather than build, time?
is "Yes" as well.

<rpm-perl.duke.edu> is probably the best forum for further discussion.

Comment 7 Red Hat Bugzilla 2007-08-21 05:25:22 UTC
User pnasrat's account has been closed

Comment 8 Panu Matilainen 2007-08-22 06:34:06 UTC
Reassigning to owner after bugzilla made a mess, sorry about the noise...

Comment 9 Bug Zapper 2008-04-04 03:37:40 UTC
Fedora apologizes that these issues have not been resolved yet. We're
sorry it's taken so long for your bug to be properly triaged and acted
on. We appreciate the time you took to report this issue and want to
make sure no important bugs slip through the cracks.

If you're currently running a version of Fedora Core between 1 and 6,
please note that Fedora no longer maintains these releases. We strongly
encourage you to upgrade to a current Fedora release. In order to
refocus our efforts as a project we are flagging all of the open bugs
for releases which are no longer maintained and closing them.
http://fedoraproject.org/wiki/LifeCycle/EOL

If this bug is still open against Fedora Core 1 through 6, thirty days
from now, it will be closed 'WONTFIX'. If you can reporduce this bug in
the latest Fedora version, please change to the respective version. If
you are unable to do this, please add a comment to this bug requesting
the change.

Thanks for your help, and we apologize again that we haven't handled
these issues to this point.

The process we are following is outlined here:
http://fedoraproject.org/wiki/BugZappers/F9CleanUp

We will be following the process here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping to ensure this
doesn't happen again.

And if you'd like to join the bug triage team to help make things
better, check out http://fedoraproject.org/wiki/BugZappers

Comment 10 Nigel Metheringham 2008-04-08 16:11:30 UTC
As of Fedora 8 with all current updates....
  - perl.prov has been deprecated in favour of perldeps.pl
  - The shipped perldeps.pl is old and crufty and will still
    show up this sort of problem, ie it has not been replaced
    with the attachment referred to in comment #1 and #3

Reassigned version to F8.  Punting back to ASSIGNED state.

Comment 11 Bug Zapper 2008-11-26 07:01:26 UTC
This message is a reminder that Fedora 8 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 8.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '8'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 8's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 8 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 12 Bug Zapper 2009-01-09 06:58:43 UTC
Fedora 8 changed to end-of-life (EOL) status on 2009-01-07. Fedora 8 is 
no longer maintained, which means that it will not receive any further 
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of 
Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 13 Nigel Metheringham 2009-01-09 17:14:24 UTC
Looked at current F10 release.

The perldeps.pl prog is now a much later version and should resolve the
major issues.


Note You need to log in before you can comment on or make changes to this bug.