Summary: | Missing dependencies when installing phpunit-3.4.11 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Matti Bickel (RETIRED) <mabi> |
Component: | Current packages | Assignee: | PHP Bugs <php-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | beandog, notordoktor |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Matti Bickel (RETIRED)
![]() Well, already pointed this out wrt php-pear-r1.eclass on Bug 303033; so - php-pear-lib-r1.eclass needs exact same thing like the former in DEPEND. All ebuilds that inherit php-pear-lib-r1 are now broken after the split (reason of which kinda still avades me). The PEAR-PEAR DEPEND in the ebuild should just go to /dev/null. Can you do a little history lesson for me? I know zip about the WHY of these changes. But here's a little more about the HOW... Here's what i've come up with: (1) Beandog split the PEAR-PEAR package after version 1.6.2 (2) Packages that have a DEPEND on PEAR-PEAR need either dev-php/pear OR dev-php/PEAR-PEAR-1.6* (either should work?) (3) Packages requiring PEAR-PEAR can inherit from the php-pear-lib-r1 eclass, which still DEPENDs upon >=dev-php/PEAR-PEAR-1.6.1 (despite beandogs announcement on bug #303033) So the correct way to solve this would be to replace >=dev-php/PEAR-PEAR-1.6.1 with dev-php/pear in php-pear-lib-r1.eclass' DEPEND? I'm currently looking for ebuilds which are stable and inherit this eclass, b/c that would make MrBones jumpy as dev-php/pear is still ~arch ;) In parallel, i will file a stable request for dev-php/pear, which will block all stable requests of stuff using said eclass. Does this sound sane in the least? I honestly don't have the background in gentoos php to decide if a split PEAR-PEAR is the best option or not. So if anybody could comment on this, it'll be appreciated. Just to add a note: phpunit has ebuilds that are both stable and use php-pear-lib-r1. So a plain dev-php/pear DEPEND doesn't suffice until that has a stable version as well. Maybe i'll do a || (dev-php/pear =dev-php/PEAR-PEAR-1.6*) in the meantime. Hm, after fiddling for half an hour with the eclass and phpunit I'm not at all sure my solution makes sense. What *does* work is setting the DEPEND=">=dev-php/pear-1.8.1" in phpunit-3.4 And that's the only way i've come with that will not break the stable tree and still allow me to install unstable stuff. The PEAR-PEAR DEPEND in php-pear-libs-r1 IMHO is correct, b/c that's the only component used *by the eclass*. So my reasoning was flawed at (3) and packages that need pear to build should say so in their DEPEND. If somebody can come up with a DEPEND string for php-pear-libs-r1.eclass that will satisfy all pear needs of all ebuilds using the eclass, please comment. This seems to have become more of an issue after dev-php/pear became stable. If you don't have PEAR-Console_Getopt all installs requiring the pear eclass breaks. (In reply to comment #2) > Can you do a little history lesson for me? I know zip about the WHY of these > changes. As already said, php-pear-r1.eclass has what you need here (well, sort of, I can imagine cases where it's broken as well but there's no good way w/ portage as it is). Why the split has been done, I have absolutely no idea and there have been lots of good reason to avoid stuff like that (AFAICT the "split" has already been undone once back in Stuart's days). So, once again - you *cannot* fix this in ebuild, you need to fix the *eclass* - and this affects everything that uses php-pear-lib-r1.eclass to install. (In reply to comment #6) > So, once again - you *cannot* fix this in ebuild, you need to fix the *eclass* > - and this affects everything that uses php-pear-lib-r1.eclass to install. > I peeked at the eclass, and it looks okay to me. DEPEND="dev-lang/php || ( ( >=dev-php/PEAR-PEAR-1.6.1 <dev-php/PEAR-PEAR-1.8.1 ) >=dev-php/pear-1.8.1 )" RDEPEND="${DEPEND}" (In reply to comment #7) > (In reply to comment #6) > > So, once again - you *cannot* fix this in ebuild, you need to fix the *eclass* > > - and this affects everything that uses php-pear-lib-r1.eclass to install. > > > > I peeked at the eclass, and it looks okay to me. > > DEPEND="dev-lang/php > || ( ( >=dev-php/PEAR-PEAR-1.6.1 <dev-php/PEAR-PEAR-1.8.1 ) > >=dev-php/pear-1.8.1 )" > RDEPEND="${DEPEND}" > Never mind that. I just discovered the difference between php-pear-lib and php-pear ... The former has this as depends DEPEND="dev-lang/php >=dev-php/PEAR-PEAR-1.6.1" RDEPEND="${DEPEND}" It needs to have the same as php-pear I've just made DEPEND the same in php-pear-1.eclass and php-pear-lib-r1.eclass after a brief discussion with Ole. @Beandog: if that's not okay, please reopen and propose an alternative solution. Thanks for the insight guys. |