From ac5ee1ffb16ea189959b06afc764d975ac9f974c Mon Sep 17 00:00:00 2001 From: Michael Heimpold Date: Tue, 15 May 2018 22:09:17 +0200 Subject: [PATCH 1/7] php7: replace libmysqlclient dependencies with libmariadbclient Signed-off-by: Michael Heimpold --- lang/php7/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/php7/Makefile b/lang/php7/Makefile index 6d2f6b565..72929ce6e 100644 --- a/lang/php7/Makefile +++ b/lang/php7/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=php PKG_VERSION:=7.2.5 -PKG_RELEASE:=2 +PKG_RELEASE:=3 PKG_MAINTAINER:=Michael Heimpold @@ -601,12 +601,12 @@ $(eval $(call BuildModule,intl,Internationalization Functions,+PACKAGE_php7-mod- $(eval $(call BuildModule,json,JSON)) $(eval $(call BuildModule,ldap,LDAP,+PACKAGE_php7-mod-ldap:libopenldap +PACKAGE_php7-mod-ldap:libsasl2)) $(eval $(call BuildModule,mbstring,MBString)) -$(eval $(call BuildModule,mysqli,MySQL Improved Extension,+PACKAGE_php7-mod-mysqli:libmysqlclient)) +$(eval $(call BuildModule,mysqli,MySQL Improved Extension,+PACKAGE_php7-mod-mysqli:libmariadbclient)) $(eval $(call BuildModule,opcache,OPcache,,,zend)) $(eval $(call BuildModule,openssl,OpenSSL,+PACKAGE_php7-mod-openssl:libopenssl)) $(eval $(call BuildModule,pcntl,PCNTL)) $(eval $(call BuildModule,pdo,PHP Data Objects)) -$(eval $(call BuildModule,pdo-mysql,PDO driver for MySQL,+php7-mod-pdo +PACKAGE_php7-mod-pdo-mysql:libmysqlclient)) +$(eval $(call BuildModule,pdo-mysql,PDO driver for MySQL,+php7-mod-pdo +PACKAGE_php7-mod-pdo-mysql:libmariadbclient)) $(eval $(call BuildModule,pdo-pgsql,PDO driver for PostgreSQL,+php7-mod-pdo +PACKAGE_php7-mod-pdo-pgsql:libpq)) $(eval $(call BuildModule,pdo-sqlite,PDO driver for SQLite 3.x,+php7-mod-pdo +PACKAGE_php7-mod-pdo-sqlite:libsqlite3 +PACKAGE_php7-mod-pdo-sqlite:librt)) $(eval $(call BuildModule,pgsql,PostgreSQL,+PACKAGE_php7-mod-pgsql:libpq)) From 7e33126dc0403852055d3e3fff1ab0064040ba8f Mon Sep 17 00:00:00 2001 From: Michael Heimpold Date: Sun, 27 May 2018 17:04:08 +0200 Subject: [PATCH 2/7] php7: update to 7.2.6 Signed-off-by: Michael Heimpold --- lang/php7/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/php7/Makefile b/lang/php7/Makefile index 72929ce6e..aa860a957 100644 --- a/lang/php7/Makefile +++ b/lang/php7/Makefile @@ -6,8 +6,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=php -PKG_VERSION:=7.2.5 -PKG_RELEASE:=3 +PKG_VERSION:=7.2.6 +PKG_RELEASE:=1 PKG_MAINTAINER:=Michael Heimpold @@ -16,7 +16,7 @@ PKG_LICENSE_FILES:=LICENSE PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=http://www.php.net/distributions/ -PKG_HASH:=af70a33b3f7a51510467199b39af151333fbbe4cc21923bad9c7cf64268cddb2 +PKG_HASH:=1f004e049788a3effc89ef417f06a6cf704c95ae2a718b2175185f2983381ae7 PKG_FIXUP:=libtool autoreconf PKG_BUILD_PARALLEL:=1 From b65a759e802676d4c778be547214d1ff2021b81d Mon Sep 17 00:00:00 2001 From: Sebastian Kemper Date: Fri, 22 Jun 2018 21:28:14 +0200 Subject: [PATCH 3/7] php7: use mysqlnd This is in anticipation of the MariaDB upgrade from mariadb 10.1.x to 10.2.x. With the latter the PHP MySQL plugins fail to compile, e.g.: In file included from /home/equeiroz/src/openwrt-asus/build_dir/target-mipsel_74kc_musl/php-7.2.6/ext/mysqli/php_mysqli_structs.h:63:0, from /home/equeiroz/src/openwrt-asus/build_dir/target-mipsel_74kc_musl/php-7.2.6/ext/mysqli/mysqli.c:34: /home/equeiroz/src/openwrt-asus/staging_dir/target-mipsel_74kc_musl/usr/include/mysql/my_global.h:3:2: warning: #warning This file should not be included by clients, include only [-Wcpp] #warning This file should not be included by clients, include only ^~~~~~~ In file included from /home/equeiroz/src/openwrt-asus/build_dir/target-mipsel_74kc_musl/php-7.2.6/ext/mysqli/php_mysqli_structs.h:79:0, from /home/equeiroz/src/openwrt-asus/build_dir/target-mipsel_74kc_musl/php-7.2.6/ext/mysqli/mysqli.c:34: /home/equeiroz/src/openwrt-asus/staging_dir/target-mipsel_74kc_musl/usr/include/mysql/my_sys.h:3:2: warning: #warning This file should not be included by clients, include only [-Wcpp] #warning This file should not be included by clients, include only ^~~~~~~ In file included from /home/equeiroz/src/openwrt-asus/build_dir/target-mipsel_74kc_musl/php-7.2.6/ext/mysqli/mysqli.c:34:0: /home/equeiroz/src/openwrt-asus/build_dir/target-mipsel_74kc_musl/php-7.2.6/ext/mysqli/php_mysqli_structs.h:82:10: fatal error: my_list.h: No such file or directory #include Upstream seems unlikely to fix this, see https://bugs.php.net/bug.php?id=75612. In the bug report it is suggested to not use libmysqlclient/libmariadbclient and instead utilize mysqlnd (MySQL Native Driver) provided by PHP. This is the default anyway. So add the mysqlnd module and remove the libmariadbclient depends. Signed-off-by: Sebastian Kemper --- lang/php7/Makefile | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/lang/php7/Makefile b/lang/php7/Makefile index aa860a957..4c459c359 100644 --- a/lang/php7/Makefile +++ b/lang/php7/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=php PKG_VERSION:=7.2.6 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=Michael Heimpold @@ -33,7 +33,7 @@ PHP7_MODULES = \ iconv imap intl \ json \ ldap \ - mbstring mysqli \ + mbstring mysqli mysqlnd \ opcache openssl \ pcntl pdo pdo-mysql pdo-pgsql pdo-sqlite pgsql phar \ session shmop simplexml snmp soap sockets sqlite3 sysvmsg sysvsem sysvshm \ @@ -292,11 +292,17 @@ else endif ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-mysqli),) - CONFIGURE_ARGS+= --with-mysqli=shared,"$(STAGING_DIR)/usr/bin/mysql_config" + CONFIGURE_ARGS+= --with-mysqli=shared else CONFIGURE_ARGS+= --without-mysqli endif +ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-mysqlnd),) + CONFIGURE_ARGS+= --enable-mysqlnd=shared +else + CONFIGURE_ARGS+= --disable-mysqlnd +endif + ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-opcache),) CONFIGURE_ARGS+= --enable-opcache=shared else @@ -321,7 +327,7 @@ endif ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pdo),) CONFIGURE_ARGS+= --enable-pdo=shared ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pdo-mysql),) - CONFIGURE_ARGS+= --with-pdo-mysql=shared,"$(STAGING_DIR)/usr" + CONFIGURE_ARGS+= --with-pdo-mysql=shared else CONFIGURE_ARGS+= --without-pdo-mysql endif @@ -601,12 +607,13 @@ $(eval $(call BuildModule,intl,Internationalization Functions,+PACKAGE_php7-mod- $(eval $(call BuildModule,json,JSON)) $(eval $(call BuildModule,ldap,LDAP,+PACKAGE_php7-mod-ldap:libopenldap +PACKAGE_php7-mod-ldap:libsasl2)) $(eval $(call BuildModule,mbstring,MBString)) -$(eval $(call BuildModule,mysqli,MySQL Improved Extension,+PACKAGE_php7-mod-mysqli:libmariadbclient)) +$(eval $(call BuildModule,mysqli,MySQL Improved Extension,+PACKAGE_php7-mod-mysqli:php7-mod-mysqlnd)) +$(eval $(call BuildModule,mysqlnd,MySQL Native Driver)) $(eval $(call BuildModule,opcache,OPcache,,,zend)) $(eval $(call BuildModule,openssl,OpenSSL,+PACKAGE_php7-mod-openssl:libopenssl)) $(eval $(call BuildModule,pcntl,PCNTL)) $(eval $(call BuildModule,pdo,PHP Data Objects)) -$(eval $(call BuildModule,pdo-mysql,PDO driver for MySQL,+php7-mod-pdo +PACKAGE_php7-mod-pdo-mysql:libmariadbclient)) +$(eval $(call BuildModule,pdo-mysql,PDO driver for MySQL,+php7-mod-pdo +PACKAGE_php7-mod-pdo-mysql:php7-mod-mysqlnd)) $(eval $(call BuildModule,pdo-pgsql,PDO driver for PostgreSQL,+php7-mod-pdo +PACKAGE_php7-mod-pdo-pgsql:libpq)) $(eval $(call BuildModule,pdo-sqlite,PDO driver for SQLite 3.x,+php7-mod-pdo +PACKAGE_php7-mod-pdo-sqlite:libsqlite3 +PACKAGE_php7-mod-pdo-sqlite:librt)) $(eval $(call BuildModule,pgsql,PostgreSQL,+PACKAGE_php7-mod-pgsql:libpq)) From 81332c47658b3c28d20a23769ef4be501e6982ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Date: Sun, 24 Jun 2018 10:19:38 +0200 Subject: [PATCH 4/7] php7: add package dependency on zoneinfo-core MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Having "select PACKAGE_zoneinfo-core" wasn't enough for builds without php7-cli=y or php7-cgi=y. It didn't result in installing zoneinfo-core when using "opkg install" (during runtime or when building images with CONFIG_TARGET_PER_DEVICE_ROOTFS). Missing zoneinfo results in PHP fatal errors, e.g.: Fatal error: DateTime::createFromFormat(): Timezone database is corrupt - this should *never* happen! For years users were told to manually install zoneinfo-core package. This problem was hidden for some time (including 17.01 release) due to disabled support for CONFIG_PHP7_SYSTEMTZDATA. It's now back as support for --with-system-tzdata was enabled again. The proper solution is to simply make php7 package depend on zoneinfo-core when PHP7_SYSTEMTZDATA is used. Fixes: 84e5012e8853 ("php7: re-enable system timezone data usage") Signed-off-by: Rafał Miłecki --- lang/php7/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/php7/Makefile b/lang/php7/Makefile index 4c459c359..9bcfbbe81 100644 --- a/lang/php7/Makefile +++ b/lang/php7/Makefile @@ -74,7 +74,6 @@ define Package/php7/config config PHP7_SYSTEMTZDATA bool "Use system timezone data instead of php's built-in database" depends on PACKAGE_php7-cli || PACKAGE_php7-cgi - select PACKAGE_zoneinfo-core default y help Enabling this feature automatically selects the zoneinfo-core package @@ -86,7 +85,8 @@ define Package/php7 $(call Package/php7/Default) DEPENDS:=+libpcre +zlib \ - +PHP7_LIBXML:libxml2 + +PHP7_LIBXML:libxml2 \ + +PHP7_SYSTEMTZDATA:zoneinfo-core endef define Package/php7/description From cdf150d0cae99938efecea29f19a6a508434ef29 Mon Sep 17 00:00:00 2001 From: Michael Heimpold Date: Mon, 2 Jul 2018 22:42:26 +0200 Subject: [PATCH 5/7] php7: update to 7.2.7 Signed-off-by: Michael Heimpold --- lang/php7/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/php7/Makefile b/lang/php7/Makefile index 9bcfbbe81..8d5d7b7a6 100644 --- a/lang/php7/Makefile +++ b/lang/php7/Makefile @@ -6,8 +6,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=php -PKG_VERSION:=7.2.6 -PKG_RELEASE:=2 +PKG_VERSION:=7.2.7 +PKG_RELEASE:=1 PKG_MAINTAINER:=Michael Heimpold @@ -16,7 +16,7 @@ PKG_LICENSE_FILES:=LICENSE PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=http://www.php.net/distributions/ -PKG_HASH:=1f004e049788a3effc89ef417f06a6cf704c95ae2a718b2175185f2983381ae7 +PKG_HASH:=eb01c0153b3baf1f64b8b044013ce414b52fede222df3f509e8ff209478f31f0 PKG_FIXUP:=libtool autoreconf PKG_BUILD_PARALLEL:=1 From 98edb6e210f74bda32bfb4e83cb1651e8cd9b4dc Mon Sep 17 00:00:00 2001 From: Michael Heimpold Date: Tue, 3 Jul 2018 22:58:42 +0200 Subject: [PATCH 6/7] php7: fix load order of mysqli extension This problem was reported by Teun Lubberhuizen, thanks! Signed-off-by: Michael Heimpold --- lang/php7/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lang/php7/Makefile b/lang/php7/Makefile index 8d5d7b7a6..24eb74e05 100644 --- a/lang/php7/Makefile +++ b/lang/php7/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=php PKG_VERSION:=7.2.7 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=Michael Heimpold @@ -607,7 +607,7 @@ $(eval $(call BuildModule,intl,Internationalization Functions,+PACKAGE_php7-mod- $(eval $(call BuildModule,json,JSON)) $(eval $(call BuildModule,ldap,LDAP,+PACKAGE_php7-mod-ldap:libopenldap +PACKAGE_php7-mod-ldap:libsasl2)) $(eval $(call BuildModule,mbstring,MBString)) -$(eval $(call BuildModule,mysqli,MySQL Improved Extension,+PACKAGE_php7-mod-mysqli:php7-mod-mysqlnd)) +$(eval $(call BuildModule,mysqli,MySQL Improved Extension,+PACKAGE_php7-mod-mysqli:php7-mod-mysqlnd,30)) $(eval $(call BuildModule,mysqlnd,MySQL Native Driver)) $(eval $(call BuildModule,opcache,OPcache,,,zend)) $(eval $(call BuildModule,openssl,OpenSSL,+PACKAGE_php7-mod-openssl:libopenssl)) From 522800696de04c0abbb40c1736f0c9b9129bb2bb Mon Sep 17 00:00:00 2001 From: Michael Heimpold Date: Sat, 21 Jul 2018 23:27:58 +0200 Subject: [PATCH 7/7] php7: update to 7.2.8 Signed-off-by: Michael Heimpold --- lang/php7/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lang/php7/Makefile b/lang/php7/Makefile index 24eb74e05..99e98b3b9 100644 --- a/lang/php7/Makefile +++ b/lang/php7/Makefile @@ -6,8 +6,8 @@ include $(TOPDIR)/rules.mk PKG_NAME:=php -PKG_VERSION:=7.2.7 -PKG_RELEASE:=2 +PKG_VERSION:=7.2.8 +PKG_RELEASE:=1 PKG_MAINTAINER:=Michael Heimpold @@ -16,7 +16,7 @@ PKG_LICENSE_FILES:=LICENSE PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=http://www.php.net/distributions/ -PKG_HASH:=eb01c0153b3baf1f64b8b044013ce414b52fede222df3f509e8ff209478f31f0 +PKG_HASH:=53ba0708be8a7db44256e3ae9fcecc91b811e5b5119e6080c951ffe7910ffb0f PKG_FIXUP:=libtool autoreconf PKG_BUILD_PARALLEL:=1