From: Roy Li <[email protected]> the native php is used to install the target pear, and native php has hard-code path, so make wrapper to override the hard-code path
the configuration format of pear.conf for native php is like: "type:path length:path", path will be replaced when populate sysroot setscene, but the path length is not changed, and make php unable to work, add a task to SSTATEPOSTINSTFUNCS to fix the path length Signed-off-by: Roy Li <[email protected]> --- meta-oe/recipes-devtools/php/php_5.5.24.bb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/meta-oe/recipes-devtools/php/php_5.5.24.bb b/meta-oe/recipes-devtools/php/php_5.5.24.bb index 3e656af..52c0227 100644 --- a/meta-oe/recipes-devtools/php/php_5.5.24.bb +++ b/meta-oe/recipes-devtools/php/php_5.5.24.bb @@ -245,3 +245,21 @@ MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp', RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}" RCONFLICTS_${PN}-modphp = "${MODPHP_OLDPACKAGE}" + +do_install_append_class-native() { + create_wrapper ${D}${bindir}/php \ + PHP_PEAR_SYSCONF_DIR=${sysconfdir}/ +} + +SSTATEPOSTINSTFUNCS_append_class-native = " php_sstate_postinst " + +php_sstate_postinst() { + if [ "${BB_CURRENTTASK}" = "populate_sysroot_setscene" ] + then + head -n1 ${sysconfdir}/pear.conf > ${sysconfdir}/pear.tmp.conf + for p in `tail -n1 ${sysconfdir}/pear.conf | sed -s 's/;/ /g'`; do + echo $p | awk -F: 'BEGIN {OFS = ":"; ORS = ";"}{if(NF==3){print $1, length($3)-2*match($3, /^"/), $3} else {print $0}}'; + done >> ${sysconfdir}/pear.tmp.conf + mv -f ${sysconfdir}/pear.tmp.conf ${sysconfdir}/pear.conf + fi +} -- 1.9.1 -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
