Browse Source

php74 package creation

Signed-off-by: webbuilder_pel7x64builder0 <webbuilder@powerel.org>
master
webbuilder_pel7x64builder0 5 years ago
parent
commit
c276815695
  1. 34
      SOURCES/10-opcache.ini
  2. 13
      SOURCES/20-ffi.ini
  3. 24
      SOURCES/php-7.4.0-embed.patch
  4. 27
      SOURCES/php-7.4.0-httpd.patch
  5. 19
      SOURCES/php-7.4.0-ldap_r.patch
  6. 35
      SOURCES/php-7.4.0-phpize.patch
  7. 521
      SOURCES/php-keyring.gpg
  8. 86
      SOURCES/php.ini
  9. 3205
      SPECS/php74.spec

34
SOURCES/10-opcache.ini

@ -5,17 +5,17 @@ zend_extension=opcache
opcache.enable=1 opcache.enable=1


; Determines if Zend OPCache is enabled for the CLI version of PHP ; Determines if Zend OPCache is enabled for the CLI version of PHP
;opcache.enable_cli=0 opcache.enable_cli=1


; The OPcache shared memory storage size. ; The OPcache shared memory storage size.
opcache.memory_consumption=128 ;opcache.memory_consumption=128


; The amount of memory for interned strings in Mbytes. ; The amount of memory for interned strings in Mbytes.
opcache.interned_strings_buffer=8 ;opcache.interned_strings_buffer=8


; The maximum number of keys (scripts) in the OPcache hash table. ; The maximum number of keys (scripts) in the OPcache hash table.
; Only numbers between 200 and 1000000 are allowed. ; Only numbers between 200 and 1000000 are allowed.
opcache.max_accelerated_files=4000 ;opcache.max_accelerated_files=10000


; The maximum percentage of "wasted" memory until a restart is scheduled. ; The maximum percentage of "wasted" memory until a restart is scheduled.
;opcache.max_wasted_percentage=5 ;opcache.max_wasted_percentage=5
@ -109,6 +109,10 @@ opcache.blacklist_filename=/etc/php.d/opcache*.blacklist
; cache is required. ; cache is required.
;opcache.file_cache_fallback=1 ;opcache.file_cache_fallback=1


; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
; This should improve performance, but requires appropriate OS configuration.
opcache.huge_code_pages=0

; Validate cached file permissions. ; Validate cached file permissions.
; Leads OPcache to check file readability on each access to cached file. ; Leads OPcache to check file readability on each access to cached file.
; This directive should be enabled in shared hosting environment, when few ; This directive should be enabled in shared hosting environment, when few
@ -121,10 +125,24 @@ opcache.blacklist_filename=/etc/php.d/opcache*.blacklist
; different "chroot" environments. ; different "chroot" environments.
;opcache.validate_root=0 ;opcache.validate_root=0


; Enables or disables copying of PHP code (text segment) into HUGE PAGES.
; This should improve performance, but requires appropriate OS configuration.
opcache.huge_code_pages=0

; If specified, it produces opcode dumps for debugging different stages of ; If specified, it produces opcode dumps for debugging different stages of
; optimizations. ; optimizations.
;opcache.opt_debug_level=0 ;opcache.opt_debug_level=0

; Specifies a PHP script that is going to be compiled and executed at server
; start-up.
; http://php.net/opcache.preload
;opcache.preload=

; Preloading code as root is not allowed for security reasons. This directive
; facilitates to let the preloading to be run as another user.
; http://php.net/opcache.preload_user
;opcache.preload_user=

; Prevents caching files that are less than this number of seconds old. It
; protects from caching of incompletely updated files. In case all file updates
; on your site are atomic, you may increase performance by setting it to "0".
;opcache.file_update_protection=2

; Absolute path used to store shared lockfiles (for *nix only).
;opcache.lockfile_path=/tmp

13
SOURCES/20-ffi.ini

@ -0,0 +1,13 @@
; Enable ffi extension module
extension=ffi

; FFI API restriction. Possibe values:
; "preload" - enabled in CLI scripts and preloaded files (default)
; "false" - always disabled
; "true" - always enabled
;ffi.enable=preload

