From e51a04930153dad8f7bf74fbde4cfd8e8bd4d0f8 Mon Sep 17 00:00:00 2001 From: Michael Heimpold Date: Thu, 9 Sep 2021 07:39:21 +0200 Subject: [PATCH] php7: fix config file upgrade issue (fixes #14623) The addressed issue is related to #6893 as its resolution is actually causing the problem. When changing the priority of the config file it happens that after a sysupgrade the previous file is restored and the new file is added, ending up in a situation like this: /etc/php7/15_openssl.ini /etc/php7/20_openssl.ini Causing a double extension=openssl.so to be parsed, which is not appropriate and leads to error message. The same problem might also occur for mysqli since there was also a priority change - let's take care about this at the same time. The solution is to remove one of the files. Since it is a configuration file, the user might have adjusted it, so lets just use the previous version to replace the new installed version. Signed-off-by: Michael Heimpold --- lang/php7/Makefile | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/lang/php7/Makefile b/lang/php7/Makefile index 0876dcbc4..ed1566459 100644 --- a/lang/php7/Makefile +++ b/lang/php7/Makefile @@ -7,7 +7,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=php PKG_VERSION:=7.4.23 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_MAINTAINER:=Michael Heimpold PKG_LICENSE:=PHP-3.01 @@ -528,6 +528,26 @@ define Package/php7-fpm/conffiles /etc/config/php7-fpm endef +define Package/php7-mod-openssl/postinst +#!/bin/sh +[ -n "$$IPKG_INSTROOT" ] || { + if [ -e "/etc/php7/20_openssl.ini" ] && [ -e "/etc/php7/15_openssl.ini" ]; then + echo "Renaming PHP ini file '/etc/php7/20_openssl.ini' -> '/etc/php7/15_openssl.ini'" + mv /etc/php7/20_openssl.ini /etc/php7/15_openssl.ini + fi +} +endef + +define Package/php7-mod-mysqli/postinst +#!/bin/sh +[ -n "$$IPKG_INSTROOT" ] || { + if [ -e "/etc/php7/20_mysqli.ini" ] && [ -e "/etc/php7/30_mysqli.ini" ]; then + echo "Renaming PHP ini file '/etc/php7/20_mysqli.ini' -> '/etc/php7/30_mysqli.ini'" + mv /etc/php7/20_mysqli.ini /etc/php7/30_mysqli.ini + fi +} +endef + define Build/Prepare $(call Build/Prepare/Default) $(if $(QUILT),,( cd $(PKG_BUILD_DIR); touch configure.ac; ./buildconf --force ))