From 622c960ea6efb9b38b70e4d8c669a2f90b6b1b60 Mon Sep 17 00:00:00 2001 From: Roy Li Date: Tue, 16 Jun 2015 08:51:51 +0800 Subject: php: fix native php when it is from sstate 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 Signed-off-by: Martin Jansa --- meta-oe/recipes-devtools/php/php_5.5.24.bb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'meta-oe/recipes-devtools') 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 3e656af46c..4d23341a0d 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 +} -- cgit 1.2.3-korg