Commit Graph

38 Commits

Author SHA1 Message Date
Anuj Mittal
42a1737960 php: enable opcache by default
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-04-08 17:00:06 -07:00
Anuj Mittal
0d052a48c9 php: add opcache extension to PACKAGECONFIG
OPcache improves PHP performance by storing precompiled script bytecode
in shared memory, thereby removing the need for PHP to load and parse
scripts on each request [1].

Add an option to enable opcache in php. AC_CHECK_FUNC isn't suitable for a
cross-compile environment, so pass the configure options instead to force
dlopen detection that is necessary to have extension support enabled.

On a standard phpbench test, I see a performance improvement of > 40%.

[1] http://php.net/manual/en/book.opcache.php

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-04-08 17:00:06 -07:00
Anuj Mittal
1816eb7779 php5: upgrade to 5.6.35
For changes, see:
http://php.net/ChangeLog-5.php#5.6.35

Split patches between php5 and php7 to ensure there are no
fuzz warnings for both the versions.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-04-08 17:00:06 -07:00
Anuj Mittal
2768c1deb3 php7: upgrade to 7.2.4
* For changes, see:
http://www.php.net/ChangeLog-7.php#7.2.4

* Remove patches as they've been upstreamed:
- 0001-Specify-tag-with-libtool.patch
- CVE-2017-16642.patch
- CVE-2018-5711.patch

* mcrypt module has been deprecated and as such dependency has been moved
from php.inc to php5 recipe.

* Refresh patches to avoid fuzz warnings.

* New patches to:
- Make sure libxml is detected using pkg-config instead of binconfig.
- Fix link time warnings (backport, see patch for details)

* Move the following patches to php5 from inc as they were getting applied
out of context:
- acinclude-xml2-config.patch
- 0001-acinclude-use-pkgconfig-for-libxml2-config.patch

License-Update: License is same, just a change in copyright year to 2018.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-04-08 17:00:06 -07:00
Martin Jansa
99aa19ff53 recipes: use oe.utils.conditional instead of deprecated base_conditional
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2018-02-01 13:48:27 +00:00
Joe Slater
1c15f75b34 php-native: eliminate SSTATEPOSTINSTFUNCS use
The use of SSTATEPOSTINSTFUNCS has been deprecated and is not
needed for php-native.  The current function always fails, forcing
a re-build of php-native.

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
2018-01-16 21:41:26 -08:00
Derek Straka
0707846a98 php: add libgcc to the runtime depends
Avoids issues with 'libgcc_s.so.1 must be installed for pthread_cancel to work'

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-09-22 22:50:47 +00:00
dengke.du@windriver.com
6cd249225e php: fix install error for libphp*.so
Changed in V4:
	Add the tag: meta-oe

1. Different version php have different libphp*.so, so we need to install its
   corresponding libphp*.so, for example:

    php-7.1.0  libphp7.so
    php-5.6.26 libphp5.so

2. Fix php-5.6.26 compiling errors:

    ld: TSRM/.libs/TSRM.o: undefined reference to symbol
    'pthread_sigmask@@GLIBC_2.2.5'
    error adding symbols: DSO missing from command line

3. Create a configure script like 70_mod_php5, we name it 70_mod_php7, this
   file connect the php7 and the apache2, so they work together to let the
   LAMP works correctly.

Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-05-23 15:49:36 +02:00
dengke.du@windriver.com
b5bb611637 php: fix install failure
After switch to RSS(recipe specific sysroot), the php package failed when
installing.

