Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 346505 - dev-php5/eaccelerator-0.9.6.1-r1 too strict on PHP versions
Summary: dev-php5/eaccelerator-0.9.6.1-r1 too strict on PHP versions
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-23 08:59 UTC by Jesse Adelman
Modified: 2010-11-23 20:19 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 Jesse Adelman 2010-11-23 08:59:49 UTC
dell-gx620 portage # emerge -puDNv --with-bdeps y system world

These are the packages that would be merged, in order:

Calculating dependencies... done!

!!! All ebuilds that could satisfy "dev-lang/php:5.2" have been masked.
!!! One of the following masked packages is required to complete your request:
- dev-lang/php-5.2.14-r2 (masked by: ~x86 keyword)

(dependency required by "dev-php5/eaccelerator-0.9.6.1-r1" [ebuild])
(dependency required by "world" [argument])

For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.

#

I have PHP 5.3 branch installed. According to the eAccelerator web page, this version of eAccelerator is compatible with PHP versions 5.1, 5.2 and 5.3. Looking at the ebuild, it appears that it is restricting this to PHP 5.1, which is no longer in the tree:

RDEPEND="${DEPEND}
        >=dev-lang/php-5.1[zlib,session?]
        virtual/httpd-php
"

Am I reading that correctly? Since 5.1 isn't in the tree, I'm guessing that this may be why it is trying to install the lowest available PHP version. Thanks.
Comment 1 Ole Markus With (RETIRED) gentoo-dev 2010-11-23 10:17:12 UTC
I am guessing you did not set PHP_TARGETS. See http://www.gentoo.org/proj/en/php/php-guide.xml

Cheers!
Comment 2 Jesse Adelman 2010-11-23 19:45:35 UTC
Wow. When did this happen? I have to reinstall PHP and friends for all my servers just to get this slotting, which I'll never use, working?
Comment 3 Ole Markus With (RETIRED) gentoo-dev 2010-11-23 19:53:00 UTC
(In reply to comment #2)
> Wow. When did this happen? I have to reinstall PHP and friends for all my
> servers just to get this slotting, which I'll never use, working?
> 

The slotting is not only for running multiple versions of PHP concurrently, but also for easier dependency handling of extensions (no more dev-php{4,5,6}). Other languages like ruby and python is migrating towards the same model.
Comment 4 Jesse Adelman 2010-11-23 20:12:45 UTC
But what if I haven't cared about slotting for PHP for years? I haven't had php4 for a very long time. It would have been better to solve this within Portage, not force users to rebuild to make up for past mistakes. Was this unavoidable?

Oh, and eselect-php is masked ~x86. Sweet. Not so good for x86-stable users.
Comment 5 Ole Markus With (RETIRED) gentoo-dev 2010-11-23 20:19:10 UTC
(In reply to comment #4)
> But what if I haven't cared about slotting for PHP for years? I haven't had
> php4 for a very long time. It would have been better to solve this within
> Portage, not force users to rebuild to make up for past mistakes. Was this
> unavoidable?

Most people care about this because ABI breaks happen in minor versions, not major versions. So when you upgrade from 5.2 to 5.3 you have to recompile a lot of package that you do not even know what are (most have pecl-prefix, but many do not). This is a way of keeping track of that. This a way of letting portage taking care of those ABI dependencies.

> 
> Oh, and eselect-php is masked ~x86. Sweet. Not so good for x86-stable users.
> 

PHP_TARGETS-enabled ebuilds is in ~arch, so you are mixing ~arch and stable, which is not supported.