mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Michael Olbrich <m.olbrich@pengutronix.de>
To: Andreas Helmcke <ahelmcke@ela-soft.com>
Cc: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH v2 1/2] php: reanimate PHP as PHP8
Date: Fri, 10 Jun 2022 08:19:34 +0200	[thread overview]
Message-ID: <YqLidp9ScWCqTEBf@pengutronix.de> (raw)
In-Reply-To: <28671d34-f6bb-86e8-d8cb-0c0753ed7119@ela-soft.com>

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 <jbe@pengutronix.de>
> Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
> Signed-off-by: Andreas Helmcke <ahelmcke@ela-soft.com>
> ---
> 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 <mkl@pengutronix.de>
> +#               2015 by Bruno Thomsen <bth@kamstrup.com>
> +#               2021 by Juergen Borleis <jbe@pengutronix.de>
> +#
> +# 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)
> +
> +#
> +# 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
> +
> +# ----------------------------------------------------------------------------
> +# 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
> +
> +# ----------------------------------------------------------------------------
> +# 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 <r.schwebel@pengutronix.de>")
> +	@$(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)

php8 does not install this, so you need to add on to ptxdist in
projectroot/.

Michael

> +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 |



  parent reply	other threads:[~2022-06-10  6:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-30 16:55 [ptxdist] [PATCH " Andreas Helmcke
2022-06-03  7:07 ` Michael Olbrich
2022-06-03 15:12   ` [ptxdist] [PATCH v2 " Andreas Helmcke
2022-06-09 18:00     ` Michael Olbrich
2022-06-10  6:19     ` Michael Olbrich [this message]
2022-06-10  9:42       ` Andreas Helmcke
2022-06-13 19:25       ` [ptxdist] [PATCH v3 " Andreas Helmcke
2022-06-20  6:19         ` [ptxdist] [APPLIED] " Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YqLidp9ScWCqTEBf@pengutronix.de \
    --to=m.olbrich@pengutronix.de \
    --cc=ahelmcke@ela-soft.com \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox