From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Thu, 09 Jun 2022 20:00:46 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1nzMSc-008zMp-RI for lore@lore.pengutronix.de; Thu, 09 Jun 2022 20:00:46 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1nzMSc-0002Yd-60; Thu, 09 Jun 2022 20:00:46 +0200 Received: from drehscheibe.grey.stw.pengutronix.de ([2a0a:edc0:0:c01:1d::a2]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nzMSM-0002Xu-TC; Thu, 09 Jun 2022 20:00:30 +0200 Received: from [2a0a:edc0:0:1101:1d::39] (helo=dude03.red.stw.pengutronix.de) by drehscheibe.grey.stw.pengutronix.de with esmtp (Exim 4.94.2) (envelope-from ) id 1nzMSN-007QNG-IN; Thu, 09 Jun 2022 20:00:30 +0200 Received: from mol by dude03.red.stw.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1nzMSK-00B6gk-6f; Thu, 09 Jun 2022 20:00:28 +0200 Date: Thu, 9 Jun 2022 20:00:28 +0200 From: Michael Olbrich To: Andreas Helmcke Message-ID: Mail-Followup-To: Andreas Helmcke , ptxdist@pengutronix.de References: <28671d34-f6bb-86e8-d8cb-0c0753ed7119@ela-soft.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <28671d34-f6bb-86e8-d8cb-0c0753ed7119@ela-soft.com> X-Sent-From: Pengutronix Hildesheim X-URL: http://www.pengutronix.de/ X-IRC: #ptxdist @freenode X-Accept-Language: de,en X-Accept-Content-Type: text/plain Subject: Re: [ptxdist] [PATCH v2 1/2] php: reanimate PHP as PHP8 X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: ptxdist@pengutronix.de Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false On Fri, Jun 03, 2022 at 05:12:08PM +0200, Andreas Helmcke wrote: > PHP5 is gone with commit f356f581e17a9474bdc01dbe3907f96558101609 "php5: remove old package" > > Let's try now with PHP8 instead and a minimal feature set due to limited > test options. The remaining features can be extended on demand. > > Co-authored-by: Juergen Borleis > Signed-off-by: Juergen Borleis > Signed-off-by: Andreas Helmcke > --- > v2 changes: > - format: correct use of tabs for indention > > rules/php8.in | 75 +++++++++++++++++++++++++++++ > rules/php8.make | 122 ++++++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 197 insertions(+) > create mode 100644 rules/php8.in > create mode 100644 rules/php8.make > > diff --git a/rules/php8.in b/rules/php8.in > new file mode 100644 > index 000000000..2ed2ea7fd > --- /dev/null > +++ b/rules/php8.in > @@ -0,0 +1,75 @@ > +## SECTION=scripting_languages > +# php6 configuration > + > +menuconfig PHP8 > + tristate > + prompt "php8 " > + select GLIBC_M > + help > + PHP, which stands for "PHP: Hypertext Preprocessor" is a widely-used > + general-purpose scripting language that is especially suited for web > + development and can be embedded into HTML. > + > +if PHP8 > + > +config PHP8_INI > + bool > + prompt "install /etc/php8/php.ini" > + default y > + help > + Installs (if present) the > + "./projectroot/etc/php8/php.ini" file from your > + workspace, otherwise a generic one from the ptxdist > + directory. > + > +# ---------------------------------------------------------------------------- > +# SAPI Modules (add more on demand) > +# ---------------------------------------------------------------------------- > + > +choice > + prompt "SAPI Module" > + default PHP8_SAPI_NONE > + help > + Select one of the SAP (Server Application Programming) Interfaces to > + be supported at run-time. It is possible to select no SAP interface > + here, then your PHP supports a command line interface (CLI) only. > + > +config PHP8_SAPI_CGI > + bool > + prompt "cgi" > + help > + Build standard CGI version of PHP. > + > +config PHP8_SAPI_NONE > + bool > + prompt "none" > + select PHP8_SAPI_CLI > + help > + This forces a command line interface variant only. > + > +endchoice > + > +config PHP8_SESSION > + bool > + prompt "session support" > + default y > + help > + A session is a way to store information to be used across multiple > + pages. The information is stored locally only. > + > +config PHP8_FILTER > + bool > + prompt "filter support" > + default y > + help > + This extension filters data by either validating or sanitizing it. > + This is especially useful when the data source contains unknown (or foreign) data, like user supplied input. > + For example, this data may come from an HTML form. > + > +config PHP8_SAPI_CLI > + bool > + prompt "cli" > + help > + Build command line interface (CLI) version of PHP > + > +endif > diff --git a/rules/php8.make b/rules/php8.make > new file mode 100644 > index 000000000..839d5ffdd > --- /dev/null > +++ b/rules/php8.make > @@ -0,0 +1,122 @@ > +# -*-makefile-*- > +# > +# Copyright (C) 2006-2008 by Robert Schwebel > +# 2009, 2012 by Marc Kleine-Budde > +# 2015 by Bruno Thomsen > +# 2021 by Juergen Borleis > +# > +# For further information about the PTXdist project and license conditions > +# see the README file. > +# > + > +# > +# We provide this package > +# > +PACKAGES-$(PTXCONF_PHP8) += php8 > + > +# > +# Paths and names > +# > +PHP8_VERSION := 8.1.6 > +PHP8_MD5 := 943eae7f07c2056ce87478e7d6c0cbbb > +PHP8 := php-$(PHP8_VERSION) > +PHP8_SUFFIX := tar.xz > +PHP8_SOURCE := $(SRCDIR)/$(PHP8).$(PHP8_SUFFIX) > +PHP8_DIR := $(BUILDDIR)/$(PHP8) > +PHP8_LICENSE := PHP-3.01 > +PHP8_LICENSE_FILES := file://LICENSE;md5=99532e0f6620bc9bca34f12fadaee33c > + > +# > +# Note: older releases are moved to the 'museum', but the 'de.php.net' > +# response with a HTML file instead of the archive. So, try the 'museum' > +# URL first > +# > +PHP8_URL := \ > + http://museum.php.net/php8/$(PHP8).$(PHP8_SUFFIX) \ > + http://de.php.net/distributions/$(PHP8).$(PHP8_SUFFIX) > + > +# ---------------------------------------------------------------------------- > +# Prepare > +# ---------------------------------------------------------------------------- > + > +PHP8_CONF_ENV := \ > + $(CROSS_ENV) \ > + ac_cv_prog_cc_cross=yes \ > + ac_cv_c_bigendian_php=$(call ptx/yesno, PTXCONF_ENDIAN_BIG) This is copied from the php5 rule. Is this stuff still needed? > + > +# > +# autoconf > +# > +PHP8_AUTOCONF := \ > + $(CROSS_AUTOCONF_USR) \ > + --with-config-file-path=/etc/php8 \ > + --without-iconv \ > + --disable-phpdbg \ > + --with-libdir=/usr/$(CROSS_LIB_DIR) \ > + --disable-opcache \ > + --disable-zend-signals The configure script has a lot more options. Please use configure_helper.py to check what's missing. If you're unsure about an option, then it's usually a good idea to just stick to the default for it. Just make sure to disable anything that would require an external dependency unless you add the dependency explicitly in the menu file. > + > +# ---------------------------------------------------------------------------- > +# Network options > +# ---------------------------------------------------------------------------- > + > +ifndef PTXCONF_GLOBAL_IPV6 > +PHP8_AUTOCONF += --disable-ipv6 > +endif > + > +# ---------------------------------------------------------------------------- > +# One of the "Server Application Programming Interfaces" > +# ---------------------------------------------------------------------------- > + > +ifndef PTXCONF_PHP8_SAPI_CGI > +PHP8_AUTOCONF += \ > + --disable-cgi > +endif > + > +# ---------------------------------------------------------------------------- > +# Generic configurations > +# ---------------------------------------------------------------------------- > + > +ifndef PTXCONF_PHP8_SAPI_CLI > +PHP8_AUTOCONF += --disable-cli > +endif > + > +# ---------------------------------------------------------------------------- > +# Extensions > +# ---------------------------------------------------------------------------- > + > +# Please extend on demand... > +PHP8_AUTOCONF += --disable-all \ > + --$(call ptx/endis, PTXCONF_PHP8_SESSION)-session \ > + --$(call ptx/endis, PTXCONF_PHP8_FILTER)-filter Don't split the options like this. Just add them all above in one go, in the order of './configure --help'. If ptx/endis cannot be used because the option is broken, then use ptx/ifdef (see libpcre.make for an example). Michael > + > +# ---------------------------------------------------------------------------- > +# Target-Install > +# ---------------------------------------------------------------------------- > + > +$(STATEDIR)/php8.targetinstall: > + @$(call targetinfo) > + > + @$(call install_init, php8) > + @$(call install_fixup, php8,PRIORITY,optional) > + @$(call install_fixup, php8,SECTION,base) > + @$(call install_fixup, php8,AUTHOR,"Robert Schwebel ") > + @$(call install_fixup, php8,DESCRIPTION,missing) > + > +ifdef PTXCONF_PHP8_SAPI_CLI > + @$(call install_copy, php8, 0, 0, 0755, -, /usr/bin/php) > +endif > + > +ifdef PTXCONF_PHP8_SAPI_CGI > + @$(call install_copy, php8, 0, 0, 0755, -, /usr/bin/php-cgi) > +endif > + > +ifdef PTXCONF_PHP8_INI > + @$(call install_alternative, php8, 0, 0, 0644, /etc/php8/php.ini) > +endif > + > + @$(call install_finish, php8) > + > + @$(call touch) > + > +# vim: syntax=make > -- > 2.34.1 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |