diff options
| author | Remi Collet <remi@remirepo.net> | 2021-10-18 09:27:11 +0200 | 
|---|---|---|
| committer | Remi Collet <remi@php.net> | 2021-10-18 09:27:11 +0200 | 
| commit | 01d12d8f8152f1e1e9469ba4677973b3b6538c72 (patch) | |
| tree | 1df9c1b1048fac045c76e2887efbacdac78cd71a | |
| parent | a5e768e160bdf3c0b9fad7f5755ff7402ed48835 (diff) | |
build using system libxcrypt
| -rw-r--r-- | php-8.0.12-crypt.patch | 66 | ||||
| -rw-r--r-- | php.spec | 23 | 
2 files changed, 88 insertions, 1 deletions
| diff --git a/php-8.0.12-crypt.patch b/php-8.0.12-crypt.patch new file mode 100644 index 0000000..3469a93 --- /dev/null +++ b/php-8.0.12-crypt.patch @@ -0,0 +1,66 @@ +From 9f98bc58c7bb7fdbb25614ca645bbd7a465fdfed Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@remirepo.net> +Date: Fri, 15 Oct 2021 15:45:50 +0200 +Subject: [PATCH] remove closing bracket in bad place + +--- + build/php.m4 | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/build/php.m4 b/build/php.m4 +index 9746ba28f325..7fb9e3125d13 100644 +--- a/build/php.m4 ++++ b/build/php.m4 +@@ -2219,7 +2219,6 @@ struct crypt_data buffer; + crypt_r("passwd", "hash", &buffer); + ]])],[php_cv_crypt_r_style=struct_crypt_data_gnu_source],[]) +     fi +-    ]) +  +     if test "$php_cv_crypt_r_style" = "none"; then +       AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +From fc4e31467c352032ee709ac55d3c67bc22abcd8d Mon Sep 17 00:00:00 2001 +From: Remi Collet <remi@remirepo.net> +Date: Fri, 15 Oct 2021 17:11:12 +0200 +Subject: [PATCH] add --with-external-libcrypt build option display an error + message if some algo not available in external libcrypt + +--- + ext/standard/config.m4 | 21 ++++++++++++++++----- + 1 file changed, 16 insertions(+), 5 deletions(-) + +diff --git a/ext/standard/config.m4 b/ext/standard/config.m4 +index 58b9c5e658a4..3ec18be4d7df 100644 +--- a/ext/standard/config.m4 ++++ b/ext/standard/config.m4 +@@ -267,14 +267,25 @@ int main() { + ])]) +  +  ++PHP_ARG_WITH([external-libcrypt], ++  [for external libcrypt or libxcrypt], ++  [AS_HELP_STRING([--with-external-libcrypt], ++    [Use external libcrypt or libxcrypt])], ++  [no], ++  [no]) ++ + dnl + dnl If one of them is missing, use our own implementation, portable code is then possible + dnl +-dnl TODO This is currently always enabled +-if test "$ac_cv_crypt_blowfish" = "no" || test "$ac_cv_crypt_des" = "no" || test "$ac_cv_crypt_ext_des" = "no" || test "$ac_cv_crypt_md5" = "no" || test "$ac_cv_crypt_sha512" = "no" || test "$ac_cv_crypt_sha256" = "no" || test "$ac_cv_func_crypt_r" != "yes" || true; then +-  AC_DEFINE_UNQUOTED(PHP_USE_PHP_CRYPT_R, 1, [Whether PHP has to use its own crypt_r for blowfish, des, ext des and md5]) +- +-  PHP_ADD_SOURCES(PHP_EXT_DIR(standard), crypt_freesec.c crypt_blowfish.c crypt_sha512.c crypt_sha256.c php_crypt_r.c) ++dnl This is currently enabled by default ++if test "$ac_cv_crypt_blowfish" = "no" || test "$ac_cv_crypt_des" = "no" || test "$ac_cv_crypt_ext_des" = "no" || test "$ac_cv_crypt_md5" = "no" || test "$ac_cv_crypt_sha512" = "no" || test "$ac_cv_crypt_sha256" = "no" || test "$ac_cv_func_crypt_r" != "yes" || test "$PHP_EXTERNAL_LIBCRYPT" = "no"; then ++  if test "$PHP_EXTERNAL_LIBCRYPT" = "no"; then ++    AC_DEFINE_UNQUOTED(PHP_USE_PHP_CRYPT_R, 1, [Whether PHP has to use its own crypt_r for blowfish, des, ext des and md5]) ++ ++    PHP_ADD_SOURCES(PHP_EXT_DIR(standard), crypt_freesec.c crypt_blowfish.c crypt_sha512.c crypt_sha256.c php_crypt_r.c) ++   else ++    AC_MSG_ERROR([Cannot use external libcrypt as some algo are missing]) ++   fi + else +   AC_DEFINE_UNQUOTED(PHP_USE_PHP_CRYPT_R, 0, [Whether PHP has to use its own crypt_r for blowfish, des and ext des]) + fi @@ -73,6 +73,7 @@  %bcond_without        tidy  %bcond_without        sqlite3  %bcond_without        enchant +  %if 0%{?fedora} >= 27 || 0%{?rhel} >= 8  # switch to bundled library using --without libpcre  %bcond_without        libpcre @@ -81,6 +82,14 @@  %bcond_with           libpcre  %endif +%if 0%{?fedora} >= 33 || 0%{?rhel} >= 8 +# switch to bundled library using --without libxcrypt +%bcond_without        libxcrypt +%else +# switch to system library using --with libxcrypt +%bcond_with           libxcrypt +%endif +  %bcond_without        dtrace  # build with system libgd (gd-last in remi repo) @@ -104,7 +113,7 @@  Summary: PHP scripting language for creating dynamic web sites  Name:    %{?scl_prefix}php  Version: %{upver}%{?rcver:~%{rcver}}%{?gh_date:.%{gh_date}} -Release: 1%{?dist} +Release: 2%{?dist}  # All files licensed under PHP version 3.01, except  # Zend is licensed under Zend  # TSRM is licensed under BSD @@ -168,6 +177,8 @@ Patch48: php-8.0.10-snmp-sha.patch  # switch phar to use sha256 signature by default, from 8.1  # implement openssl_256 and openssl_512 for phar signatures, from 8.1  Patch49: php-8.0.10-phar-sha.patch +# use system libxcrypt +Patch50: php-8.0.12-crypt.patch  # RC Patch  Patch91: php-7.2.0-oci8conf.patch @@ -204,6 +215,9 @@ BuildRequires: pkgconfig(libpcre2-8) >= 10.30  %else  Provides:      bundled(pcre2) = 10.32  %endif +%if %{with libxcrypt} +BuildRequires: pkgconfig(libxcrypt) +%endif  BuildRequires: bzip2  BuildRequires: perl  BuildRequires: autoconf @@ -939,6 +953,7 @@ sed -e 's/php-devel/%{?scl_prefix}php-devel/' -i scripts/phpize.in  %patch47 -p1 -b .phpinfo  %patch48 -p1 -b .sha  %patch49 -p1 -b .pharsha +%patch50 -p1 -b .libxcrypt  %patch91 -p1 -b .remi-oci8 @@ -1150,6 +1165,9 @@ ln -sf ../configure  %if %{with libpcre}      --with-external-pcre \  %endif +%if %{with libxcrypt} +    --with-external-libcrypt \ +%endif      --with-zlib \      --with-layout=GNU \      --with-kerberos \ @@ -1816,6 +1834,9 @@ fi  %changelog +* Mon Oct 18 2021 Remi Collet <remi@remirepo.net> - 8.0.12~RC1-2 +- build using system libxcrypt +  * Wed Oct  6 2021 Remi Collet <remi@remirepo.net> - 8.0.12~RC1-1  - update to 8.0.12RC1  - use libicu version 69 | 
