diff options
author | Eugene Lamskoy | 2021-12-04 21:00:58 +0200 |
---|---|---|
committer | Eugene Lamskoy | 2021-12-04 21:00:58 +0200 |
commit | 1981dce19c230eaa136db1f228a16d381de871b3 (patch) | |
tree | 7f1ace4b63cb77d38d96c09a3bcf81781c2c3715 | |
parent | 2c49391eb015e787219a9780cf2eeb1f18697f45 (diff) | |
download | aur-1981dce19c230eaa136db1f228a16d381de871b3.tar.gz |
Fixed issues for php-fpm
-rw-r--r-- | .SRCINFO | 25 | ||||
-rw-r--r-- | PKGBUILD | 420 | ||||
-rw-r--r-- | apache.conf | 4 | ||||
-rw-r--r-- | enchant-2.patch | 0 | ||||
-rwxr-xr-x | generate_patches | 66 | ||||
-rw-r--r-- | php.ini.patch | 2 |
6 files changed, 184 insertions, 333 deletions
@@ -1,6 +1,7 @@ pkgbase = php81 + pkgdesc = php 8.1.0 compiled as to not conflict with mainline php pkgver = 8.1.0 - pkgrel = 2 + pkgrel = 3 url = https://www.php.net/ arch = x86_64 arch = i686 @@ -39,10 +40,10 @@ pkgbase = php81 source = php.ini.patch sha256sums = a1317eff0723a2b3d3122bbfe107a1158570ea2822dc35a5fb360086db0f6bbc sha256sums = 702b163c66c65af92dcad8d79f41bda84bcd5d863235fcf1497c33a86db9e4ca - sha256sums = 52bdc4a5fae96e2aab1de707001414b6a5a9a17823e1e3a47f0f1e9a9788dc3e + sha256sums = 4a2add00d93fa991ccdf6356090264c1059c79935642afff6e8d4a2107fa037e sha256sums = 96e0b05a5ec72ee0f907d29fbb9612414d9dfebeee1249cbf2f2318bacf2d37c sha256sums = eb0c0aec5b5fb282df0bfefd4d5bbc229ee80a5c5da6760ecf52697a23cc7175 - sha256sums = 6f73b6ac4b425ebc4505c7f75ca48763605b2c774c30bfa20072adcfbb1030cd + sha256sums = cc17f28807c63c49c6047fbaf19384f348af51bb0e737b364b9780e7b3cd4050 pkgname = php81 pkgdesc = A general-purpose scripting language that is especially suited to web development @@ -54,10 +55,6 @@ pkgname = php81 depends = libzip depends = pcre2 depends = argon2 - provides = php81-ldap=8.1.0 - provides = php81 - conflicts = php81-ldap - replaces = php81-ldap backup = etc/php81/php.ini pkgname = php81-cgi @@ -68,7 +65,6 @@ pkgname = php81-apache pkgdesc = Apache SAPI for PHP depends = php81 depends = apache - depends = libnsl backup = etc/httpd/conf/extra/php81_module.conf pkgname = php81-fpm @@ -82,8 +78,7 @@ pkgname = php81-fpm pkgname = php81-embed pkgdesc = Embedded PHP SAPI library depends = php81 - depends = systemd-libs - depends = libnsl + depends = libsystemd options = !emptydirs pkgname = php81-phpdbg @@ -116,11 +111,6 @@ pkgname = php81-intl depends = php81 depends = icu -pkgname = php81-sodium - pkgdesc = sodium module for PHP - depends = php81 - depends = libsodium - pkgname = php81-odbc pkgdesc = ODBC modules for PHP depends = php81 @@ -155,3 +145,8 @@ pkgname = php81-xsl pkgdesc = xsl module for PHP depends = php81 depends = libxslt + +pkgname = php81-sodium + pkgdesc = sodium module for PHP + depends = php81 + depends = libsodium @@ -1,54 +1,79 @@ -_phpbase=81 -_suffix= -pkgbase=php${_phpbase}${_suffix} -_pkgbase=${pkgbase%$_phpbase$_suffix} -if [ -z "${_suffix}" ]; then - _realpkg=${pkgbase} -else - _realpkg=${pkgbase%$_suffix} -fi -pkgname=("${pkgbase}" "${_realpkg}-"{cgi,apache,fpm,embed,phpdbg,dblib,enchant,gd,imap,intl,sodium,odbc,pgsql,pspell,snmp,sqlite,tidy,xsl}"${_suffix}") +# Build props +phpbase=81 pkgver=8.1.0 -pkgrel=2 +pkgrel=3 + +# Custom suffix +suffix= + arch=('x86_64' 'i686') license=('PHP') url='https://www.php.net/' + +# Has php string +_base="php" + +# Calculated +program_suffix="${phpbase}${suffix}" +pkgdesc="${_base} ${pkgver} compiled as to not conflict with mainline ${_base}" +pkgbase="${_base}${program_suffix}" +pkgname=("${pkgbase}" "${_base}${phpbase}-"{cgi,apache,fpm,embed,phpdbg,dblib,enchant,gd,imap,intl,odbc,pgsql,pspell,snmp,sqlite,tidy,xsl,sodium}${suffix}) + makedepends=('apache' 'aspell' 'c-client' 'db' 'enchant' 'gd' 'gmp' 'icu' 'libsodium' 'libxslt' 'libzip' 'net-snmp' 'postgresql-libs' 'sqlite' 'systemd' 'tidy' 'unixodbc' 'curl' 'libtool' 'postfix' 'freetds' 'pcre2' 'libnsl' 'oniguruma' 'patchutils') checkdepends=('procps-ng') -source=("https://php.net/distributions/${_pkgbase}-${pkgver}.tar.xz" + +source=("https://php.net/distributions/${_base}-${pkgver}.tar.xz" 'apache.patch' 'apache.conf' 'php-fpm.patch' 'php-fpm.tmpfiles' 'php.ini.patch') +# Version specific" +name_libapache_source="libphp.so" +name_libembed_source="libphp.so" + +# Dirs +dir_config="etc/${pkgbase}" +dir_lib="usr/lib/${pkgbase}" + +# Binary names +name_phpconfig="php-config${program_suffix}" +name_phpize="phpize${program_suffix}" +name_phar="phar${program_suffix}" + +# Conf names +name_apache_module_conf="${pkgbase/-/_}_module.conf" + prepare() { - cd ${srcdir}/${_pkgbase}-${pkgver} + cd "${_base}-${pkgver}" patch -p0 -i ${srcdir}/apache.patch patch -p0 -i ${srcdir}/php-fpm.patch patch -p0 -i ${srcdir}/php.ini.patch autoconf rm tests/output/stream_isatty_*.phpt + rm Zend/tests/arginfo_zpp_mismatch*.phpt } build() { # http://site.icu-project.org/download/61#TOC-Migration-Issues - unset CPPFLAGS + #unset CPPFLAGS CPPFLAGS+=' -DU_USING_ICU_NAMESPACE=1' - local _phpconfig="--srcdir=../${_pkgbase}-${pkgver} \ + local _phpconfig="--srcdir=../${_base}-${pkgver} \ --config-cache \ --prefix=/usr \ --sbindir=/usr/bin \ - --sysconfdir=/etc/${_realpkg} \ + --sysconfdir=/${dir_config} \ --localstatedir=/var \ - --libdir=/usr/lib/${_realpkg} \ - --datarootdir=/usr/share/${_realpkg} \ - --datadir=/usr/share/${_realpkg} \ - --program-suffix=${_realpkg#php} \ + --libdir=/${dir_lib} \ + --datarootdir=/usr/share/${pkgbase} \ + --datadir=/usr/share/${pkgbase} \ + --program-suffix=${program_suffix} \ --with-layout=GNU \ - --with-config-file-path=/etc/${_realpkg} \ - --with-config-file-scan-dir=/etc/${_realpkg}/conf.d \ + --with-config-file-path=/${dir_config} \ + --with-config-file-scan-dir=/${dir_config}/conf.d \ --disable-rpath \ --mandir=/usr/share/man \ + --without-pear \ " local _phpextensions="\ @@ -106,12 +131,12 @@ build() { --with-zip=shared \ " - EXTENSION_DIR=/usr/lib/${_realpkg}/modules + EXTENSION_DIR="/${dir_lib}/modules" export EXTENSION_DIR - mkdir ${srcdir}/build - cd ${srcdir}/build - ln -s ../${_pkgbase}-${pkgver}/configure + mkdir "${srcdir}/build" + cd "${srcdir}/build" + ln -s ../${_base}-${pkgver}/configure ./configure ${_phpconfig} \ --enable-cgi \ --enable-fpm \ @@ -141,117 +166,67 @@ build() { make } -#check() { -# -# unset CPPFLAGS -# cd ${srcdir}/build - - # Check if sendmail was configured correctly (FS#47600) -# sapi/cli/php -n -r 'echo ini_get("sendmail_path");' | grep -q '/usr/bin/sendmail' - -# export REPORT_EXIT_STATUS=1 -# export NO_INTERACTION=1 -# export SKIP_ONLINE_TESTS=1 -# export SKIP_SLOW_TESTS=1 -# export TEST_PHP_ARGS="-j$(nproc)" -# export TESTS='tests Zend' -# -# make test -#} - -if [ -z "${_suffix}" ]; then -package_php81() { -pkgdesc='A general-purpose scripting language that is especially suited to web development' - depends=('libxml2' 'hspell' 'nuspell' 'libvoikko' 'curl' 'libzip' 'pcre2' 'argon2') - replaces=("${_realpkg}-ldap") - conflicts=("${_realpkg}-ldap") - provides=("${_realpkg}-ldap=${pkgver}" "${_realpkg}") - backup=("etc/${_realpkg}/php.ini") - +check() { + #unset CPPFLAGS cd ${srcdir}/build - make -j1 INSTALL_ROOT=${pkgdir} install-{modules,cli,build,headers,programs,pharcmd} - install -D -m644 ${srcdir}/${_pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/${_realpkg}/php.ini - install -d -m755 ${pkgdir}/etc/${_realpkg}/conf.d/ - - # remove static modules - rm -f ${pkgdir}/usr/lib/${_realpkg}/modules/*.a - # remove modules provided by sub packages - rm -f ${pkgdir}/usr/lib/${_realpkg}/modules/{enchant,gd,imap,intl,sodium,odbc,pdo_dblib,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so - # remove empty directory - rmdir ${pkgdir}/usr/include/php/include - - # move include directory - mv ${pkgdir}/usr/include/php ${pkgdir}/usr/include/${_realpkg} - - # fix phar symlink - #rm ${pkgdir}/usr/bin/phar - ln -sf phar${_phpbase}.phar ${pkgdir}/usr/bin/phar${_phpbase} - - # rename executables - #mv ${pkgdir}/usr/bin/phar.phar ${pkgdir}/usr/bin/phar.phar${_phpbase} - - # rename man pages - #mv ${pkgdir}/usr/share/man/man1/{phar,phar80}.1 - #mv ${pkgdir}/usr/share/man/man1/phar.{phar,phar80}.1 - # fix paths in executables - sed -i "/^includedir=/c \includedir=/usr/include/${_realpkg}" ${pkgdir}/usr/bin/phpize${_phpbase} - sed -i "/^include_dir=/c \include_dir=/usr/include/${_realpkg}" ${pkgdir}/usr/bin/php-config${_phpbase} + # Check if sendmail was configured correctly (FS#47600) + sapi/cli/php -n -r 'echo ini_get("sendmail_path");' | grep -q '/usr/bin/sendmail' - # make phpize use php-config - _tmpsed="/^\[ --with-php-config=/c \[ --with-php-config=PATH Path to php-config [php-config${_phpbase}]], php-config${_phpbase}, no)" - sed -i "${_tmpsed}" ${pkgdir}/usr/lib/${_realpkg}/build/phpize.m4 + export REPORT_EXIT_STATUS=1 + export NO_INTERACTION=1 + export SKIP_ONLINE_TESTS=1 + export SKIP_SLOW_TESTS=1 + export TEST_PHP_ARGS="-j$(nproc)" + export TESTS='tests Zend' + make test } -else -package_php81-el() { -pkgdesc='A general-purpose scripting language that is especially suited to web development' + +package_php81() { + pkgdesc='A general-purpose scripting language that is especially suited to web development' depends=('libxml2' 'hspell' 'nuspell' 'libvoikko' 'curl' 'libzip' 'pcre2' 'argon2') - replaces=("${_realpkg}-ldap") - conflicts=("${_realpkg}-ldap") - provides=("${_realpkg}-ldap=${pkgver}" "${_realpkg}") - backup=("etc/${_realpkg}/php.ini") + backup=("${dir_config}/php.ini") + #provides=("${pkgbase}=${pkgver}") cd ${srcdir}/build make -j1 INSTALL_ROOT=${pkgdir} install-{modules,cli,build,headers,programs,pharcmd} - install -D -m644 ${srcdir}/${_pkgbase}-${pkgver}/php.ini-production ${pkgdir}/etc/${_realpkg}/php.ini - install -d -m755 ${pkgdir}/etc/${_realpkg}/conf.d/ + install -D -m644 ${srcdir}/${_base}-${pkgver}/php.ini-production ${pkgdir}/${dir_config}/php.ini + install -d -m755 ${pkgdir}/${dir_config}/conf.d/ # remove static modules - rm -f ${pkgdir}/usr/lib/${_realpkg}/modules/*.a + rm -f ${pkgdir}/${dir_lib}/modules/*.a # remove modules provided by sub packages - rm -f ${pkgdir}/usr/lib/${_realpkg}/modules/{enchant,gd,imap,intl,sodium,odbc,pdo_dblib,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so + rm -f ${pkgdir}/${dir_lib}/modules/{enchant,gd,imap,intl,sodium,odbc,pdo_dblib,pdo_odbc,pgsql,pdo_pgsql,pspell,snmp,sqlite3,pdo_sqlite,tidy,xsl}.so # remove empty directory rmdir ${pkgdir}/usr/include/php/include # move include directory - mv ${pkgdir}/usr/include/php ${pkgdir}/usr/include/${_realpkg} + mv ${pkgdir}/usr/include/php ${pkgdir}/usr/include/${pkgbase} # fix phar symlink - #rm ${pkgdir}/usr/bin/phar - ln -sf phar${_phpbase}.phar ${pkgdir}/usr/bin/phar${_phpbase} + #rm ${pkgdir}/usr/bin/phar + ln -sf ${name_phar}.phar ${pkgdir}/usr/bin/${name_phar} # rename executables - #mv ${pkgdir}/usr/bin/phar.phar ${pkgdir}/usr/bin/phar.phar${_phpbase} + #mv ${pkgdir}/usr/bin/phar.phar ${pkgdir}/usr/bin/${name_phar}.phar + # rename man pages - #mv ${pkgdir}/usr/share/man/man1/{phar,phar80}.1 - #mv ${pkgdir}/usr/share/man/man1/phar.{phar,phar80}.1 + #mv ${pkgdir}/usr/share/man/man1/{phar,${name_phar}}.1 + #mv ${pkgdir}/usr/share/man/man1/phar.{phar,${name_phar}}.1 # fix paths in executables - sed -i "/^includedir=/c \includedir=/usr/include/${_realpkg}" ${pkgdir}/usr/bin/phpize${_phpbase} - sed -i "/^include_dir=/c \include_dir=/usr/include/${_realpkg}" ${pkgdir}/usr/bin/php-config${_phpbase} + sed -i "/^includedir=/c \includedir=/usr/include/${pkgbase}" ${pkgdir}/usr/bin/${name_phpize} + sed -i "/^include_dir=/c \include_dir=/usr/include/${pkgbase}" ${pkgdir}/usr/bin/${name_phpconfig} - # make phpize use php-config - _tmpsed="/^\[ --with-php-config=/c \[ --with-php-config=PATH Path to php-config [php-config${_phpbase}]], php-config${_phpbase}, no)" - sed -i "${_tmpsed}" ${pkgdir}/usr/lib/${_realpkg}/build/phpize.m4 + # make phpize use php-config${phpbase} + sed -i "/^\[ --with-php-config=/c \[ --with-php-config=PATH Path to php-config [${name_phpconfig}]], ${name_phpconfig}, no)" ${pkgdir}/${dir_lib}/build/phpize.m4 } -fi - -if [ -z "${_suffix}" ]; then package_php81-cgi() { pkgdesc='CGI and FCGI SAPI for PHP' depends=("${pkgbase}") + #provides=("${pkgbase}-cgi=${pkgver}") cd ${srcdir}/build make -j1 INSTALL_ROOT=${pkgdir} install-cgi @@ -259,39 +234,47 @@ package_php81-cgi() { package_php81-apache() { pkgdesc='Apache SAPI for PHP' - depends=("${pkgbase}" 'apache' 'libnsl') - backup=("etc/httpd/conf/extra/${_realpkg}_module.conf") - - install -D -m755 ${srcdir}/build-apache/libs/libphp.so ${pkgdir}/usr/lib/httpd/modules/lib${_realpkg}.so - install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/${_realpkg}_module.conf + depends=("${pkgbase}" 'apache') + backup=("etc/httpd/conf/extra/${name_apache_module_conf}") + #provides=("${pkgbase}-apache=${pkgver}") + echo "# End of LoadModule in httpd.conf - see ArchWiki Apache HTTP Server" + echo "LoadModule php7_module modules/lib${pkgbase}.so" + echo "AddHandler php7-script .php" + echo "# End of Include List" + echo "Include conf/extra/${name_apache_module_conf}" + install -D -m755 ${srcdir}/build-apache/libs/${name_libapache_source} ${pkgdir}/usr/lib/httpd/modules/lib${pkgbase}.so + install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/${name_apache_module_conf} } package_php81-fpm() { pkgdesc='FastCGI Process Manager for PHP' depends=("${pkgbase}" 'systemd') - backup=("etc/${_realpkg}/php-fpm.conf" "etc/${_realpkg}/php-fpm.d/www.conf") + backup=("${dir_config}/php-fpm.conf" "${dir_config}/php-fpm.d/www.conf") options=('!emptydirs') + #provides=("${pkgbase}-fpm=${pkgver}") cd ${srcdir}/build make -j1 INSTALL_ROOT=${pkgdir} install-fpm - install -D -m644 sapi/fpm/php-fpm.service ${pkgdir}/usr/lib/systemd/system/${_realpkg}-fpm.service - install -D -m644 ${srcdir}/php-fpm.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/${_realpkg}-fpm.conf + install -D -m644 sapi/fpm/php-fpm.service ${pkgdir}/usr/lib/systemd/system/${pkgbase}-fpm.service + install -D -m644 ${srcdir}/php-fpm.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/${pkgbase}-fpm.conf } package_php81-embed() { pkgdesc='Embedded PHP SAPI library' - depends=("${pkgbase}" 'systemd-libs' 'libnsl') + depends=("${pkgbase}" 'libsystemd') options=('!emptydirs') + #provides=("${pkgbase}-embed=${pkgver}") cd ${srcdir}/build make -j1 INSTALL_ROOT=${pkgdir} PHP_SAPI=embed install-sapi - mv ${pkgdir}/usr/lib/libphp.so ${pkgdir}/usr/lib/libphp-${_phpbase}.so + mv ${pkgdir}/usr/lib/${name_libembed_source} ${pkgdir}/usr/lib/libphp${program_suffix}.so } package_php81-phpdbg() { pkgdesc='Interactive PHP debugger' depends=("${pkgbase}") options=('!emptydirs') + #provides=("${pkgbase}-phpdbg=${pkgver}") cd ${srcdir}/build-phpdbg make -j1 INSTALL_ROOT=${pkgdir} install-phpdbg @@ -300,247 +283,110 @@ package_php81-phpdbg() { package_php81-dblib() { pkgdesc='dblib module for PHP' depends=("${pkgbase}" 'freetds') + #provides=("${pkgbase}-dblib=${pkgver}") - install -D -m755 ${srcdir}/build/modules/pdo_dblib.so ${pkgdir}/usr/lib/${_realpkg}/modules/pdo_dblib.so + install -D -m755 ${srcdir}/build/modules/pdo_dblib.so ${pkgdir}/${dir_lib}/modules/pdo_dblib.so } package_php81-enchant() { pkgdesc='enchant module for PHP' depends=("${pkgbase}" 'enchant') + #provides=("${pkgbase}-enchant=${pkgver}") - install -D -m755 ${srcdir}/build/modules/enchant.so ${pkgdir}/usr/lib/${_realpkg}/modules/enchant.so + install -D -m755 ${srcdir}/build/modules/enchant.so ${pkgdir}/${dir_lib}/modules/enchant.so } package_php81-gd() { pkgdesc='gd module for PHP' depends=("${pkgbase}" 'gd') + #provides=("${pkgbase}-gd=${pkgver}") - install -D -m755 ${srcdir}/build/modules/gd.so ${pkgdir}/usr/lib/${_realpkg}/modules/gd.so + install -D -m755 ${srcdir}/build/modules/gd.so ${pkgdir}/${dir_lib}/modules/gd.so } package_php81-imap() { pkgdesc='imap module for PHP' depends=("${pkgbase}" 'c-client') + #provides=("${pkgbase}-imap=${pkgver}") - install -D -m755 ${srcdir}/build/modules/imap.so ${pkgdir}/usr/lib/${_realpkg}/modules/imap.so + install -D -m755 ${srcdir}/build/modules/imap.so ${pkgdir}/${dir_lib}/modules/imap.so } package_php81-intl() { pkgdesc='intl module for PHP' depends=("${pkgbase}" 'icu') + #provides=("${pkgbase}-intl=${pkgver}") - install -D -m755 ${srcdir}/build/modules/intl.so ${pkgdir}/usr/lib/${_realpkg}/modules/intl.so -} - -package_php81-sodium() { - pkgdesc='sodium module for PHP' - depends=("${pkgbase}" 'libsodium') - - install -D -m755 ${srcdir}/build/modules/sodium.so ${pkgdir}/usr/lib/${_realpkg}/modules/sodium.so + install -D -m755 ${srcdir}/build/modules/intl.so ${pkgdir}/${dir_lib}/modules/intl.so } package_php81-odbc() { pkgdesc='ODBC modules for PHP' depends=("${pkgbase}" 'unixodbc') + #provides=("${pkgbase}-odbc=${pkgver}") - install -D -m755 ${srcdir}/build/modules/odbc.so ${pkgdir}/usr/lib/${_realpkg}/modules/odbc.so - install -D -m755 ${srcdir}/build/modules/pdo_odbc.so ${pkgdir}/usr/lib/${_realpkg}/modules/pdo_odbc.so + install -D -m755 ${srcdir}/build/modules/odbc.so ${pkgdir}/${dir_lib}/modules/odbc.so + install -D -m755 ${srcdir}/build/modules/pdo_odbc.so ${pkgdir}/${dir_lib}/modules/pdo_odbc.so } package_php81-pgsql() { pkgdesc='PostgreSQL modules for PHP' depends=("${pkgbase}" 'postgresql-libs') + #provides=("${pkgbase}-pgsql=${pkgver}") - install -D -m755 ${srcdir}/build/modules/pgsql.so ${pkgdir}/usr/lib/${_realpkg}/modules/pgsql.so - install -D -m755 ${srcdir}/build/modules/pdo_pgsql.so ${pkgdir}/usr/lib/${_realpkg}/modules/pdo_pgsql.so + install -D -m755 ${srcdir}/build/modules/pgsql.so ${pkgdir}/${dir_lib}/modules/pgsql.so + install -D -m755 ${srcdir}/build/modules/pdo_pgsql.so ${pkgdir}/${dir_lib}/modules/pdo_pgsql.so } package_php81-pspell() { pkgdesc='pspell module for PHP' depends=("${pkgbase}" 'aspell') + #provides=("${pkgbase}-pspell=${pkgver}") - install -D -m755 ${srcdir}/build/modules/pspell.so ${pkgdir}/usr/lib/${_realpkg}/modules/pspell.so + install -D -m755 ${srcdir}/build/modules/pspell.so ${pkgdir}/${dir_lib}/modules/pspell.so } package_php81-snmp() { pkgdesc='snmp module for PHP' depends=("${pkgbase}" 'net-snmp') + #provides=("${pkgbase}-snmp=${pkgver}") - install -D -m755 ${srcdir}/build/modules/snmp.so ${pkgdir}/usr/lib/${_realpkg}/modules/snmp.so + install -D -m755 ${srcdir}/build/modules/snmp.so ${pkgdir}/${dir_lib}/modules/snmp.so } package_php81-sqlite() { pkgdesc='sqlite module for PHP' depends=("${pkgbase}" 'sqlite') - - install -D -m755 ${srcdir}/build/modules/sqlite3.so ${pkgdir}/usr/lib/${_realpkg}/modules/sqlite3.so - install -D -m755 ${srcdir}/build/modules/pdo_sqlite.so ${pkgdir}/usr/lib/${_realpkg}/modules/pdo_sqlite.so + #provides=("${pkgbase}-sqlite=${pkgver}") + install -D -m755 ${srcdir}/build/modules/sqlite3.so ${pkgdir}/${dir_lib}/modules/sqlite3.so + install -D -m755 ${srcdir}/build/modules/pdo_sqlite.so ${pkgdir}/${dir_lib}/modules/pdo_sqlite.so } package_php81-tidy() { pkgdesc='tidy module for PHP' depends=("${pkgbase}" 'tidy') - - install -D -m755 ${srcdir}/build/modules/tidy.so ${pkgdir}/usr/lib/${_realpkg}/modules/tidy.so + #provides=("${pkgbase}-tidy=${pkgver}") + install -D -m755 ${srcdir}/build/modules/tidy.so ${pkgdir}/${dir_lib}/modules/tidy.so } package_php81-xsl() { pkgdesc='xsl module for PHP' depends=("${pkgbase}" 'libxslt') - - install -D -m755 ${srcdir}/build/modules/xsl.so ${pkgdir}/usr/lib/${_realpkg}/modules/xsl.so -} -else - - - - -package_php81-cgi-el() { - pkgdesc='CGI and FCGI SAPI for PHP' - depends=("${pkgbase}") - - cd ${srcdir}/build - make -j1 INSTALL_ROOT=${pkgdir} install-cgi -} - -package_php81-apache-el() { - pkgdesc='Apache SAPI for PHP' - depends=("${pkgbase}" 'apache' 'libnsl') - backup=("etc/httpd/conf/extra/${_realpkg}_module.conf") - - install -D -m755 ${srcdir}/build-apache/libs/libphp.so ${pkgdir}/usr/lib/httpd/modules/lib${_realpkg}.so - install -D -m644 ${srcdir}/apache.conf ${pkgdir}/etc/httpd/conf/extra/${_realpkg}_module.conf -} - -package_php81-fpm-el() { - pkgdesc='FastCGI Process Manager for PHP' - depends=("${pkgbase}" 'systemd') - backup=("etc/${_realpkg}/php-fpm.conf" "etc/${_realpkg}/php-fpm.d/www.conf") - options=('!emptydirs') - - cd ${srcdir}/build - make -j1 INSTALL_ROOT=${pkgdir} install-fpm - install -D -m644 sapi/fpm/php-fpm.service ${pkgdir}/usr/lib/systemd/system/${_realpkg}-fpm.service - install -D -m644 ${srcdir}/php-fpm.tmpfiles ${pkgdir}/usr/lib/tmpfiles.d/${_realpkg}-fpm.conf + #provides=("${pkgbase}-xsl=${pkgver}") + install -D -m755 ${srcdir}/build/modules/xsl.so ${pkgdir}/${dir_lib}/modules/xsl.so } -package_php81-embed-el() { - pkgdesc='Embedded PHP SAPI library' - depends=("${pkgbase}" 'systemd-libs' 'libnsl') - options=('!emptydirs') - - cd ${srcdir}/build - make -j1 INSTALL_ROOT=${pkgdir} PHP_SAPI=embed install-sapi - mv ${pkgdir}/usr/lib/libphp.so ${pkgdir}/usr/lib/libphp-${_phpbase}.so -} - -package_php81-phpdbg-el() { - pkgdesc='Interactive PHP debugger' - depends=("${pkgbase}") - options=('!emptydirs') - - cd ${srcdir}/build-phpdbg - make -j1 INSTALL_ROOT=${pkgdir} install-phpdbg -} - -package_php81-dblib-el() { - pkgdesc='dblib module for PHP' - depends=("${pkgbase}" 'freetds') - - install -D -m755 ${srcdir}/build/modules/pdo_dblib.so ${pkgdir}/usr/lib/${_realpkg}/modules/pdo_dblib.so -} - -package_php81-enchant-el() { - pkgdesc='enchant module for PHP' - depends=("${pkgbase}" 'enchant') - - install -D -m755 ${srcdir}/build/modules/enchant.so ${pkgdir}/usr/lib/${_realpkg}/modules/enchant.so -} - -package_php81-gd-el() { - pkgdesc='gd module for PHP' - depends=("${pkgbase}" 'gd') - - install -D -m755 ${srcdir}/build/modules/gd.so ${pkgdir}/usr/lib/${_realpkg}/modules/gd.so -} - -package_php81-imap-el() { - pkgdesc='imap module for PHP' - depends=("${pkgbase}" 'c-client') - - install -D -m755 ${srcdir}/build/modules/imap.so ${pkgdir}/usr/lib/${_realpkg}/modules/imap.so -} - -package_php81-intl-el() { - pkgdesc='intl module for PHP' - depends=("${pkgbase}" 'icu') - - install -D -m755 ${srcdir}/build/modules/intl.so ${pkgdir}/usr/lib/${_realpkg}/modules/intl.so -} - -package_php81-sodium-el() { +package_php81-sodium() { pkgdesc='sodium module for PHP' depends=("${pkgbase}" 'libsodium') - - install -D -m755 ${srcdir}/build/modules/sodium.so ${pkgdir}/usr/lib/${_realpkg}/modules/sodium.so -} - -package_php81-odbc-el() { - pkgdesc='ODBC modules for PHP' - depends=("${pkgbase}" 'unixodbc') - - install -D -m755 ${srcdir}/build/modules/odbc.so ${pkgdir}/usr/lib/${_realpkg}/modules/odbc.so - install -D -m755 ${srcdir}/build/modules/pdo_odbc.so ${pkgdir}/usr/lib/${_realpkg}/modules/pdo_odbc.so -} - -package_php81-pgsql-el() { - pkgdesc='PostgreSQL modules for PHP' - depends=("${pkgbase}" 'postgresql-libs') - - install -D -m755 ${srcdir}/build/modules/pgsql.so ${pkgdir}/usr/lib/${_realpkg}/modules/pgsql.so - install -D -m755 ${srcdir}/build/modules/pdo_pgsql.so ${pkgdir}/usr/lib/${_realpkg}/modules/pdo_pgsql.so + #provides=("${pkgbase}-sodium=${pkgver}") + install -D -m755 ${srcdir}/build/modules/sodium.so ${pkgdir}/${dir_lib}/modules/sodium.so } -package_php81-pspell-el() { - pkgdesc='pspell module for PHP' - depends=("${pkgbase}" 'aspell') - - install -D -m755 ${srcdir}/build/modules/pspell.so ${pkgdir}/usr/lib/${_realpkg}/modules/pspell.so -} - -package_php81-snmp-el() { - pkgdesc='snmp module for PHP' - depends=("${pkgbase}" 'net-snmp') - - install -D -m755 ${srcdir}/build/modules/snmp.so ${pkgdir}/usr/lib/${_realpkg}/modules/snmp.so -} - -package_php81-sqlite-el() { - pkgdesc='sqlite module for PHP' - depends=("${pkgbase}" 'sqlite') - - install -D -m755 ${srcdir}/build/modules/sqlite3.so ${pkgdir}/usr/lib/${_realpkg}/modules/sqlite3.so - install -D -m755 ${srcdir}/build/modules/pdo_sqlite.so ${pkgdir}/usr/lib/${_realpkg}/modules/pdo_sqlite.so -} - -package_php81-tidy-el() { - pkgdesc='tidy module for PHP' - depends=("${pkgbase}" 'tidy') - - install -D -m755 ${srcdir}/build/modules/tidy.so ${pkgdir}/usr/lib/${_realpkg}/modules/tidy.so -} - -package_php81-xsl-el() { - pkgdesc='xsl module for PHP' - depends=("${pkgbase}" 'libxslt') - - install -D -m755 ${srcdir}/build/modules/xsl.so ${pkgdir}/usr/lib/${_realpkg}/modules/xsl.so -} -fi sha256sums=('a1317eff0723a2b3d3122bbfe107a1158570ea2822dc35a5fb360086db0f6bbc' '702b163c66c65af92dcad8d79f41bda84bcd5d863235fcf1497c33a86db9e4ca' - '52bdc4a5fae96e2aab1de707001414b6a5a9a17823e1e3a47f0f1e9a9788dc3e' + '4a2add00d93fa991ccdf6356090264c1059c79935642afff6e8d4a2107fa037e' '96e0b05a5ec72ee0f907d29fbb9612414d9dfebeee1249cbf2f2318bacf2d37c' 'eb0c0aec5b5fb282df0bfefd4d5bbc229ee80a5c5da6760ecf52697a23cc7175' - '6f73b6ac4b425ebc4505c7f75ca48763605b2c774c30bfa20072adcfbb1030cd') + 'cc17f28807c63c49c6047fbaf19384f348af51bb0e737b364b9780e7b3cd4050') diff --git a/apache.conf b/apache.conf index 1ff98e95061e..bc57ba73dbcd 100644 --- a/apache.conf +++ b/apache.conf @@ -1,7 +1,7 @@ -# Required modules: dir_module, php8_module +# Required modules: dir_module, php_module <IfModule dir_module> - <IfModule php8_module> + <IfModule php_module> DirectoryIndex index.php index.html <FilesMatch "\.php$"> SetHandler application/x-httpd-php diff --git a/enchant-2.patch b/enchant-2.patch deleted file mode 100644 index e69de29bb2d1..000000000000 --- a/enchant-2.patch +++ /dev/null diff --git a/generate_patches b/generate_patches index d773305aba7f..7b51e2ee7a66 100755 --- a/generate_patches +++ b/generate_patches @@ -4,50 +4,58 @@ makepkg -o --nodeps --noprepare --skipinteg -pushd src/${_pkgbase}-${pkgver} +pushd src/php-${pkgver} sed '/APACHE_THREADED_MPM=/d' -i.orig sapi/apache2handler/config.m4 sed 's/.conf.default/.conf/g' -i.orig sapi/fpm/Makefile.frag sed \ - -e 's#run/php-fpm.pid#/run/php81-fpm/php-fpm.pid#' \ - -e 's#^;error_log =.*#error_log = syslog#' \ - -i.orig sapi/fpm/php-fpm.conf.in + -e "s#run/php-fpm.pid#/run/php${phpbase}${suffix}-fpm/php-fpm.pid#" \ + -e 's#^;error_log =.*#error_log = syslog#' \ + -i.orig sapi/fpm/php-fpm.conf.in sed \ - -e 's#^listen =.*#listen = /run/php81-fpm/php-fpm.sock#' \ - -e 's#^;listen.owner =#listen.owner =#' \ - -e 's#^;listen.group =#listen.group =#' \ - -e 's#^;chdir =.*#;chdir = /srv/http#' \ - -i.orig sapi/fpm/www.conf.in + -e "s#^listen =.*#listen = /run/php${phpbase}${suffix}-fpm/php-fpm.sock#" \ + -e 's#^;listen.owner =#listen.owner =#' \ + -e 's#^;listen.group =#listen.group =#' \ + -e 's#^;chdir =.*#;chdir = /srv/http#' \ + -i.orig sapi/fpm/www.conf.in sed \ - -e 's#^PIDFile=.*#PIDFile=/run/php81-fpm/php-fpm.pid#' \ - -e 's#^ExecStart=@EXPANDED_SBINDIR@/php-fpm --nodaemonize#ExecStart=@EXPANDED_SBINDIR@/php-fpm81 --nodaemonize#' \ - -i.orig sapi/fpm/php-fpm.service.in + -e "s#^PIDFile=.*#PIDFile=/run/php${phpbase}${suffix}-fpm/php-fpm.pid#" \ + -e "s#^ExecStart=@EXPANDED_SBINDIR@/php-fpm --nodaemonize#ExecStart=@EXPANDED_SBINDIR@/php-fpm${phpbase}${suffix} --nodaemonize#" \ + -i.orig sapi/fpm/php-fpm.service.in extensions=";extension=bcmath\n;extension=bz2\n;extension=calendar\nextension=curl\n;extension=dba\n;extension=enchant\n;extension=exif\n;extension=ffi\n;extension=ftp\n;extension=gd\n;extension=gettext\n;extension=gmp\n;extension=iconv\n;extension=imap\n;extension=intl\n;extension=ldap\n;extension=mysqli\n;extension=odbc\n;zend_extension=opcache\n;extension=pdo_dblib\n;extension=pdo_mysql\n;extension=pdo_odbc\n;extension=pdo_pgsql\n;extension=pdo_sqlite\n;extension=pgsql\n;extension=pspell\n;extension=shmop\n;extension=snmp\n;extension=soap\n;extension=sockets\n;extension=sodium\n;extension=sqlite3\n;extension=sysvmsg\n;extension=sysvsem\n;extension=sysvshm\n;extension=tidy\n;extension=xmlrpc\n;extension=xsl\nextension=zip\n" sed \ - -r ":a;N;\$!ba;s/; Notes for Windows environments :\n.+;?extension=\w+\n/${extensions}/g" \ - -i.orig php.ini-production -sed \ - -e 's#^;extension_dir = "\./"$#extension_dir = "/usr/lib/php81/modules/"#g' \ - -i php.ini-production + -r ":a;N;\$!ba;s/; Notes for Windows environments :\n.+;?extension=\w+\n/${extensions}/g" \ + -i.orig php.ini-production sed \ - -r 's#PKG_CHECK_MODULES\(\[ENCHANT\], \[enchant\]\)#PKG_CHECK_MODULES([ENCHANT], [enchant-2])#g' \ - -i.orig ext/enchant/config.m4 -sed \ - -r 's#enchant_dict_free_suggestions\(pdict->pdict, suggs\)#enchant_dict_free_string_list(pdict->pdict, suggs)#g' \ - -i.orig ext/enchant/enchant.c + -e 's#^; extension_dir = "\./"$#extension_dir = "BIG_BAD_MODULES"#g' \ + -i php.ini-production + sed \ - -r 's#enchant_dict_add_to_personal\(pdict->pdict, word, wordlen\)#enchant_dict_add(pdict->pdict, word, wordlen)#g' \ - -i ext/enchant/enchant.c + -e 's#^;extension_dir = "\./"$#extension_dir = "BIG_BAD_MODULES"#g' \ + -i php.ini-production + sed \ - -r 's#enchant_dict_is_in_session\(pdict->pdict, word, wordlen\)#enchant_dict_is_added(pdict->pdict, word, wordlen)#g' \ - -i ext/enchant/enchant.c + -e "s#BIG_BAD_MODULES#/usr/lib/php${phpbase}${suffix}/modules#g" \ + -i php.ini-production +# sed \ +# -r 's#PKG_CHECK_MODULES\(\[ENCHANT\], \[enchant\]\)#PKG_CHECK_MODULES([ENCHANT], [enchant-2])#g' \ +# -i.orig ext/enchant/config.m4 +# sed \ +# -r 's#enchant_dict_free_suggestions\(pdict->pdict, suggs\)#enchant_dict_free_string_list(pdict->pdict, suggs)#g' \ +# -i.orig ext/enchant/enchant.c +# sed \ +# -r 's#enchant_dict_add_to_personal\(pdict->pdict, word, wordlen\)#enchant_dict_add(pdict->pdict, word, wordlen)#g' \ +# -i ext/enchant/enchant.c +# sed \ +# -r 's#enchant_dict_is_in_session\(pdict->pdict, word, wordlen\)#enchant_dict_is_added(pdict->pdict, word, wordlen)#g' \ +# -i ext/enchant/enchant.c diff -u sapi/apache2handler/config.m4.orig sapi/apache2handler/config.m4 | filterdiff --clean --remove-timestamps > ../../apache.patch @@ -58,7 +66,9 @@ diff -u sapi/fpm/php-fpm.service.in.orig sapi/fpm/php-fpm.service.in | filterdif diff -u php.ini-production.orig php.ini-production | filterdiff --clean --remove-timestamps > ../../php.ini.patch -diff -u ext/enchant/config.m4.orig ext/enchant/config.m4 | filterdiff --clean --remove-timestamps > ../../enchant-2.patch -diff -u ext/enchant/enchant.c.orig ext/enchant/enchant.c | filterdiff --clean --remove-timestamps >> ../../enchant-2.patch +# diff -u ext/enchant/config.m4.orig ext/enchant/config.m4 | filterdiff --clean --remove-timestamps > ../../enchant-2.patch +# diff -u ext/enchant/enchant.c.orig ext/enchant/enchant.c | filterdiff --clean --remove-timestamps >> ../../enchant-2.patch popd + +echo "d /run/php${phpbase}${suffix}-fpm 755 root root" > php-fpm.tmpfiles diff --git a/php.ini.patch b/php.ini.patch index 17536d60f0ff..92937b196338 100644 --- a/php.ini.patch +++ b/php.ini.patch @@ -5,7 +5,7 @@ ; Directory in which the loadable extensions (modules) reside. ; https://php.net/extension-dir -;extension_dir = "./" -+extension_dir = "/usr/lib/php81/modules/" ++extension_dir = "/usr/lib/php81/modules" ; On windows: ;extension_dir = "ext" |