This is because the build system can't find the file: pear.conf, that file
stay in "${D}/${STAGING_DIR_NATIVE}" directory before the switch, now stay
in "${RECIPE_SYSROOT_NATIVE}" directory, so we need to place it in correct
place.

Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-03-31 13:26:03 +02:00
Peter Kjellerstedt
0c31f55bcf Make use of the new bb.utils.filter() function
Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-03-07 13:30:26 +01:00
Huang Qiyu
c1ad61096e php: Add 7.1.0
1)Add php_7.1.0.bb
2)Delete php_5.5.38.bb,since it is replaced by php_5.6.26.bb.
3)Move pthread-check-threads-m4.patch out of 7.1.0, since it is integrated upstream.

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2017-01-10 13:12:54 +01:00
Jackie Huang
a37ad37a61 php: control ipv6 support based on DISTRO_FEATURES
Add PACKAGECONFIG for ipv6 and control it based
on DISTRO_FEATURES.

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-09-05 13:30:49 +02:00
Robert P. J. Day
107689a133 meta-oe: Standardize use of "_append" versus use of "+="
Remove superfluous "+=", then manually add necessary leading space.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-08-22 15:49:29 +02:00
Robert Yang
46248dca3c php: fix aclocal-copy aclocal-copy
Fixed do_install error:
| DEBUG: Executing shell function do_install
| cat: aclocal-copy/libtool.m4: No such file or directory
| cat: aclocal-copy/lt~obsolete.m4: No such file or directory
| cat: aclocal-copy/ltoptions.m4: No such file or directory
| cat: aclocal-copy/ltsugar.m4: No such file or directory
| cat: aclocal-copy/ltversion.m4: No such file or directory

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-08-22 15:49:23 +02:00
Armin Kuster
9d18babf72 php: update to 5.6.18 and 6.6.32
Moved LIC_FILES_CHKSUM from .inc to .bb

5.6.18 changed do to yr update.

Includes: CVE-2016-2554

and

PCRE:
    Upgraded bundled PCRE library to 8.38. (CVE-2015-8383, CVE-2015-8386, CVE-2015-8387, CVE-2015-8389, CVE-2015-8390, CVE-2015-8391, CVE-2015-8393, CVE-2015-8394)

see http://php.net/ChangeLog-5.php#5.6.18 for more info.
http://php.net/ChangeLog-5.php#5.5.32

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-03-02 00:03:18 +01:00
Derek Straka
7744e5992c php: check for existance of directory before 'rmdir' in do_install_append_class-target
Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2016-02-01 15:58:06 +01:00
Roy Li
7f478ed5cb php: create recipe for 5.6.12
The difference between 5.6.x and 5.5.x is in http://php.net/migration56
Most improvements in PHP 5.6.x have no impact on existing code.
There are a few incompatibilities and new features that should be
considered, and code should be tested before switching PHP versions
in production environments.

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-08-31 20:07:59 +02:00
Koen Kooi
26043cbe2d php 5.4.14: merge .inc and .bb
There's only one version of the recipe in the repo and the split makes it harder to debug and fix problems.

Also fix target overrides and style issues.

Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-10-10 12:47:34 +02:00
Otavio Salvador
768f20b8ad php: Fix native build due mistakenly linking against host's iconv
The configure script has mistakenly choose to enable iconv support,
due host to provide it, adding '/usr/lib' to the linking flags and
failing as:

,----[ Linking error while testing 'fork' support ]
| conftest.c:268: warning: conflicting types for built-in function 'fork'
| .../build/tmp/sysroots/x86_64-linux/usr/lib/libxml2.so:
|     undefined reference to `gzopen64@ZLIB_1.2.3.3'
| collect2: ld returned 1 exit status
`----

This patch disables iconv support for native builds fixing the error.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-08-27 12:49:18 +02:00
Koen Kooi
466e0278ac php 5.4.14: use pkg-config for libxml2 detection
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-08-05 12:02:40 +02:00
Koen Kooi
557d978222 php: fix do_installing when S!=B
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-05-05 18:31:29 +02:00
chase maupin
dcf37be559 php: update SRC_URI for new download location
* The old downloads location of http://www.php.net/distributions
  now points to a listing of all distributions and the mirrors or
  download locations where the sources can be downloaded.
* The new download location is http://museum.php.net/..... where
  the rest of the URL is based on the major version on PHP being
  downloaded.  This is a change from the previous download server
  which had a flattened directory structure so that all versions
  were available in a single location.
* To account for this change in the directory structure a variable
  called PHP_MAJVER is used based off of the PV to point the
  SRC_URI to the proper subdirectory.
* This issue wsa first noted by Joshua Vanderpool at
  Joshua.Vanderpool@raymondcorp.com and there was discussion at
  http://lists.openembedded.org/pipermail/openembedded-devel/2014-January/093757.html
* This patch has been commited to that master branch

