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.
3.2701 was replaced by 3.27.01 three weeks ago. Doesn't portage downgrade packages if you --update?
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.
(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.