mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-04-20 11:38:34 +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}"
|
||||
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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user