; List of headers files to preload, wildcard patterns allowed.
; /usr/share/php/preload used by for RPM packages
; /usr/local/share/php/preload may be used for local files
ffi.preload=/usr/share/php/preload/*.h:/usr/local/share/php/preload/*.h

24
SOURCES/php-7.4.0-embed.patch

@ -0,0 +1,24 @@
--- php-5.6.3/sapi/embed/config.m4.embed
+++ php-5.6.3/sapi/embed/config.m4
@@ -11,7 +11,8 @@ if test "$PHP_EMBED" != "no"; then
case "$PHP_EMBED" in
yes|shared)
PHP_EMBED_TYPE=shared
- INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(prefix)/lib; \$(INSTALL) -m 0755 $SAPI_SHARED \$(INSTALL_ROOT)\$(prefix)/lib"
+ EXTRA_LDFLAGS="$EXTRA_LDFLAGS -release \$(PHP_MAJOR_VERSION).\$(PHP_MINOR_VERSION)"
+ INSTALL_IT="\$(mkinstalldirs) \$(INSTALL_ROOT)\$(libdir); \$(LIBTOOL) --mode=install \$(INSTALL) -m 0755 \$(OVERALL_TARGET) \$(INSTALL_ROOT)\$(libdir)"
;;
static)
PHP_EMBED_TYPE=static
diff -up php-5.5.30/scripts/php-config.in.old php-5.5.30/scripts/php-config.in
--- php-5.5.30/scripts/php-config.in.old 2015-10-19 15:17:31.944747715 +0200
+++ php-5.5.30/scripts/php-config.in 2015-10-19 15:17:58.278858083 +0200
@@ -18,7 +18,7 @@ exe_extension="@EXEEXT@"
php_cli_binary=NONE
php_cgi_binary=NONE
configure_options="@CONFIGURE_OPTIONS@"
-php_sapis="@PHP_INSTALLED_SAPIS@"
+php_sapis="apache2handler embed fpm @PHP_INSTALLED_SAPIS@"
ini_dir="@EXPANDED_PHP_CONFIG_FILE_SCAN_DIR@"
ini_path="@EXPANDED_PHP_CONFIG_FILE_PATH@"

27
SOURCES/php-7.4.0-httpd.patch

@ -0,0 +1,27 @@
Disable MPM detection

mod_php is build twice
- as NTS without option
- as ZTS using --enable-maintainer-zts

diff --git a/sapi/apache2handler/config.m4 b/sapi/apache2handler/config.m4
--- a/sapi/apache2handler/config.m4
+++ b/sapi/apache2handler/config.m4
@@ -105,17 +105,6 @@ if test "$PHP_APXS2" != "no"; then
;;
esac
- if test "$APACHE_VERSION" -lt 2004001; then
- APXS_MPM=`$APXS -q MPM_NAME`
- if test "$APXS_MPM" != "prefork" && test "$APXS_MPM" != "peruser" && test "$APXS_MPM" != "itk"; then
- PHP_BUILD_THREAD_SAFE
- fi
- else
- APACHE_THREADED_MPM=`$APXS_HTTPD -V 2>/dev/null | grep 'threaded:.*yes'`
- if test -n "$APACHE_THREADED_MPM"; then
- PHP_BUILD_THREAD_SAFE
- fi
- fi
AC_MSG_RESULT(yes)
PHP_SUBST(APXS)
else

19
SOURCES/php-7.4.0-ldap_r.patch

@ -0,0 +1,19 @@

Use -lldap_r by default.

diff -up php-7.4.0RC2/ext/ldap/config.m4.ldap_r php-7.4.0RC2/ext/ldap/config.m4
--- php-7.4.0RC2/ext/ldap/config.m4.ldap_r 2019-09-17 10:21:24.769200812 +0200
+++ php-7.4.0RC2/ext/ldap/config.m4 2019-09-17 10:21:30.658181771 +0200
@@ -68,7 +68,11 @@ if test "$PHP_LDAP" != "no"; then
dnl -pc removal is a hack for clang
MACHINE_INCLUDES=$($CC -dumpmachine | $SED 's/-pc//')
- if test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.a || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.$SHLIB_SUFFIX_NAME; then
+ if test -f $LDAP_LIBDIR/libldap_r.$SHLIB_SUFFIX_NAME; then
+ PHP_ADD_LIBRARY_WITH_PATH(lber, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+ PHP_ADD_LIBRARY_WITH_PATH(ldap_r, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
+
+ elif test -f $LDAP_LIBDIR/liblber.a || test -f $LDAP_LIBDIR/liblber.$SHLIB_SUFFIX_NAME || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.a || test -f $LDAP_LIBDIR/$MACHINE_INCLUDES/liblber.$SHLIB_SUFFIX_NAME; then
PHP_ADD_LIBRARY_WITH_PATH(lber, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)
PHP_ADD_LIBRARY_WITH_PATH(ldap, $LDAP_LIBDIR, LDAP_SHARED_LIBADD)

35
SOURCES/php-7.4.0-phpize.patch

@ -0,0 +1,35 @@
diff -up ./scripts/phpize.in.headers ./scripts/phpize.in
--- ./scripts/phpize.in.headers 2019-07-23 10:05:11.000000000 +0200
+++ ./scripts/phpize.in 2019-07-23 10:18:13.648098089 +0200
@@ -165,6 +165,15 @@ phpize_autotools()
$PHP_AUTOHEADER || exit 1
}
+phpize_check_headers()
+{
+ if test ! -f $includedir/main/php.h; then
+ echo "Can't find PHP headers in $includedir"
+ echo "The php-devel package is required for use of this command."
+ exit 1
+ fi
+}
+
# Main script
case "$1" in
@@ -183,12 +192,15 @@ case "$1" in
# Version
--version|-v)
+ phpize_check_headers
phpize_print_api_numbers
exit 0
;;
# Default
*)
+ phpize_check_headers
+
phpize_check_configm4 0
phpize_check_build_files

521
SOURCES/php-keyring.gpg

@ -0,0 +1,521 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----

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
=bWxl
-----END PGP PUBLIC KEY BLOCK-----

86
SOURCES/php.ini

@ -108,11 +108,6 @@
; Development Value: E_ALL ; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT ; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT


; html_errors
; Default Value: On
; Development Value: On
; Production value: On

; log_errors ; log_errors
; Default Value: Off ; Default Value: Off
; Development Value: On ; Development Value: On
@ -153,11 +148,6 @@
; Development Value: Off ; Development Value: Off
; Production Value: Off ; Production Value: Off


; track_errors
; Default Value: Off
; Development Value: On
; Production Value: Off

; variables_order ; variables_order
; Default Value: "EGPCS" ; Default Value: "EGPCS"
; Development Value: "GPCS" ; Development Value: "GPCS"
@ -294,6 +284,13 @@ implicit_flush = Off
; callback-function. ; callback-function.
unserialize_callback_func = unserialize_callback_func =


; The unserialize_max_depth specifies the default depth limit for unserialized
; structures. Setting the depth limit too high may result in stack overflows
; during unserialization. The unserialize_max_depth ini setting can be
; overridden by the max_depth option on individual unserialize() calls.
; A value of 0 disables the depth limit.
;unserialize_max_depth = 4096

; When floats & doubles are serialized, store serialize_precision significant ; When floats & doubles are serialized, store serialize_precision significant
; digits after the floating point. The default value ensures that when floats ; digits after the floating point. The default value ensures that when floats
; are decoded with unserialize, the data will remain the same. ; are decoded with unserialize, the data will remain the same.
@ -364,6 +361,12 @@ zend.enable_gc = On
; Default: "" ; Default: ""
;zend.script_encoding = ;zend.script_encoding =


; Allows to include or exclude arguments from stack traces generated for exceptions
; Default: Off
; In production, it is recommended to turn this setting on to prohibit the output
; of sensitive information in stack traces
zend.exception_ignore_args = On

;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;
; Miscellaneous ; ; Miscellaneous ;
;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;
@ -516,7 +519,7 @@ ignore_repeated_errors = Off
ignore_repeated_source = Off ignore_repeated_source = Off


; If this parameter is set to Off, then memory leaks will not be shown (on ; If this parameter is set to Off, then memory leaks will not be shown (on
; stdout or in the log). This has only effect in a debug compile, and if ; stdout or in the log). This is only effective in a debug compile, and if
; error reporting includes E_WARNING in the allowed list ; error reporting includes E_WARNING in the allowed list
; http://php.net/report-memleaks ; http://php.net/report-memleaks
report_memleaks = On report_memleaks = On
@ -545,11 +548,8 @@ report_memleaks = On
; error message as HTML for easier reading. This directive controls whether ; error message as HTML for easier reading. This directive controls whether
; the error message is formatted as HTML or not. ; the error message is formatted as HTML or not.
; Note: This directive is hardcoded to Off for the CLI SAPI ; Note: This directive is hardcoded to Off for the CLI SAPI
; Default Value: On
; Development Value: On
; Production value: On
; http://php.net/html-errors ; http://php.net/html-errors
html_errors = On ;html_errors = On


; If html_errors is set to On *and* docref_root is not empty, then PHP ; If html_errors is set to On *and* docref_root is not empty, then PHP
; produces clickable error messages that direct to a page describing the error ; produces clickable error messages that direct to a page describing the error
@ -603,6 +603,7 @@ html_errors = On
; ascii (all printable ASCII characters and NL) ; ascii (all printable ASCII characters and NL)
; no-ctrl (all characters except control characters) ; no-ctrl (all characters except control characters)
; all (all characters) ; all (all characters)
; raw (like "all", but messages are not split at newlines)
; http://php.net/syslog.filter ; http://php.net/syslog.filter
;syslog.filter = ascii ;syslog.filter = ascii


@ -673,7 +674,7 @@ register_argc_argv = Off
; first used (Just In Time) instead of when the script starts. If these ; first used (Just In Time) instead of when the script starts. If these
; variables are not used within a script, having this directive on will result ; variables are not used within a script, having this directive on will result
; in a performance gain. The PHP directive register_argc_argv must be disabled ; in a performance gain. The PHP directive register_argc_argv must be disabled
; for this directive to have any affect. ; for this directive to have any effect.
; http://php.net/auto-globals-jit ; http://php.net/auto-globals-jit
auto_globals_jit = On auto_globals_jit = On


@ -1084,37 +1085,6 @@ odbc.defaultlrl = 4096
; http://php.net/odbc.defaultbinmode ; http://php.net/odbc.defaultbinmode
odbc.defaultbinmode = 1 odbc.defaultbinmode = 1


[Interbase]
; Allow or prevent persistent links.
ibase.allow_persistent = 1

; Maximum number of persistent links. -1 means no limit.
ibase.max_persistent = -1

; Maximum number of links (persistent + non-persistent). -1 means no limit.
ibase.max_links = -1

; Default database name for ibase_connect().
;ibase.default_db =

; Default username for ibase_connect().
;ibase.default_user =

; Default password for ibase_connect().
;ibase.default_password =

; Default charset for ibase_connect().
;ibase.default_charset =

; Default timestamp format.
ibase.timestampformat = "%Y-%m-%d %H:%M:%S"

; Default date format.
ibase.dateformat = "%Y-%m-%d"

; Default time format.
ibase.timeformat = "%H:%M:%S"

[MySQLi] [MySQLi]


; Maximum number of persistent links. -1 means no limit. ; Maximum number of persistent links. -1 means no limit.
@ -1145,11 +1115,11 @@ mysqli.default_port = 3306
; http://php.net/mysqli.default-socket ; http://php.net/mysqli.default-socket
mysqli.default_socket = mysqli.default_socket =


; Default host for mysql_connect() (doesn't apply in safe mode). ; Default host for mysqli_connect() (doesn't apply in safe mode).
; http://php.net/mysqli.default-host ; http://php.net/mysqli.default-host
mysqli.default_host = mysqli.default_host =


; Default user for mysql_connect() (doesn't apply in safe mode). ; Default user for mysqli_connect() (doesn't apply in safe mode).
; http://php.net/mysqli.default-user ; http://php.net/mysqli.default-user
mysqli.default_user = mysqli.default_user =


@ -1597,6 +1567,16 @@ zend.assertions = -1
; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) ; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml)
;mbstring.http_output_conv_mimetype= ;mbstring.http_output_conv_mimetype=


; This directive specifies maximum stack depth for mbstring regular expressions. It is similar
; to the pcre.recursion_limit for PCRE.
; Default: 100000
;mbstring.regex_stack_limit=100000

; This directive specifies maximum retry count for mbstring regular expressions. It is similar
; to the pcre.backtrack_limit for PCRE.
; Default: 1000000
;mbstring.regex_retry_limit=1000000

[gd] [gd]
; Tell the jpeg decode to ignore warnings and try to create ; Tell the jpeg decode to ignore warnings and try to create
; a gd image. The warning will then be displayed as notices ; a gd image. The warning will then be displayed as notices
@ -1671,6 +1651,9 @@ ldap.max_links = -1
[dba] [dba]
;dba.default_handler= ;dba.default_handler=


[opcache]
; see /etc/php.d/10-opcache.ini

[curl] [curl]
; A default value for the CURLOPT_CAINFO option. This is required to be an ; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path. ; absolute path.
@ -1694,6 +1677,5 @@ ldap.max_links = -1
; SSL stream context option. ; SSL stream context option.
;openssl.capath= ;openssl.capath=


; Local Variables: [ffi]
; tab-width: 4 ; see /etc/php.d/20-ffi.ini
; End:

3205
SPECS/php74.spec

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save