mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-07-16 16:27:27 +00:00
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 <rongqing.li@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
@@ -245,3 +245,21 @@ MODPHP_OLDPACKAGE = "${@bb.utils.contains('PACKAGECONFIG', 'apache2', 'modphp',
|
|||||||
RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
|
RPROVIDES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
|
||||||
RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
|
RREPLACES_${PN}-modphp = "${MODPHP_OLDPACKAGE}"
|
||||||
RCONFLICTS_${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
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user