Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 421495

Summary: Perl dependency handling is insane
Product: Gentoo Linux Reporter: Ciaran McCreesh <ciaran.mccreesh>
Component: New packagesAssignee: Gentoo Perl team <perl>
Status: RESOLVED NEEDINFO    
Severity: normal CC: hasufell, pms, Sergiy.Borodych
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Ciaran McCreesh 2012-06-16 21:42:27 UTC
The whole || ( huge list of perl versions ) dependency thing is clearly wrong, and not revbumping when you change that list is doubly so. What exactly are you trying to do, and what do you need in the next EAPI to get rid of this disgusting hack?
Comment 1 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2013-12-30 09:31:17 UTC
Ideally, where you presently see large || ( ) groups, something like this would seem more suited:


virtual/perl-Test-Simple-0.98:

|| (
  ( >=dev-lang/perl-5.13.1 <=dev-lang/perl-5.19.3 )
  perl-core/Test-Simple-0.98
)

Because thats communicating exactly the state of upstream.

Test-Simple 0.98 is provided by Perl Itself versions 5.13.1 to 5.19.3

And perl-core/Test-Simple-0.98 is a fallback for cases where your perl is not between those ranges.

However, we don't do it that way for some reason, though the reason is lost to me.

I seem to recall there being issues where it did unexpected things with that notation, though they may be EAPI specific.
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2013-12-30 09:49:03 UTC
Theoretically, something like:

|| (
  ( <=dev-lang/perl-5.19.3 >=dev-lang/perl-5.13.1  )
  perl-core/Test-Simple-0.98
)

would be more compatible. Not that any of the PMs doesn't work with the reversed order nowadays. But for a simple dependency resolution algos, it's better when the left-most atom limits the newest accepted version.
Comment 3 Andreas K. Hüttel archtester gentoo-dev 2014-10-10 17:19:05 UTC
I have no idea to which || list this refers.

But seriously, we're working on simplifying things. Once Perl 5.16 is gone and EAPI=4 is gone eclasses and virtuals will become clearer to read.

Meanwhile, more specific reports please.
Comment 4 Kent Fredric (IRC: kent\n) (RETIRED) gentoo-dev 2015-02-27 17:38:11 UTC
*** Bug 541458 has been marked as a duplicate of this bug. ***