Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 248178 - Perl File-Spec versioning problem between -3.2701 and -3.29 results in blockage.
Summary: Perl File-Spec versioning problem between -3.2701 and -3.29 results in blockage.
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High minor (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-11-22 13:10 UTC by Sönke N. Greimann
Modified: 2008-11-22 18:58 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sönke N. Greimann 2008-11-22 13:10:15 UTC
I tried to update my system and received a blockage failure by multiple versions of packages being pulled into the tree.

It appears there may be a version logic error due to 3.2701 being recognized as a higher version than 3.29, whereas 3.29 actually should be the latest version.

Reproducible: Always

Steps to Reproduce:
1. keyword all files listed below in /etc/portage/package.keywords
2. try to emerge -uDNpv @system @world
3. view the pretty confusion

Actual Results:  
---begin portage output excerpt---
!!! Multiple versions within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

perl-core/Module-Build:0

  ('ebuild', '/', 'perl-core/Module-Build-0.28.08', 'merge') pulled in by
    ('ebuild', '/', 'perl-core/ExtUtils-CBuilder-0.23', 'merge')

  ('installed', '/', 'perl-core/Module-Build-0.30', 'nomerge') pulled in by
    ('installed', '/', 'perl-core/File-Spec-3.2701', 'nomerge')

perl-core/ExtUtils-CBuilder:0

  ('ebuild', '/', 'perl-core/ExtUtils-CBuilder-0.23', 'merge') pulled in by
    ('installed', '/', 'perl-core/Module-Build-0.30', 'nomerge')

  ('installed', '/', 'perl-core/ExtUtils-CBuilder-0.24', 'nomerge') pulled in by
    ('installed', '/', 'perl-core/File-Spec-3.2701', 'nomerge')
----end portage output excerpt----

Expected Results:  
Packages should pull the relevant versions, or the offending version numbering should be homogenized.

Consistent versioning should render either the earlier version as perl-core/File-Spec-3.27.01 or the newer version as perl-core/File-Spec-3.2900 to avoid such mayhem.

These packages have been previously keyword unmasked in /etc/portage/package.keywords:

~perl-core/ExtUtils-CBuilder-0.24
~perl-core/File-Spec-3.29
~perl-core/Module-Build-0.30
~perl-core/PodParser-1.35
~perl-core/Scalar-List-Utils-1.19
~perl-core/Storable-2.18
~perl-core/Test-Harness-3.14
~perl-core/Test-Simple-0.86

virtual/perl-digest-base
virtual/perl-DB_File
virtual/perl-ExtUtils-CBuilder
virtual/perl-File-Spec
virtual/perl-libnet
virtual/perl-Module-Build
virtual/perl-PodParser
virtual/perl-Scalar-List-Utils
virtual/perl-Storable
virtual/perl-Test-Harness
virtual/perl-Test-Simple
virtual/perl-Time-HiRes

Adding =perl-core/File-Spec-3.2701 and =virtual/perl-File-Spec-3.2701 to /etc/portage/package.mask solves the problem but constitutes only a workaround.

Please note that portage views the transition from 3.2701 to 3.29 as a _down_grade, according to its' versioning logic.
Comment 1 Torsten Veller (RETIRED) gentoo-dev 2008-11-22 17:22:29 UTC
3.2701 was replaced by 3.27.01 three weeks ago.
Doesn't portage downgrade packages if you --update?
Comment 2 Torsten Veller (RETIRED) gentoo-dev 2008-11-22 18:04:50 UTC
Well, we have to mask non-existing versions nowadays *roll-eyes*

=perl-core/File-Spec-3.2701 and =virtual/perl-File-Spec-3.2701 masked.
Reopen if there are any further problems.

Happy downgrading.
Comment 3 Sönke N. Greimann 2008-11-22 18:58:36 UTC
(In reply to comment #1)
> 3.2701 was replaced by 3.27.01 three weeks ago.
> Doesn't portage downgrade packages if you --update?

I synced this morning, as well as immediately before posting the bug and this wasn't caught, but I've no idea why.

Yeah, downgrades are usually announced and performed. My comment was merely to clarify that even a "downgrade" from 3.2701 to 3.29 would actually be an upgrade. :)

Thx for quick response.