According to [1][2], generate phar.php during cross-compile can't be
done, but upstream test res of $(TEST_PHP_EXECUTABLE) is not suitable
for Yocto.
Explicitly set TEST_PHP_EXECUTABLE_RES = "1" to not generate phar.php
for target recipe
Drop 0005-sapi-cli-config.m4-fix-build-directory.patch which is obsolete
for generating phar.php
After apply this commit
...log.do_compile...
Generating phar.php
Skipping phar.php generating during cross compilation
Generating phar.phar
Skipping phar.phar generating during cross compilation
...log.do_compile...
Then php supports reproducible build
[1] https://github.com/php/php-src/issues/11099
[2] 93fa9613e1
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
0001-ext-opcache-config.m4-enable-opcache.patch is dropped.
This patch could be dropped because the new version now uses
AC_CACHE_CHECK, and we can just pass ac_cv_xxx to it instead of
using a local patch.
0008-ext-imap-config.m4-fix-include-paths.patch is dropped.
ext/imap has been removed from php in this new version. See
https://github.com/php/php-src/pull/13190. As a result of this
removal, the corresponding PACKAGECONFIG is removed from this new
version.
0001-Change-whether-to-inline-XXH3_hashLong_withSecret-to.patch is
dropped. It has been merged in this new version.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Drop 0003-php-remove-host-specific-info-from-header-file.patch.
Instead we export PHP_UNAME = "Linux" to achieve the same effect.
Drop 0002-build-php.m4-don-t-unset-cache-variables.patch.
The related ac_cv_lib_xxx and ac_cv_func_xxx settings in this recipe
are also removed. This patch is not needed from the my build testing
result.
Drop 0009-php-don-t-use-broken-wrapper-for-mkdir.patch.
This patch says that the wrapper is broken, but does not say why.
Without this patch, things still build.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Includes fixes for CVE-2024-3096, CVE-2024-2756 and other bugs.
Changelog:
https://www.php.net/ChangeLog-8.php#8.2.18
Rebase 0001-ext-opcache-config.m4-enable-opcache.patch to new version
Signed-off-by: Soumya Sambu <soumya.sambu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2848cc99a186 ("php-fpm: Add support for systemd") introduced a systemd
service file, where ExecStart and ExecStop uses /etc/init.d/php-fpm,
which does not exist if systemd is enabled. Consequently, the php-fpm
service fails to start even though it is correctly installed. This is
fixed by this commit in which the service file is identical to the one
from the PHP source code except for the use of BitBake variables. Also,
use ${systemd_system_unitdir} instead of ${systemd_unitdir}/system.
Signed-off-by: Emil Kronborg <emil.kronborg@protonmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
There is new patch-status QA check in oe-core:
https://git.openembedded.org/openembedded-core/commit/?id=76a685bfcf927593eac67157762a53259089ea8a
This is temporary work around just to hide _many_ warnings from
optional patch-status (if you add it to WARN_QA).
This just added
Upstream-Status: Pending
everywhere without actually investigating what's the proper status.
This is just to hide current QA warnings and to catch new .patch files being
added without Upstream-Status, but the number of Pending patches is now terrible:
5 (26%) meta-xfce
6 (50%) meta-perl
15 (42%) meta-webserver
21 (36%) meta-gnome
25 (57%) meta-filesystems
26 (43%) meta-initramfs
45 (45%) meta-python
47 (55%) meta-multimedia
312 (63%) meta-networking
756 (61%) meta-oe
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This patch is not only needed for target but also needed for native and
nativesdk variants.
Fixes
do_populate_sysroot: QA Issue: : /work/x86_64-linux/php-native/8.1.7-r0/sysroot-destdir/
work/x86_64-linux/php-native/8.1.7-r0/recipe-sysroot-native/usr/bin/phar.phar maximum shebang size exceeded, the ma
ximum size is 128. [shebang-size]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
wrong name make service apache2 start failed with failure:
httpd: Syntax error on line 511 of /etc/apache2/httpd.conf: Syntax error on line 1 of /etc/apache2/modules.d/70_mod_php8.conf: Cannot load /usr/libexec/apache2/modules/libphp7.so into server: /usr/libexec/apache2/modules/libphp7.so: cannot open shared object file: No such file or directory
httpd: Syntax error on line 511 of /etc/apache2/httpd.conf: Syntax error on line 1 of /etc/apache2/modules.d/70_mod_php8.conf: Can't locate API module structure `php7_module' in file /usr/libexec/apache2/modules/libphp.so: /usr/libexec/apache2/modules/libphp.so: undefined symbol: php7_module
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
minilua, by default, is compiled by the host machine as a
dependency for compiling the JIT/opcache extension. To
successfully cross-compile, this needs to be run under QEMU to
match the target architecture.
According to the [RFC](https://wiki.php.net/rfc/jit), only
x86 and x86_64 targets are supported.
Signed-off-by: Ashley Cox <ashleyc@cybernetics.com>
Signed-off-by: Claude Bing <cbing@cybernetics.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Various security and bug fixes; adds support for the JIT compiler.
* Fixed bug #81026 (PHP-FPM oob R/W in root process leading to
privilege escalation) (CVE-2021-21703).
https://www.php.net/ChangeLog-8.php#8.0.0
Signed-off-by: Claude Bing <cbing@cybernetics.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
License-Update: License updated (year updated)
Fix some security issues such as CVE-2021-21702 and remove two
cve patches which already included in the new version.
Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
/var/run has been deprecated by systemd, so use /run instead,
as suggested by systemd.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upgrade to release 7.4.9:
- Fixed: Upgrade apache2handler's php_apache_sapi_get_request_time
to return usec
- Fixed: BSTR to PHP string conversion not binary safe
- Fixed: DCOM does not work with Username, Password parameter
- Fixed: serialize() and unserialize() methods can not be called
statically
- Fixed: Segfault in php_str_replace_common
- Fixed: Assertion failure if dumping closure with unresolved
static variable
- Fixed: Assertion failure when assigning property of string
offset by reference
- Fixed: HT iterators not removed if empty array is destroyed
- Fixed: Changing array during undef index RW error segfaults
- Fixed: Use after free if changing array during undef var during
array write fetch
- Fixed: Use after free if string used in undefined index warning
is changed
- Fixed: Public non-static property in child should take priority
over private static
- Fixed: getimagesize function silently truncates after a null
byte
- Fixed: finfo_file crash (FILEINFO_MIME)
- Fixed: ftp_size on large files
- Fixed: mb_strimwidth does not trim string
- Fixed: Use of freed hash key in the phar_parse_zipfile function
- Fixed: ::getStaticProperties() ignores property modifications
- Fixed: ::getStaticPropertyValue() throws on protected props
- Fixed: Use after free when type duplicated into
ReflectionProperty gets resolved
- Fixed: Can't copy() large 'data://' with open_basedir
- Fixed: dns_check_record() always return true on Alpine
- Fixed: array_walk() does not respect property types
Signed-off-by: Leon Anavi <leon.anavi@konsulko.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The source of the issue is the update for PHP 7.4 support in
0001-opcache-config.m4-enable-opcache.patch (commit 7cc7a9ec). Instead
of working around the issue in the recipe file, update the patch to
restore the call to PHP_ADD_LIBRARY().
Signed-off-by: Claude Bing <cbing@cybernetics.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
License-Update: License updated (year updated)
note: for 7.4, pear is disabled by default,
and it will be deprecated in future.
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Backport the patch <http://git.php.net/?p=php-src.git;a=commit;
h=0f79b1bf301f455967676b5129240140c5c45b09> to solve CVE-2020-7059.
Because of the version context, this porting mainly refers to the
version merging commit <http://git.php.net/?p=php-src.git;a=commit;
h=a8a6242db7c01bb2d87f29e9b8d5ff3f0f847645>
Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Patch for issue fixed upstream removed.
Also merge the inc into the recipe.
Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Patch for php to sync with the fix for the same issue in
libgd.
CVE: CVE-2019-6978
Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
The apache2 module's path has been changed from ${libdir} to
${libexecdir} in commit 8d4d608b4e937bb3b8e3b260bd75338c3ff7e8fd. Update
mod_php.conf to adapt it.
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Lets remove it directly, since October would be a year after
EOL so waiting until then would make it quite stale
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
with configuration:
IMAGE_INSTALL_append = " apache2 php-fpm-apache2"
systemctl status apache2.service report error:
httpd: Syntax error on line 509 of /etc/apache2/httpd.conf: Syntax error on line 3 of /etc/apache2/conf.d/php-fpm.conf: Cannot load lib/apache
fix by correct the module path
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
License-Update: 7.x version trim trailing whitespace
7.x:
* drop CVE-2017-9120.patch since it cannot resolve the CVE
* use recommand option --with-libzip, bundled libzip is deprecated
* update patches
5.x:
* use recommand option --with-libzip, bundled libzip is deprecated
* update patches
* Fix php 7.x cross build on hosts which have libxml2 installed
libxml2 is not detected properly, it pokes at host and takes the
libraries and header files added to build which links in libraries like
libicu which may not be available in sysroot causing configure failures
like
checking for sqlite3 files in default path... found in TOPDIR/build/tmp/work/aarch64-yoe-linux/php/7.3.2-r0/recipe-sysroot/usr/lib/..
checking for SQLite 3.3.9+... checking for sqlite3_prepare_v2 in -lsqlite3... no
not found
configure: error: Please install SQLite 3.3.9 first or check libsqlite3 is present
the reason is configure test fails to find icu libraries since they were
added based on build host's libxml2.pc
Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
It caused by a new variable is declared after the label
There is a build failure on mips:
...
|sljitNativeMIPS_common.c: In function 'sljit_has_cpu_feature':
|sljitNativeMIPS_common.c:506:3: error: a label can only be part
of a statement and a declaration is not a statement
| sljit_sw fir;
| ^~~~~~~~
...
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
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>
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>
* 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>
Having two directories with version numbers just leads to unnecessary
churn everytime there's a version update.
We can have all patches in one single directory and differentiate b/w
specific version by prefix php5-/php7-
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
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>
Upgrade php from 5.5.24 to 5.5.26. Remove part 2 of phar-makefile.patch
which is useless.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Adds suport for systemd, creates a service for php-fpm and installs it if required
Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Fix several issues with how the phar package is installed and packaged:
* The symlink was pointing to an absolute path on the host, which
naturally does not work on the target
* The script itself had a shebang pointing to a path on the host
* A file-rdeps warning was occurring due to rpmdeps detecting that the
script requires the php binary; in order to prevent the main php
package depending on php-cli which provides the php binary, move the
phar script to its own package (I suspect most people won't need it
anyway).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Build the mod_php Apache module within the main php recipe; this avoids
files in the sysroot from stepping on eachother and therefore avoids the
resulting build failure.
Changes made:
* Add an "apache2" PACKAGECONFIG, default disabled. This means that if
you previously used the modphp recipe you now need to set
PACKAGECONFIG for php to include "apache2".
* Bring in most patches and configure options from the modphp recipe.
* Specify ${libdir}/php5 as libdir. This avoids the PHP extensions
directory being /usr/lib/extensions by default which is ugly.
* Tidy up some superfluous/malformed entries in FILES_${PN}-pear
* Drop obsolete PHP_MAJVER
* Replace virtclass- override with class-
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
One patch was a backport and can be dropped, add Upstream-status to the others.
Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
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>