Bug 164716 - perl-Tk requires versioned perl(Tk) but doesn't provide it
Summary: perl-Tk requires versioned perl(Tk) but doesn't provide it
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: perl-Tk
Version: 4
Hardware: All
OS: Linux
medium
low
Target Milestone: ---
Assignee: Andreas Bierfert
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2005-07-30 23:40 UTC by Steven Pritchard
Modified: 2007-11-30 22:11 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2005-07-31 01:19:35 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Steven Pritchard 2005-07-30 23:40:06 UTC
Description of problem:

I was looking through the output of "package-cleanup --problems" (from
yum-utils) and I noticed the following:

  Package perl-Tk requires perl(Tk) >= 800.005
  Package perl-Tk requires perl(Tk) >= 800.015
  Package perl-Tk requires perl(Tk) >= 804.000

Sure enough, there are versioned perl(Tk) dependencies, but the package doesn't
provide a versioned perl(Tk).

  $ rpm -q --requires perl-Tk | grep 'perl(Tk)'
  perl(Tk)
  perl(Tk) >= 800.005
  perl(Tk) >= 800.015
  perl(Tk) >= 804.000
  $ rpm -q --provides perl-Tk | grep 'perl(Tk)'
  perl(Tk)

It looks like the simple fix would be to add "Provides: perl(Tk) = %{version}"
to the spec.

Version-Release number of selected component (if applicable):

perl-Tk-804.027-6.fc4

Comment 1 Andreas Bierfert 2005-07-31 01:19:35 UTC
Makes sense... 

done

Comment 2 Ville Skyttä 2005-07-31 09:37:17 UTC
I believe there are more than a few affected packages out there (I'm not 100% 
sure if it's a problem or not), but it would be more productive to track down 
why rpmbuild's perl autoprov stuff doesn't grok the versioned one and see if 
it's fixable there instead of modifying all affected packages. 

Comment 3 Andreas Bierfert 2005-07-31 10:03:55 UTC
I was wondering why this was not done via autoprov in the first place. I will
let it sit in there for now and we will see if it gets fixed in autoprov.

Comment 4 Steven Pritchard 2005-08-01 18:19:48 UTC
perl.prov says the following in the comments at the top:

# If there are lines in the file which match the pattern
#      (m/^\s*\$VERSION\s*=\s+/)
# then these are taken to be the version numbers of the modules.
# Special care is taken with a few known idioms for specifying version
# numbers of files under rcs/cvs control.

And, sure enough, the pattern match is for '\$VERSION'.  Tk.pm contains the
following though:

$Tk::VERSION     = '804.027';

So the pattern match doesn't pick it up...

Comment 5 Ville Skyttä 2005-08-02 09:34:24 UTC
Once upon a time, I patched perl.req/perl.prov to accommodate stuff like this, 
see bug 61797 comment 2.  If you want to start patching the Perl autodep 
stuff, that might save some time. 


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