Summary: | phpmyadmin-2.8.0.3 with php built with USE="-session -mysql" dies twice | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Petteri Räty (RETIRED) <betelgeuse> |
Component: | [OLD] Server | Assignee: | Gentoo Web Application Packages Maintainers <web-apps> |
Status: | RESOLVED FIXED | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Petteri Räty (RETIRED)
![]() Well, so what you are requesting here? eutils.eclass can't do both built_with_use -o and -a checks at the same time and die just once either, so can't depend.php eclass. We've already reinvented the built_with_use wheel in phpconfutils.eclass and implemented a nasty hack for those who complained that "php breaks non-interactivity". Bug 2272 is the way to go, enough of hacks... Also, how many ebuilds in the whole tree are affected by this "problem"? While at it, please add unicode to the use flags check, it's needed for mbstring which is sort of required by phpmyadmin. <snip> The mbstring PHP extension was not found and you seem to be using multibyte charset. Without mbstring extension phpMyAdmin is unable to split strings correctly and it may result in unexpected results. </snip> (In reply to comment #1) > Well, so what you are requesting here? Just to adjust the die messages or checks so that I will be informed about all the needs already with the first die and as such don't have to rebuild php twice. pkg_setup() { webapp_pkg_setup require_php_with_use pcre session unicode require_php_with_any_use mysql mysqli } Would be actually the way to go, as built_with_use is no more guaranteed to return always correct results with dev-lang/php. But the problem of the double die would reimain... I'll work on this today and comment here as soon as I commit the updated eclasses, basically I'll change the require_php_with_* functions to check for a DONTDIE var, if it's set, the checks instead of dieing and outputting their message, will simply return false, so you can use them in if/else checks and output your custom error message, that can tell the user what to do, even if the checks are two (needed USE and "any" USE in this case). Best regards, CHTEKK. pkg_setup() { webapp_pkg_setup if PHPCHECKNODIE="yes" require_php_with_use pcre session unicode \ || PHPCHECKNODIE="yes" require_php_with_any_use mysql mysqli ; then eerror eerror "${PHP_PKG} needs to be re-installed with all of the following" eerror "USE flags enabled:" eerror eerror "pcre session unicode" eerror eerror "as well as any of the following USE flags enabled:" eerror eerror "mysql or mysqli if using dev-lang/php-5" eerror "mysql if using dev-lang/php-4" eerror die "Re-install ${PHP_PKG}" fi } This should do it, the PHPCHECKNODIE var set to "yes" (or anything else than NULL) lets the checks not die, but simply return true or false, that way they can be used in the if/else checks, and the custom error message outputted (updated accordingly). Best regards, CHTEKK. Fixed in 2.8.0.4, thanks |