Signed-off-by: Chase Maupin <chase.maupin@ti.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-02-01 08:51:05 +01:00
Jack Mitchell
def06e9e9a php: move INSTALL_ROOT over to EXTRA_OEMAKE
move INSTALL_ROOT over to EXTRA_OEMAKE rather than over riding
oe_runmake install

Signed-off-by: Jack Mitchell <jack.mitchell@dbbroadcast.co.uk>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-03 16:12:02 +02:00
Jack Mitchell
764e88de03 php: remove unneeded THREADS export
This is no longer required, as pthreads is the default thread library

Signed-off-by: Jack Mitchell <jack.mitchell@dbbroadcast.co.uk>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-03 16:12:02 +02:00
Jack Mitchell
8780196e55 php: remove unnecessary LIBS export
Adding explicit LIBS additions is not required anymore

Signed-off-by: Jack Mitchell <jack.mitchell@dbbroadcast.co.uk>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-03 16:12:02 +02:00
Jack Mitchell
0dd39f8d5d php: remove obsolete CFLAGS
PTYS_ARE_GETPT and PTYS_ARE_SEARCHED don't appear anywhere in the
source code anymore, remove them.

Signed-off-by: Jack Mitchell <jack.mitchell@dbbroadcast.co.uk>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-05-03 16:12:02 +02:00
Jack Mitchell
c61ab94d5b php: add sqlite3 and mysql PACKAGECONFIG options
Signed-off-by: Jack Mitchell <jack.mitchell@dbbroadcast.co.uk>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-26 10:00:32 +02:00
Marcin Juszkiewicz
f91950e3ad php: update to 5.4.14
Build tested for AArch64 and x86.
Runtime tested on x86.

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-04-22 09:51:47 +02:00
Martin Jansa
a45830a39b recipes: Unify indentation
* This change is only aesthetic (unlike indentation in Python
  tasks).
* Some recipes were using tabs.
* Some were using 8 spaces.
* Some were using mix or different number of spaces.
* Make them consistently use 4 spaces everywhere.
* Yocto styleguide advises to use tabs (but the only reason to keep
  tabs is the need to update a lot of recipes). Lately this advice
  was also merged into the styleguide on the OE wiki.
* Using 4 spaces in both types of tasks is better because it's less
  error prone when someone is not sure if e.g.
  do_generate_toolchain_file() is Python or shell task and also allows
  to highlight every tab used in .bb, .inc, .bbappend, .bbclass as
  potentially bad (shouldn't be used for indenting of multiline
  variable assignments and cannot be used for Python tasks).
* Don't indent closing quote on multiline variables
  we're quite inconsistent wheater it's first character on line
  under opening quote or under first non-whitespace character in
  previous line.

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Acked-by: Koen Kooi <koen@dominion.thruhere.net>
2013-04-15 16:23:17 +02:00
Marcin Juszkiewicz
357915b6d1 php: cleanup QA warnings
php-native had:

WARNING: The recipe php-native is trying to install files into a shared area when those files already exist. Those files and their manifest location are:
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/php/.filemap
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/php/.lock
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/php/.depdblock
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/php/.depdb
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/php/.channels/pear.php.net.reg
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/php/.channels/pecl.php.net.reg
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/php/.channels/doc.php.net.reg
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/php/.channels/__uri.reg
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/php/.channels/.alias/pear.txt
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/php/.channels/.alias/pecl.txt
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build/tmp-eglibc/sysroots/x86_64-linux/usr/lib/php/.channels/.alias/phpdocs.txt
Please verify which package should provide the above files.

php had:

