php7: add package dependency on zoneinfo-core
authorRafał Miłecki <rafal@milecki.pl>
Sun, 24 Jun 2018 08:19:38 +0000 (10:19 +0200)
committerMichael Heimpold <mhei@heimpold.de>
Sat, 21 Jul 2018 21:41:56 +0000 (23:41 +0200)
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 <rafal@milecki.pl>
lang/php7/Makefile

index 4c459c359db8104e9cf363e3006999400a09ab96..9bcfbbe81bf6acf768d77ec4d62e7d0d9177b384 100644 (file)
@@ -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