WARNING: QA Issue: php: Files/directories were installed but not shipped
  /.filemap
  /.lock
  /.depdblock
  /.depdb
  /var
  /.registry
  /.channels
  /home
  /var/run
  /var/log
  /var/volatile
  /var/volatile/run
  /var/volatile/log
  /etc/php-fpm.conf.default
  /.registry/.channel.pecl.php.net
  /.registry/.channel.doc.php.net
  /.registry/.channel.__uri
  /.channels/pear.php.net.reg
  /.channels/pecl.php.net.reg
  /.channels/doc.php.net.reg
  /.channels/__uri.reg
  /.channels/.alias
  /.channels/.alias/pear.txt
  /.channels/.alias/pecl.txt
  /.channels/.alias/phpdocs.txt
  /home/hrw
  /home/hrw/HDD
  /home/hrw/HDD/devel
  /home/hrw/HDD/devel/canonical
  /home/hrw/HDD/devel/canonical/aarch64
  /home/hrw/HDD/devel/canonical/aarch64/openembedded
  /home/hrw/HDD/devel/canonical/aarch64/openembedded/build

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2013-01-22 13:19:17 +01:00
Marcin Juszkiewicz
8424c379fb php: add apache configuration for php-fpm
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-12-04 10:44:20 +01:00
Eric BENARD
94a59521dc php: enable php-fpm
- php-fpm is an alternative PHP FastCGI implementation which seems to
be now prefered to php-fcgi
- this patch enable the build of php-fpm and packages it in its own
package
- it's tested with hiawatha on an armv5te target

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-12-04 10:43:10 +01:00
Eric BENARD
c1a900b011 php: enable gettext and sqlite
Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-12-04 10:43:09 +01:00
Eric BENARD
f8a7fc5574 php: upgrade to 5.3.19
Signed-off-by: Eric Bénard <eric@eukrea.com>
Acked-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2012-12-04 10:43:08 +01:00
Martin Jansa
fc9fad42f0 php: drop LD_LIBRARY_PATH settings
* it breaks do_fetch in some settings

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-08-20 10:02:09 +02:00
Martin Jansa
515935fb50 php: add build-defs.h to SSTATE_SCAN_FILES it defines path to sysroot where pear.conf is later created
* without this fails in do_install (shr-core-branches is workspace where
  we got SSTATE_MIRROR):
  | [PEAR] PEAR           - installed: 1.9.2
  | Wrote PEAR system config file at:
  /var/lib/jenkins/jobs/shr-core/workspace/shr-core/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/php-5.3.6-r0.0/image//var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/sysroots/x86_64-linux/etc/pear.conf
  | You may want to add: /usr/lib/php to your php.ini include_path
  | Installing header files:
  /var/lib/jenkins/jobs/shr-core/workspace/shr-core/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/php-5.3.6-r0.0/image/usr/include/php/
  | sed: can't read
  /var/lib/jenkins/jobs/shr-core/workspace/shr-core/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/php-5.3.6-r0.0/image//etc/pear.conf:
  No such file or directory
  | ERROR: Function failed: do_install (see
  /var/lib/jenkins/jobs/shr-core/workspace/shr-core/tmp-eglibc/work/armv7a-vfp-neon-oe-linux-gnueabi/php-5.3.6-r0.0/temp/log.do_install.3783
  for further information)
  NOTE: package php-5.3.6-r0.0: task do_install: Failed
* it also has couple of unpackaged dirs in ${D} (all used in STAGING_DIR_NATIVE)
  WARNING: QA Issue: php: Files/directories were installed but not shipped
  /var
  /var/lib
  /var/lib/jenkins
  /var/lib/jenkins/jobs
  /var/lib/jenkins/jobs/shr-core
  /var/lib/jenkins/jobs/shr-core/workspace
  /var/lib/jenkins/jobs/shr-core/workspace/shr-core
  /var/lib/jenkins/jobs/shr-core/workspace/shr-core/tmp-eglibc
  /var/lib/jenkins/jobs/shr-core/workspace/shr-core/tmp-eglibc/sysroots

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-08-07 12:21:24 +02:00
Martin Jansa
8f1f90934d php: inherit pythonnative
* fixes:
| AUTOV is 1.12
| Traceback (most recent call last):
|   File "/OE/shr-core/openembedded-core/scripts/cp-noerror", line 8, in <module>
|     import shutil
|   File "/usr/lib/python2.7/shutil.py", line 12, in <module>
|     import collections
|   File "/usr/lib/python2.7/collections.py", line 9, in <module>
|     from operator import itemgetter as _itemgetter
| ImportError: /usr/lib/python2.7/lib-dynload/operator.so: undefined symbol: _PyUnicodeUCS4_AsDefaultEncodedString
| ERROR: Function failed: do_configure (see /OE/shr-core/tmp-eglibc/work/x86_64-linux/php-native-5.3.6-r1.0/temp/log.do_configure.14841 for further information)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2012-08-07 12:21:24 +02:00
Koen Kooi
120753e743 php 5.3.6: import from OE classic
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
2011-11-03 15:02:20 +01:00