From ab1e43498f99fd08685b6f7bf179858efc6920bf Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Tue, 5 Apr 2022 01:27:25 +0200 Subject: [PATCH] - updated to 8.1.4, partial PLD merge --- fix-test-run.patch | 2 +- fpm-conf-split.patch | 871 --------------------------- libdb-info.patch | 2 +- libtool-tag.patch | 12 - mysql-lib-ver-mismatch.patch | 2 +- openssl.patch | 12 - php-fcgi-error_log-no-newlines.patch | 16 - php-ini.patch | 56 +- php-systzdata.patch | 36 +- php.spec | 29 +- skip-tests.sh | 2 - 11 files changed, 64 insertions(+), 976 deletions(-) delete mode 100644 fpm-conf-split.patch delete mode 100644 libtool-tag.patch delete mode 100644 php-fcgi-error_log-no-newlines.patch diff --git a/fix-test-run.patch b/fix-test-run.patch index 50bccd4..cde2b04 100644 --- a/fix-test-run.patch +++ b/fix-test-run.patch @@ -1,7 +1,7 @@ --- php-5.4.0alpha2/configure.ac~ 2011-08-07 12:43:31.000000000 +0300 +++ php-5.4.0alpha2/configure.ac 2011-08-07 12:44:11.495394662 +0300 @@ -1271,6 +1271,9 @@ - AC_DEFINE_UNQUOTED(ARCHITECTURE,"$PHP_BUILD_ARCH",[build architecture]) + AC_DEFINE_UNQUOTED(PHP_BUILD_ARCH,"$PHP_BUILD_ARCH",[build architecture]) fi +# shift so that extensions like xml are loaded first diff --git a/fpm-conf-split.patch b/fpm-conf-split.patch deleted file mode 100644 index 3d4bd92..0000000 --- a/fpm-conf-split.patch +++ /dev/null @@ -1,871 +0,0 @@ ---- php-5.6.5/sapi/fpm/php-fpm.conf.in~ 2015-02-04 19:22:00.000000000 +0200 -+++ php-5.6.5/sapi/fpm/php-fpm.conf.in 2015-02-04 19:23:22.109298245 +0200 -@@ -6,14 +6,6 @@ - ; prefix (@prefix@). This prefix can be dynamically changed by using the - ; '-p' argument from the command line. - --; Include one or more files. If glob(3) exists, it is used to include a bunch of --; files from a glob(3) pattern. This directive can be used everywhere in the --; file. --; Relative path can also be used. They will be prefixed by: --; - the global prefix if it's been set (-p argument) --; - @prefix@ otherwise --;include=etc/fpm.d/*.conf -- - ;;;;;;;;;;;;;;;;;; - ; Global Options ; - ;;;;;;;;;;;;;;;;;; -@@ -115,415 +115,3 @@ - ; ports and different management options. The name of the pool will be - ; used in logs and stats. There is no limitation on the number of pools which - ; FPM can handle. Your system will tell you anyway :) -- --; Start a new pool named 'www'. --; the variable $pool can we used in any directive and will be replaced by the --; pool name ('www' here) --[www] -- --; Per pool prefix --; It only applies on the following directives: --; - 'access.log' --; - 'slowlog' --; - 'listen' (unixsocket) --; - 'chroot' --; - 'chdir' --; - 'php_values' --; - 'php_admin_values' --; When not set, the global prefix (or @php_fpm_prefix@) applies instead. --; Note: This directive can also be relative to the global prefix. --; Default Value: none --;prefix = /path/to/pools/$pool -- --; Unix user/group of processes --; Note: The user is mandatory. If the group is not set, the default user's group --; will be used. --user = @php_fpm_user@ --group = @php_fpm_group@ -- --; The address on which to accept FastCGI requests. --; Valid syntaxes are: --; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on --; a specific port; --; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on --; a specific port; --; 'port' - to listen on a TCP socket to all IPv4 addresses on a --; specific port; --; '[::]:port' - to listen on a TCP socket to all addresses --; (IPv6 and IPv4-mapped) on a specific port; --; '/path/to/unix/socket' - to listen on a unix socket. --; Note: This value is mandatory. --listen = 127.0.0.1:9000 -- --; Set listen(2) backlog. --; Default Value: 65535 (-1 on FreeBSD and OpenBSD) --;listen.backlog = 65535 -- --; Set permissions for unix socket, if one is used. In Linux, read/write --; permissions must be set in order to allow connections from a web server. Many --; BSD-derived systems allow connections regardless of permissions. --; Default Values: user and group are set as the running user --; mode is set to 0660 --;listen.owner = @php_fpm_user@ --;listen.group = @php_fpm_group@ --;listen.mode = 0660 --; When POSIX Access Control Lists are supported you can set them using --; these options, value is a comma separated list of user/group names. --; When set, listen.owner and listen.group are ignored --;listen.acl_users = --;listen.acl_groups = -- --; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect. --; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original --; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address --; must be separated by a comma. If this value is left blank, connections will be --; accepted from any ip address. --; Default Value: any --;listen.allowed_clients = 127.0.0.1 -- --; Specify the nice(2) priority to apply to the pool processes (only if set) --; The value can vary from -19 (highest priority) to 20 (lower priority) --; Note: - It will only work if the FPM master process is launched as root --; - The pool processes will inherit the master process priority --; unless it specified otherwise --; Default Value: no set --; process.priority = -19 -- --; Choose how the process manager will control the number of child processes. --; Possible Values: --; static - a fixed number (pm.max_children) of child processes; --; dynamic - the number of child processes are set dynamically based on the --; following directives. With this process management, there will be --; always at least 1 children. --; pm.max_children - the maximum number of children that can --; be alive at the same time. --; pm.start_servers - the number of children created on startup. --; pm.min_spare_servers - the minimum number of children in 'idle' --; state (waiting to process). If the number --; of 'idle' processes is less than this --; number then some children will be created. --; pm.max_spare_servers - the maximum number of children in 'idle' --; state (waiting to process). If the number --; of 'idle' processes is greater than this --; number then some children will be killed. --; ondemand - no children are created at startup. Children will be forked when --; new requests will connect. The following parameter are used: --; pm.max_children - the maximum number of children that --; can be alive at the same time. --; pm.process_idle_timeout - The number of seconds after which --; an idle process will be killed. --; Note: This value is mandatory. --pm = dynamic -- --; The number of child processes to be created when pm is set to 'static' and the --; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. --; This value sets the limit on the number of simultaneous requests that will be --; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. --; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP --; CGI. The below defaults are based on a server without much resources. Don't --; forget to tweak pm.* to fit your needs. --; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' --; Note: This value is mandatory. --pm.max_children = 5 -- --; The number of child processes created on startup. --; Note: Used only when pm is set to 'dynamic' --; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 --pm.start_servers = 2 -- --; The desired minimum number of idle server processes. --; Note: Used only when pm is set to 'dynamic' --; Note: Mandatory when pm is set to 'dynamic' --pm.min_spare_servers = 1 -- --; The desired maximum number of idle server processes. --; Note: Used only when pm is set to 'dynamic' --; Note: Mandatory when pm is set to 'dynamic' --pm.max_spare_servers = 3 -- --; The number of seconds after which an idle process will be killed. --; Note: Used only when pm is set to 'ondemand' --; Default Value: 10s --;pm.process_idle_timeout = 10s; -- --; The number of requests each child process should execute before respawning. --; This can be useful to work around memory leaks in 3rd party libraries. For --; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. --; Default Value: 0 --;pm.max_requests = 500 -- --; The URI to view the FPM status page. If this value is not set, no URI will be --; recognized as a status page. It shows the following informations: --; pool - the name of the pool; --; process manager - static, dynamic or ondemand; --; start time - the date and time FPM has started; --; start since - number of seconds since FPM has started; --; accepted conn - the number of request accepted by the pool; --; listen queue - the number of request in the queue of pending --; connections (see backlog in listen(2)); --; max listen queue - the maximum number of requests in the queue --; of pending connections since FPM has started; --; listen queue len - the size of the socket queue of pending connections; --; idle processes - the number of idle processes; --; active processes - the number of active processes; --; total processes - the number of idle + active processes; --; max active processes - the maximum number of active processes since FPM --; has started; --; max children reached - number of times, the process limit has been reached, --; when pm tries to start more children (works only for --; pm 'dynamic' and 'ondemand'); --; Value are updated in real time. --; Example output: --; pool: www --; process manager: static --; start time: 01/Jul/2011:17:53:49 +0200 --; start since: 62636 --; accepted conn: 190460 --; listen queue: 0 --; max listen queue: 1 --; listen queue len: 42 --; idle processes: 4 --; active processes: 11 --; total processes: 15 --; max active processes: 12 --; max children reached: 0 --; --; By default the status page output is formatted as text/plain. Passing either --; 'html', 'xml' or 'json' in the query string will return the corresponding --; output syntax. Example: --; http://www.foo.bar/status --; http://www.foo.bar/status?json --; http://www.foo.bar/status?html --; http://www.foo.bar/status?xml --; --; By default the status page only outputs short status. Passing 'full' in the --; query string will also return status for each pool process. --; Example: --; http://www.foo.bar/status?full --; http://www.foo.bar/status?json&full --; http://www.foo.bar/status?html&full --; http://www.foo.bar/status?xml&full --; The Full status returns for each process: --; pid - the PID of the process; --; state - the state of the process (Idle, Running, ...); --; start time - the date and time the process has started; --; start since - the number of seconds since the process has started; --; requests - the number of requests the process has served; --; request duration - the duration in µs of the requests; --; request method - the request method (GET, POST, ...); --; request URI - the request URI with the query string; --; content length - the content length of the request (only with POST); --; user - the user (PHP_AUTH_USER) (or '-' if not set); --; script - the main script called (or '-' if not set); --; last request cpu - the %cpu the last request consumed --; it's always 0 if the process is not in Idle state --; because CPU calculation is done when the request --; processing has terminated; --; last request memory - the max amount of memory the last request consumed --; it's always 0 if the process is not in Idle state --; because memory calculation is done when the request --; processing has terminated; --; If the process is in Idle state, then informations are related to the --; last request the process has served. Otherwise informations are related to --; the current request being served. --; Example output: --; ************************ --; pid: 31330 --; state: Running --; start time: 01/Jul/2011:17:53:49 +0200 --; start since: 63087 --; requests: 12808 --; request duration: 1250261 --; request method: GET --; request URI: /test_mem.php?N=10000 --; content length: 0 --; user: - --; script: /home/fat/web/docs/php/test_mem.php --; last request cpu: 0.00 --; last request memory: 0 --; --; Note: There is a real-time FPM status monitoring sample web page available --; It's available in: @EXPANDED_DATADIR@/fpm/status.html --; --; Note: The value must start with a leading slash (/). The value can be --; anything, but it may not be a good idea to use the .php extension or it --; may conflict with a real PHP file. --; Default Value: not set --;pm.status_path = /status -- --; The ping URI to call the monitoring page of FPM. If this value is not set, no --; URI will be recognized as a ping page. This could be used to test from outside --; that FPM is alive and responding, or to --; - create a graph of FPM availability (rrd or such); --; - remove a server from a group if it is not responding (load balancing); --; - trigger alerts for the operating team (24/7). --; Note: The value must start with a leading slash (/). The value can be --; anything, but it may not be a good idea to use the .php extension or it --; may conflict with a real PHP file. --; Default Value: not set --;ping.path = /ping -- --; This directive may be used to customize the response of a ping request. The --; response is formatted as text/plain with a 200 response code. --; Default Value: pong --;ping.response = pong -- --; The access log file --; Default: not set --;access.log = log/$pool.access.log -- --; The access log format. --; The following syntax is allowed --; %%: the '%' character --; %C: %CPU used by the request --; it can accept the following format: --; - %{user}C for user CPU only --; - %{system}C for system CPU only --; - %{total}C for user + system CPU (default) --; %d: time taken to serve the request --; it can accept the following format: --; - %{seconds}d (default) --; - %{miliseconds}d --; - %{mili}d --; - %{microseconds}d --; - %{micro}d --; %e: an environment variable (same as $_ENV or $_SERVER) --; it must be associated with embraces to specify the name of the env --; variable. Some exemples: --; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e --; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e --; %f: script filename --; %l: content-length of the request (for POST request only) --; %m: request method --; %M: peak of memory allocated by PHP --; it can accept the following format: --; - %{bytes}M (default) --; - %{kilobytes}M --; - %{kilo}M --; - %{megabytes}M --; - %{mega}M --; %n: pool name --; %o: output header --; it must be associated with embraces to specify the name of the header: --; - %{Content-Type}o --; - %{X-Powered-By}o --; - %{Transfert-Encoding}o --; - .... --; %p: PID of the child that serviced the request --; %P: PID of the parent of the child that serviced the request --; %q: the query string --; %Q: the '?' character if query string exists --; %r: the request URI (without the query string, see %q and %Q) --; %R: remote IP address --; %s: status (response code) --; %t: server time the request was received --; it can accept a strftime(3) format: --; %d/%b/%Y:%H:%M:%S %z (default) --; %T: time the log has been written (the request has finished) --; it can accept a strftime(3) format: --; %d/%b/%Y:%H:%M:%S %z (default) --; %u: remote user --; --; Default: "%R - %u %t \"%m %r\" %s" --;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%" -- --; The log file for slow requests --; Default Value: not set --; Note: slowlog is mandatory if request_slowlog_timeout is set --;slowlog = log/$pool.log.slow -- --; The timeout for serving a single request after which a PHP backtrace will be --; dumped to the 'slowlog' file. A value of '0s' means 'off'. --; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) --; Default Value: 0 --;request_slowlog_timeout = 0 -- --; The timeout for serving a single request after which the worker process will --; be killed. This option should be used when the 'max_execution_time' ini option --; does not stop script execution for some reason. A value of '0' means 'off'. --; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) --; Default Value: 0 --;request_terminate_timeout = 0 -- --; Set open file descriptor rlimit. --; Default Value: system defined value --;rlimit_files = 1024 -- --; Set max core size rlimit. --; Possible Values: 'unlimited' or an integer greater or equal to 0 --; Default Value: system defined value --;rlimit_core = 0 -- --; Chroot to this directory at the start. This value must be defined as an --; absolute path. When this value is not set, chroot is not used. --; Note: you can prefix with '$prefix' to chroot to the pool prefix or one --; of its subdirectories. If the pool prefix is not set, the global prefix --; will be used instead. --; Note: chrooting is a great security feature and should be used whenever --; possible. However, all PHP paths will be relative to the chroot --; (error_log, sessions.save_path, ...). --; Default Value: not set --;chroot = -- --; Chdir to this directory at the start. --; Note: relative path can be used. --; Default Value: current directory or / when chroot --;chdir = /var/www -- --; Redirect worker stdout and stderr into main error log. If not set, stdout and --; stderr will be redirected to /dev/null according to FastCGI specs. --; Note: on highloaded environement, this can cause some delay in the page --; process time (several ms). --; Default Value: no --;catch_workers_output = yes -- --; Clear environment in FPM workers --; Prevents arbitrary environment variables from reaching FPM worker processes --; by clearing the environment in workers before env vars specified in this --; pool configuration are added. --; Setting to "no" will make all environment variables available to PHP code --; via getenv(), $_ENV and $_SERVER. --; Default Value: yes --;clear_env = no -- --; Limits the extensions of the main script FPM will allow to parse. This can --; prevent configuration mistakes on the web server side. You should only limit --; FPM to .php extensions to prevent malicious users to use other extensions to --; exectute php code. --; Note: set an empty value to allow all extensions. --; Default Value: .php --;security.limit_extensions = .php .php3 .php4 .php5 -- --; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from --; the current environment. --; Default Value: clean env --;env[HOSTNAME] = $HOSTNAME --;env[PATH] = /usr/local/bin:/usr/bin:/bin --;env[TMP] = /tmp --;env[TMPDIR] = /tmp --;env[TEMP] = /tmp -- --; Additional php.ini defines, specific to this pool of workers. These settings --; overwrite the values previously defined in the php.ini. The directives are the --; same as the PHP SAPI: --; php_value/php_flag - you can set classic ini defines which can --; be overwritten from PHP call 'ini_set'. --; php_admin_value/php_admin_flag - these directives won't be overwritten by --; PHP call 'ini_set' --; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. -- --; Defining 'extension' will load the corresponding shared extension from --; extension_dir. Defining 'disable_functions' or 'disable_classes' will not --; overwrite previously defined php.ini values, but will append the new value --; instead. -- --; Note: path INI options can be relative and will be expanded with the prefix --; (pool, global or @prefix@) -- --; Default Value: nothing is defined by default except the values in php.ini and --; specified at startup with the -d argument --;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com --;php_flag[display_errors] = off --;php_admin_value[error_log] = /var/log/fpm-php.www.log --;php_admin_flag[log_errors] = on --;php_admin_value[memory_limit] = 32M ---- /dev/null 2007-02-13 18:29:53.000000000 +0200 -+++ php-5.6.5/sapi/fpm/php-fpm.conf-d.in 2015-02-04 19:23:20.709225773 +0200 -@@ -0,0 +1,411 @@ -+; Start a new pool named 'www'. -+; the variable $pool can we used in any directive and will be replaced by the -+; pool name ('www' here) -+[www] -+ -+; Per pool prefix -+; It only applies on the following directives: -+; - 'access.log' -+; - 'slowlog' -+; - 'listen' (unixsocket) -+; - 'chroot' -+; - 'chdir' -+; - 'php_values' -+; - 'php_admin_values' -+; When not set, the global prefix (or @php_fpm_prefix@) applies instead. -+; Note: This directive can also be relative to the global prefix. -+; Default Value: none -+;prefix = /path/to/pools/$pool -+ -+; Unix user/group of processes -+; Note: The user is mandatory. If the group is not set, the default user's group -+; will be used. -+user = @php_fpm_user@ -+group = @php_fpm_group@ -+ -+; The address on which to accept FastCGI requests. -+; Valid syntaxes are: -+; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific IPv4 address on -+; a specific port; -+; '[ip:6:addr:ess]:port' - to listen on a TCP socket to a specific IPv6 address on -+; a specific port; -+; 'port' - to listen on a TCP socket to all IPv4 addresses on a -+; specific port; -+; '[::]:port' - to listen on a TCP socket to all addresses -+; (IPv6 and IPv4-mapped) on a specific port; -+; '/path/to/unix/socket' - to listen on a unix socket. -+; Note: This value is mandatory. -+listen = 127.0.0.1:9000 -+ -+; Set listen(2) backlog. -+; Default Value: 65535 (-1 on FreeBSD and OpenBSD) -+;listen.backlog = 65535 -+ -+; Set permissions for unix socket, if one is used. In Linux, read/write -+; permissions must be set in order to allow connections from a web server. Many -+; BSD-derived systems allow connections regardless of permissions. -+; Default Values: user and group are set as the running user -+; mode is set to 0660 -+;listen.owner = @php_fpm_user@ -+;listen.group = @php_fpm_group@ -+;listen.mode = 0660 -+; When POSIX Access Control Lists are supported you can set them using -+; these options, value is a comma separated list of user/group names. -+; When set, listen.owner and listen.group are ignored -+;listen.acl_users = -+;listen.acl_groups = -+ -+; List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect. -+; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original -+; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address -+; must be separated by a comma. If this value is left blank, connections will be -+; accepted from any ip address. -+; Default Value: any -+;listen.allowed_clients = 127.0.0.1 -+ -+; Specify the nice(2) priority to apply to the pool processes (only if set) -+; The value can vary from -19 (highest priority) to 20 (lower priority) -+; Note: - It will only work if the FPM master process is launched as root -+; - The pool processes will inherit the master process priority -+; unless it specified otherwise -+; Default Value: no set -+; process.priority = -19 -+ -+; Choose how the process manager will control the number of child processes. -+; Possible Values: -+; static - a fixed number (pm.max_children) of child processes; -+; dynamic - the number of child processes are set dynamically based on the -+; following directives. With this process management, there will be -+; always at least 1 children. -+; pm.max_children - the maximum number of children that can -+; be alive at the same time. -+; pm.start_servers - the number of children created on startup. -+; pm.min_spare_servers - the minimum number of children in 'idle' -+; state (waiting to process). If the number -+; of 'idle' processes is less than this -+; number then some children will be created. -+; pm.max_spare_servers - the maximum number of children in 'idle' -+; state (waiting to process). If the number -+; of 'idle' processes is greater than this -+; number then some children will be killed. -+; ondemand - no children are created at startup. Children will be forked when -+; new requests will connect. The following parameter are used: -+; pm.max_children - the maximum number of children that -+; can be alive at the same time. -+; pm.process_idle_timeout - The number of seconds after which -+; an idle process will be killed. -+; Note: This value is mandatory. -+pm = dynamic -+ -+; The number of child processes to be created when pm is set to 'static' and the -+; maximum number of child processes when pm is set to 'dynamic' or 'ondemand'. -+; This value sets the limit on the number of simultaneous requests that will be -+; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. -+; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP -+; CGI. The below defaults are based on a server without much resources. Don't -+; forget to tweak pm.* to fit your needs. -+; Note: Used when pm is set to 'static', 'dynamic' or 'ondemand' -+; Note: This value is mandatory. -+pm.max_children = 5 -+ -+; The number of child processes created on startup. -+; Note: Used only when pm is set to 'dynamic' -+; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 -+pm.start_servers = 2 -+ -+; The desired minimum number of idle server processes. -+; Note: Used only when pm is set to 'dynamic' -+; Note: Mandatory when pm is set to 'dynamic' -+pm.min_spare_servers = 1 -+ -+; The desired maximum number of idle server processes. -+; Note: Used only when pm is set to 'dynamic' -+; Note: Mandatory when pm is set to 'dynamic' -+pm.max_spare_servers = 3 -+ -+; The number of seconds after which an idle process will be killed. -+; Note: Used only when pm is set to 'ondemand' -+; Default Value: 10s -+;pm.process_idle_timeout = 10s; -+ -+; The number of requests each child process should execute before respawning. -+; This can be useful to work around memory leaks in 3rd party libraries. For -+; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. -+; Default Value: 0 -+;pm.max_requests = 500 -+ -+; The URI to view the FPM status page. If this value is not set, no URI will be -+; recognized as a status page. It shows the following informations: -+; pool - the name of the pool; -+; process manager - static, dynamic or ondemand; -+; start time - the date and time FPM has started; -+; start since - number of seconds since FPM has started; -+; accepted conn - the number of request accepted by the pool; -+; listen queue - the number of request in the queue of pending -+; connections (see backlog in listen(2)); -+; max listen queue - the maximum number of requests in the queue -+; of pending connections since FPM has started; -+; listen queue len - the size of the socket queue of pending connections; -+; idle processes - the number of idle processes; -+; active processes - the number of active processes; -+; total processes - the number of idle + active processes; -+; max active processes - the maximum number of active processes since FPM -+; has started; -+; max children reached - number of times, the process limit has been reached, -+; when pm tries to start more children (works only for -+; pm 'dynamic' and 'ondemand'); -+; Value are updated in real time. -+; Example output: -+; pool: www -+; process manager: static -+; start time: 01/Jul/2011:17:53:49 +0200 -+; start since: 62636 -+; accepted conn: 190460 -+; listen queue: 0 -+; max listen queue: 1 -+; listen queue len: 42 -+; idle processes: 4 -+; active processes: 11 -+; total processes: 15 -+; max active processes: 12 -+; max children reached: 0 -+; -+; By default the status page output is formatted as text/plain. Passing either -+; 'html', 'xml' or 'json' in the query string will return the corresponding -+; output syntax. Example: -+; http://www.foo.bar/status -+; http://www.foo.bar/status?json -+; http://www.foo.bar/status?html -+; http://www.foo.bar/status?xml -+; -+; By default the status page only outputs short status. Passing 'full' in the -+; query string will also return status for each pool process. -+; Example: -+; http://www.foo.bar/status?full -+; http://www.foo.bar/status?json&full -+; http://www.foo.bar/status?html&full -+; http://www.foo.bar/status?xml&full -+; The Full status returns for each process: -+; pid - the PID of the process; -+; state - the state of the process (Idle, Running, ...); -+; start time - the date and time the process has started; -+; start since - the number of seconds since the process has started; -+; requests - the number of requests the process has served; -+; request duration - the duration in µs of the requests; -+; request method - the request method (GET, POST, ...); -+; request URI - the request URI with the query string; -+; content length - the content length of the request (only with POST); -+; user - the user (PHP_AUTH_USER) (or '-' if not set); -+; script - the main script called (or '-' if not set); -+; last request cpu - the %cpu the last request consumed -+; it's always 0 if the process is not in Idle state -+; because CPU calculation is done when the request -+; processing has terminated; -+; last request memory - the max amount of memory the last request consumed -+; it's always 0 if the process is not in Idle state -+; because memory calculation is done when the request -+; processing has terminated; -+; If the process is in Idle state, then informations are related to the -+; last request the process has served. Otherwise informations are related to -+; the current request being served. -+; Example output: -+; ************************ -+; pid: 31330 -+; state: Running -+; start time: 01/Jul/2011:17:53:49 +0200 -+; start since: 63087 -+; requests: 12808 -+; request duration: 1250261 -+; request method: GET -+; request URI: /test_mem.php?N=10000 -+; content length: 0 -+; user: - -+; script: /home/fat/web/docs/php/test_mem.php -+; last request cpu: 0.00 -+; last request memory: 0 -+; -+; Note: There is a real-time FPM status monitoring sample web page available -+; It's available in: @EXPANDED_DATADIR@/fpm/status.html -+; -+; Note: The value must start with a leading slash (/). The value can be -+; anything, but it may not be a good idea to use the .php extension or it -+; may conflict with a real PHP file. -+; Default Value: not set -+;pm.status_path = /status -+ -+; The ping URI to call the monitoring page of FPM. If this value is not set, no -+; URI will be recognized as a ping page. This could be used to test from outside -+; that FPM is alive and responding, or to -+; - create a graph of FPM availability (rrd or such); -+; - remove a server from a group if it is not responding (load balancing); -+; - trigger alerts for the operating team (24/7). -+; Note: The value must start with a leading slash (/). The value can be -+; anything, but it may not be a good idea to use the .php extension or it -+; may conflict with a real PHP file. -+; Default Value: not set -+;ping.path = /ping -+ -+; This directive may be used to customize the response of a ping request. The -+; response is formatted as text/plain with a 200 response code. -+; Default Value: pong -+;ping.response = pong -+ -+; The access log file -+; Default: not set -+;access.log = log/$pool.access.log -+ -+; The access log format. -+; The following syntax is allowed -+; %%: the '%' character -+; %C: %CPU used by the request -+; it can accept the following format: -+; - %{user}C for user CPU only -+; - %{system}C for system CPU only -+; - %{total}C for user + system CPU (default) -+; %d: time taken to serve the request -+; it can accept the following format: -+; - %{seconds}d (default) -+; - %{miliseconds}d -+; - %{mili}d -+; - %{microseconds}d -+; - %{micro}d -+; %e: an environment variable (same as $_ENV or $_SERVER) -+; it must be associated with embraces to specify the name of the env -+; variable. Some exemples: -+; - server specifics like: %{REQUEST_METHOD}e or %{SERVER_PROTOCOL}e -+; - HTTP headers like: %{HTTP_HOST}e or %{HTTP_USER_AGENT}e -+; %f: script filename -+; %l: content-length of the request (for POST request only) -+; %m: request method -+; %M: peak of memory allocated by PHP -+; it can accept the following format: -+; - %{bytes}M (default) -+; - %{kilobytes}M -+; - %{kilo}M -+; - %{megabytes}M -+; - %{mega}M -+; %n: pool name -+; %o: output header -+; it must be associated with embraces to specify the name of the header: -+; - %{Content-Type}o -+; - %{X-Powered-By}o -+; - %{Transfert-Encoding}o -+; - .... -+; %p: PID of the child that serviced the request -+; %P: PID of the parent of the child that serviced the request -+; %q: the query string -+; %Q: the '?' character if query string exists -+; %r: the request URI (without the query string, see %q and %Q) -+; %R: remote IP address -+; %s: status (response code) -+; %t: server time the request was received -+; it can accept a strftime(3) format: -+; %d/%b/%Y:%H:%M:%S %z (default) -+; %T: time the log has been written (the request has finished) -+; it can accept a strftime(3) format: -+; %d/%b/%Y:%H:%M:%S %z (default) -+; %u: remote user -+; -+; Default: "%R - %u %t \"%m %r\" %s" -+;access.format = "%R - %u %t \"%m %r%Q%q\" %s %f %{mili}d %{kilo}M %C%%" -+ -+; The log file for slow requests -+; Default Value: not set -+; Note: slowlog is mandatory if request_slowlog_timeout is set -+;slowlog = log/$pool.log.slow -+ -+; The timeout for serving a single request after which a PHP backtrace will be -+; dumped to the 'slowlog' file. A value of '0s' means 'off'. -+; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) -+; Default Value: 0 -+;request_slowlog_timeout = 0 -+ -+; The timeout for serving a single request after which the worker process will -+; be killed. This option should be used when the 'max_execution_time' ini option -+; does not stop script execution for some reason. A value of '0' means 'off'. -+; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) -+; Default Value: 0 -+;request_terminate_timeout = 0 -+ -+; Set open file descriptor rlimit. -+; Default Value: system defined value -+;rlimit_files = 1024 -+ -+; Set max core size rlimit. -+; Possible Values: 'unlimited' or an integer greater or equal to 0 -+; Default Value: system defined value -+;rlimit_core = 0 -+ -+; Chroot to this directory at the start. This value must be defined as an -+; absolute path. When this value is not set, chroot is not used. -+; Note: you can prefix with '$prefix' to chroot to the pool prefix or one -+; of its subdirectories. If the pool prefix is not set, the global prefix -+; will be used instead. -+; Note: chrooting is a great security feature and should be used whenever -+; possible. However, all PHP paths will be relative to the chroot -+; (error_log, sessions.save_path, ...). -+; Default Value: not set -+;chroot = -+ -+; Chdir to this directory at the start. -+; Note: relative path can be used. -+; Default Value: current directory or / when chroot -+;chdir = /var/www -+ -+; Redirect worker stdout and stderr into main error log. If not set, stdout and -+; stderr will be redirected to /dev/null according to FastCGI specs. -+; Note: on highloaded environement, this can cause some delay in the page -+; process time (several ms). -+; Default Value: no -+;catch_workers_output = yes -+ -+; Clear environment in FPM workers -+; Prevents arbitrary environment variables from reaching FPM worker processes -+; by clearing the environment in workers before env vars specified in this -+; pool configuration are added. -+; Setting to "no" will make all environment variables available to PHP code -+; via getenv(), $_ENV and $_SERVER. -+; Default Value: yes -+;clear_env = no -+ -+; Limits the extensions of the main script FPM will allow to parse. This can -+; prevent configuration mistakes on the web server side. You should only limit -+; FPM to .php extensions to prevent malicious users to use other extensions to -+; exectute php code. -+; Note: set an empty value to allow all extensions. -+; Default Value: .php -+;security.limit_extensions = .php .php3 .php4 .php5 -+ -+; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from -+; the current environment. -+; Default Value: clean env -+;env[HOSTNAME] = $HOSTNAME -+;env[PATH] = /usr/local/bin:/usr/bin:/bin -+;env[TMP] = /tmp -+;env[TMPDIR] = /tmp -+;env[TEMP] = /tmp -+ -+; Additional php.ini defines, specific to this pool of workers. These settings -+; overwrite the values previously defined in the php.ini. The directives are the -+; same as the PHP SAPI: -+; php_value/php_flag - you can set classic ini defines which can -+; be overwritten from PHP call 'ini_set'. -+; php_admin_value/php_admin_flag - these directives won't be overwritten by -+; PHP call 'ini_set' -+; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. -+ -+; Defining 'extension' will load the corresponding shared extension from -+; extension_dir. Defining 'disable_functions' or 'disable_classes' will not -+; overwrite previously defined php.ini values, but will append the new value -+; instead. -+ -+; Note: path INI options can be relative and will be expanded with the prefix -+; (pool, global or @prefix@) -+ -+; Default Value: nothing is defined by default except the values in php.ini and -+; specified at startup with the -d argument -+;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com -+;php_flag[display_errors] = off -+;php_admin_value[error_log] = /var/log/fpm-php.www.log -+;php_admin_flag[log_errors] = on -+;php_admin_value[memory_limit] = 32M ---- php-5.5.7/sapi/fpm/config.m4~ 2013-12-16 17:57:03.000000000 +0200 -+++ php-5.5.7/sapi/fpm/config.m4 2013-12-16 18:00:34.936527309 +0200 -@@ -609,7 +609,7 @@ - - PHP_ADD_BUILD_DIR(sapi/fpm/fpm) - PHP_ADD_BUILD_DIR(sapi/fpm/fpm/events) -- PHP_OUTPUT(sapi/fpm/php-fpm.conf sapi/fpm/init.d.php-fpm sapi/fpm/php-fpm.service sapi/fpm/php-fpm.8 sapi/fpm/status.html) -+ PHP_OUTPUT(sapi/fpm/php-fpm.conf sapi/fpm/php-fpm.conf-d sapi/fpm/init.d.php-fpm sapi/fpm/php-fpm.service sapi/fpm/php-fpm.8 sapi/fpm/status.html) - PHP_ADD_MAKEFILE_FRAGMENT([$abs_srcdir/sapi/fpm/Makefile.frag]) - - SAPI_FPM_PATH=sapi/fpm/php-fpm ---- php-5.6.2/sapi/fpm/Makefile.frag~ 2014-10-15 15:59:32.000000000 +0300 -+++ php-5.6.2/sapi/fpm/Makefile.frag 2014-10-27 08:12:57.402883790 +0200 -@@ -11,8 +11,9 @@ - @$(INSTALL) -m 0755 $(SAPI_FPM_PATH) $(INSTALL_ROOT)$(sbindir)/$(program_prefix)php-fpm$(program_suffix)$(EXEEXT) - - @echo "Installing PHP FPM config: $(INSTALL_ROOT)$(sysconfdir)/" && \ -- $(mkinstalldirs) $(INSTALL_ROOT)$(sysconfdir) || : -+ $(mkinstalldirs) $(INSTALL_ROOT)$(sysconfdir)/fpm.d || : - @$(INSTALL_DATA) sapi/fpm/php-fpm.conf $(INSTALL_ROOT)$(sysconfdir)/php-fpm.conf.default || : -+ @$(INSTALL_DATA) sapi/fpm/php-fpm.conf-d $(INSTALL_ROOT)$(sysconfdir)/fpm.d/www.conf.default || : - - @echo "Installing PHP FPM man page: $(INSTALL_ROOT)$(mandir)/man8/" - @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man8 diff --git a/libdb-info.patch b/libdb-info.patch index f2fcdfb..0c5a900 100644 --- a/libdb-info.patch +++ b/libdb-info.patch @@ -14,7 +14,7 @@ @@ -545,6 +549,10 @@ PHP_MINFO_FUNCTION(dba) php_info_print_table_start(); - php_info_print_table_row(2, "DBA support", "enabled"); + php_info_print_table_row(2, "DBA support", "enabled"); +#ifdef DB_VERSION_STRING + php_info_print_table_row(2, "libdb header version", DB_VERSION_STRING); + php_info_print_table_row(2, "libdb library version", db_version(NULL, NULL, NULL)); diff --git a/libtool-tag.patch b/libtool-tag.patch deleted file mode 100644 index d7e5400..0000000 --- a/libtool-tag.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- php-5.6.0RC4/configure.ac~ 2014-08-20 16:08:27.000000000 +0300 -+++ php-5.6.0RC4/configure.ac 2014-08-21 20:49:14.693072513 +0300 -@@ -1408,6 +1408,9 @@ - dnl libtool 1.4.3 needs this. - PHP_SET_LIBTOOL_VARIABLE([--preserve-dup-deps]) - -+dnl pass --tag=CC to unconfuse when CC="ccache gcc" -+PHP_SET_LIBTOOL_VARIABLE([--tag=CC]) -+ - test -z "$PHP_COMPILE" && PHP_COMPILE='$(LIBTOOL) --mode=compile $(COMPILE) -c $<' - test -z "$CXX_PHP_COMPILE" && CXX_PHP_COMPILE='$(LIBTOOL) --mode=compile $(CXX_COMPILE) -c $<' - SHARED_LIBTOOL='$(LIBTOOL)' diff --git a/mysql-lib-ver-mismatch.patch b/mysql-lib-ver-mismatch.patch index 4ebe277..12b85e5 100644 --- a/mysql-lib-ver-mismatch.patch +++ b/mysql-lib-ver-mismatch.patch @@ -1,7 +1,7 @@ --- php-5.3.27/ext/mysqli/mysqli_nonapi.c~ 2013-11-20 00:19:11.000000000 +0200 +++ php-5.3.27/ext/mysqli/mysqli_nonapi.c 2013-11-20 00:19:44.725872552 +0200 @@ -73,7 +73,7 @@ - zend_bool self_alloced = 0; + bool self_alloced = 0; -#if !defined(MYSQL_USE_MYSQLND) diff --git a/openssl.patch b/openssl.patch index 25c11d8..1256370 100644 --- a/openssl.patch +++ b/openssl.patch @@ -1,15 +1,3 @@ ---- php-8.0.8/ext/openssl/openssl.c~ 2021-06-29 09:41:19.000000000 +0200 -+++ php-8.0.8/ext/openssl/openssl.c 2021-10-23 20:39:04.743124767 +0200 -@@ -1221,7 +1221,9 @@ PHP_MINIT_FUNCTION(openssl) - REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOSIGS", CMS_NOSIGS, CONST_CS|CONST_PERSISTENT); - - REGISTER_LONG_CONSTANT("OPENSSL_PKCS1_PADDING", RSA_PKCS1_PADDING, CONST_CS|CONST_PERSISTENT); -+#ifdef RSA_SSLV23_PADDING - REGISTER_LONG_CONSTANT("OPENSSL_SSLV23_PADDING", RSA_SSLV23_PADDING, CONST_CS|CONST_PERSISTENT); -+#endif - REGISTER_LONG_CONSTANT("OPENSSL_NO_PADDING", RSA_NO_PADDING, CONST_CS|CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("OPENSSL_PKCS1_OAEP_PADDING", RSA_PKCS1_OAEP_PADDING, CONST_CS|CONST_PERSISTENT); - diff --git a/ext/openssl/xp_ssl.c b/ext/openssl/xp_ssl.c index 5564bf6f08..423f696c76 100644 --- a/ext/openssl/xp_ssl.c diff --git a/php-fcgi-error_log-no-newlines.patch b/php-fcgi-error_log-no-newlines.patch deleted file mode 100644 index 83c4509..0000000 --- a/php-fcgi-error_log-no-newlines.patch +++ /dev/null @@ -1,16 +0,0 @@ ---- php-7.0/sapi/cgi/cgi_main.c~ 2015-05-21 23:12:23.000000000 +0300 -+++ php-7.0/sapi/cgi/cgi_main.c 2015-05-21 23:13:24.947976867 +0300 -@@ -701,12 +701,8 @@ - request = (fcgi_request*) SG(server_context); - if (request) { - int ret, len = (int)strlen(message); -- char *buf = malloc(len+2); - -- memcpy(buf, message, len); -- memcpy(buf + len, "\n", sizeof("\n")); -- ret = fcgi_write(request, FCGI_STDERR, buf, (int)(len + 1)); -- free(buf); -+ ret = fcgi_write(request, FCGI_STDERR, message, len); - if (ret < 0) { - php_handle_aborted_connection(); - } diff --git a/php-ini.patch b/php-ini.patch index d3b5ecb..156a129 100644 --- a/php-ini.patch +++ b/php-ini.patch @@ -1,5 +1,5 @@ ---- php-8.0.0/php.ini 2020-11-24 18:04:03.000000000 +0100 -+++ php-8.0.0/php.ini 2020-12-05 23:44:57.718592809 +0100 +--- php-8.1.4/php.ini 2022-03-15 21:18:41.000000000 +0100 ++++ php-8.1.4/php.ini 2022-04-05 01:05:28.031906242 +0200 @@ -82,6 +82,16 @@ ; much more verbose when it comes to errors. We recommend using the ; development version only in development environments, as errors shown to @@ -43,36 +43,34 @@ +; Default Value: Off ; Development Value: Off ; Production Value: Off - ; http://php.net/short-open-tag + ; https://php.net/short-open-tag @@ -397,7 +407,7 @@ ; threat in any way, but it makes it possible to determine whether you use PHP ; on your server or not. - ; http://php.net/expose-php + ; https://php.net/expose-php -expose_php = On +expose_php = Off ;;;;;;;;;;;;;;;;;;; ; Resource Limits ; -@@ -765,9 +775,7 @@ - - ; Directory in which the loadable extensions (modules) reside. - ; http://php.net/extension-dir --;extension_dir = "./" --; On windows: +@@ -762,7 +772,7 @@ + ; https://php.net/extension-dir + ;extension_dir = "./" + ; On windows: -;extension_dir = "ext" +;extension_dir = "/usr/lib/php" ; Directory where the temporary files should be placed. ; Defaults to the system default (see sys_get_temp_dir) -@@ -779,64 +787,6 @@ - ; http://php.net/enable-dl +@@ -774,64 +784,6 @@ + ; https://php.net/enable-dl enable_dl = Off -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** --; http://php.net/cgi.force-redirect +-; https://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with @@ -83,7 +81,7 @@ -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. --; http://php.net/cgi.redirect-status-env +-; https://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's @@ -92,7 +90,7 @@ -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. --; http://php.net/cgi.fix-pathinfo +-; https://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; if cgi.discard_path is enabled, the PHP CGI binary can safely be placed outside @@ -104,7 +102,7 @@ -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. --; http://php.net/fastcgi.impersonate +-; https://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1 - -; Disable logging through FastCGI connection. PHP's default behavior is to enable @@ -116,20 +114,20 @@ -; is supported by Apache. When this option is set to 1, PHP will send -; RFC2616 compliant header. -; Default is zero. --; http://php.net/cgi.rfc2616-headers +-; https://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -; cgi.check_shebang_line controls whether CGI PHP checks for line starting with #! -; (shebang) at the top of the running script. This line might be needed if the -; script support running both as stand-alone script and via PHP CGI<. PHP in CGI -; mode skips this line and ignores its content if this directive is turned on. --; http://php.net/cgi.check-shebang-line +-; https://php.net/cgi.check-shebang-line -;cgi.check_shebang_line=1 - ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; -@@ -994,19 +944,19 @@ +@@ -990,19 +942,19 @@ ; Use of this INI entry is deprecated, use global input_encoding instead. ; If empty, default_charset or input_encoding or iconv.input_encoding is used. ; The precedence is: default_charset < input_encoding < iconv.input_encoding @@ -152,35 +150,35 @@ [imap] ; rsh/ssh logins are disabled by default. Use this INI entry if you want to -@@ -1172,6 +1122,9 @@ - ; http://php.net/mysqli.default-socket +@@ -1172,6 +1124,9 @@ + ; https://php.net/mysqli.default-socket mysqli.default_socket = +; The name of the character set to use as the default character set. +;mysqli.connect_charset=utf8 + ; Default host for mysqli_connect() (doesn't apply in safe mode). - ; http://php.net/mysqli.default-host + ; https://php.net/mysqli.default-host mysqli.default_host = -@@ -1313,7 +1266,7 @@ +@@ -1318,7 +1273,7 @@ [browscap] - ; http://php.net/browscap + ; https://php.net/browscap -;browscap = extra/browscap.ini +;browscap = /usr/share/browscap/php_browscap.ini [Session] ; Handler used to store/retrieve data. -@@ -1736,7 +1689,7 @@ +@@ -1741,7 +1696,7 @@ ; Sets the directory name where SOAP extension will put cache files. - ; http://php.net/soap.wsdl-cache-dir + ; https://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" +soap.wsdl_cache_dir="/var/cache/php" ; (time to live) Sets the number of second while cached file will be used ; instead of original one. -@@ -1757,160 +1710,6 @@ +@@ -1762,160 +1717,6 @@ [dba] ;dba.default_handler= @@ -322,12 +320,12 @@ - -; Specifies a PHP script that is going to be compiled and executed at server -; start-up. --; http://php.net/opcache.preload +-; https://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 +-; https://php.net/opcache.preload_user -;opcache.preload_user= - -; Prevents caching files that are less than this number of seconds old. It diff --git a/php-systzdata.patch b/php-systzdata.patch index 5b0d84b..fb69621 100644 --- a/php-systzdata.patch +++ b/php-systzdata.patch @@ -5,6 +5,7 @@ Add support for use of the system timezone database, rather than embedding a copy. Discussed upstream but was not desired. History: +r21: adapt for timelib 2021.03 (in 8.1.0) r20: adapt for timelib 2020.03 (in 8.0.10RC1) r19: adapt for timelib 2020.02 (in 8.0.0beta2) r18: adapt for autotool change in 7.3.3RC1 @@ -31,9 +32,9 @@ r3: fix a crash if /usr/share/zoneinfo doesn't exist (Raphael Geissert) r2: add filesystem trawl to set up name alias index r1: initial revision -diff -up ./ext/date/config0.m4.systzdata ./ext/date/config0.m4 ---- ./ext/date/config0.m4.systzdata 2021-08-10 11:35:28.000000000 +0200 -+++ ./ext/date/config0.m4 2021-08-10 12:09:41.067003517 +0200 +diff -up php-8.0.0beta3/ext/date/config0.m4.systzdata php-8.0.0beta3/ext/date/config0.m4 +--- php-8.0.0beta3/ext/date/config0.m4.systzdata 2020-09-01 19:13:26.000000000 +0200 ++++ php-8.0.0beta3/ext/date/config0.m4 2020-09-02 08:07:51.039979873 +0200 @@ -4,6 +4,19 @@ AC_CHECK_HEADERS([io.h]) dnl Check for strtoll, atoll AC_CHECK_FUNCS(strtoll atoll) @@ -51,13 +52,13 @@ diff -up ./ext/date/config0.m4.systzdata ./ext/date/config0.m4 + fi +fi + - PHP_DATE_CFLAGS="-I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1" - timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c + PHP_DATE_CFLAGS="-Wno-implicit-fallthrough -I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1" + timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c lib/parse_posix.c lib/timelib.c lib/tm2unixtime.c lib/unixtime2tm.c lib/parse_iso_intervals.c lib/interval.c" -diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c ---- ./ext/date/lib/parse_tz.c.systzdata 2021-08-10 11:35:28.000000000 +0200 -+++ ./ext/date/lib/parse_tz.c 2021-08-10 12:12:13.191605207 +0200 -@@ -26,8 +26,21 @@ +diff -up php-8.0.0beta3/ext/date/lib/parse_tz.c.systzdata php-8.0.0beta3/ext/date/lib/parse_tz.c +--- php-8.0.0beta3/ext/date/lib/parse_tz.c.systzdata 2020-09-01 19:13:26.000000000 +0200 ++++ php-8.0.0beta3/ext/date/lib/parse_tz.c 2020-09-02 08:07:51.039979873 +0200 +@@ -26,9 +26,22 @@ #include "timelib.h" #include "timelib_private.h" @@ -72,6 +73,7 @@ diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c + +#else #define TIMELIB_SUPPORTS_V2DATA + #define TIMELIB_SUPPORT_SLIM_FILE #include "timezonedb.h" +#endif + @@ -79,7 +81,7 @@ diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c #if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__)) # if defined(__LITTLE_ENDIAN__) -@@ -94,6 +107,11 @@ static int read_php_preamble(const unsig +@@ -95,6 +108,11 @@ static int read_php_preamble(const unsig { uint32_t version; @@ -91,7 +93,7 @@ diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c /* read ID */ version = (*tzf)[3] - '0'; *tzf += 4; -@@ -435,7 +453,429 @@ void timelib_dump_tzinfo(timelib_tzinfo +@@ -577,7 +595,429 @@ void timelib_dump_tzinfo(timelib_tzinfo } } @@ -522,7 +524,7 @@ diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c { int left = 0, right = tzdb->index_size - 1; -@@ -461,9 +901,48 @@ static int seek_to_tz_position(const uns +@@ -603,9 +1043,48 @@ static int seek_to_tz_position(const uns return 0; } @@ -571,7 +573,7 @@ diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c } const timelib_tzdb_index_entry *timelib_timezone_identifiers_list(const timelib_tzdb *tzdb, int *count) -@@ -475,7 +954,30 @@ const timelib_tzdb_index_entry *timelib_ +@@ -617,7 +1096,30 @@ const timelib_tzdb_index_entry *timelib_ int timelib_timezone_id_is_valid(const char *timezone, const timelib_tzdb *tzdb) { const unsigned char *tzf; @@ -603,7 +605,7 @@ diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c } static int skip_64bit_preamble(const unsigned char **tzf, timelib_tzinfo *tz) -@@ -517,6 +1019,8 @@ static timelib_tzinfo* timelib_tzinfo_ct +@@ -662,6 +1164,8 @@ static timelib_tzinfo* timelib_tzinfo_ct timelib_tzinfo *timelib_parse_tzfile(const char *timezone, const timelib_tzdb *tzdb, int *error_code) { const unsigned char *tzf; @@ -612,7 +614,7 @@ diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c timelib_tzinfo *tmp; int version; int transitions_result, types_result; -@@ -524,7 +1028,7 @@ timelib_tzinfo *timelib_parse_tzfile(con +@@ -669,7 +1173,7 @@ timelib_tzinfo *timelib_parse_tzfile(con *error_code = TIMELIB_ERROR_NO_ERROR; @@ -621,9 +623,9 @@ diff -up ./ext/date/lib/parse_tz.c.systzdata ./ext/date/lib/parse_tz.c tmp = timelib_tzinfo_ctor(timezone); version = read_preamble(&tzf, tmp, &type); -@@ -563,11 +1067,36 @@ timelib_tzinfo *timelib_parse_tzfile(con +@@ -712,11 +1216,36 @@ timelib_tzinfo *timelib_parse_tzfile(con + return NULL; } - skip_posix_string(&tzf, tmp); +#ifdef HAVE_SYSTEM_TZDATA + if (memmap) { diff --git a/php.spec b/php.spec index ff5df85..9910a92 100644 --- a/php.spec +++ b/php.spec @@ -71,6 +71,7 @@ %bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs) %bcond_with mm # without mm support for session storage %bcond_without system_gd # system gd +%bcond_with avif # Without AVIF support in GD extension (imagecreatefromavif and imageavif) %bcond_without webp # Without WebP support in GD extension (imagecreatefromwebp) %define apxs2 /usr/sbin/apxs @@ -115,7 +116,7 @@ %endif %define orgname php -%define php_suffix 80 +%define php_suffix 81 Summary: PHP: Hypertext Preprocessor Summary(fr.UTF-8): Le langage de script embarque-HTML PHP Summary(pl.UTF-8): Język skryptowy PHP @@ -123,7 +124,7 @@ Summary(pt_BR.UTF-8): A linguagem de script PHP Summary(ru.UTF-8): PHP - язык препроцессирования HTML-файлов, выполняемый на сервере Summary(uk.UTF-8): PHP - мова препроцесування HTML-файлів, виконувана на сервері Name: %{orgname}%{php_suffix} -Version: 8.0.17 +Version: 8.1.4 Release: 1 Epoch: 4 # All files licensed under PHP version 3.01, except @@ -132,7 +133,7 @@ Epoch: 4 License: PHP 3.01 and Zend and BSD Group: Libraries Source0: https://php.net/distributions/%{orgname}-%{version}.tar.xz -# Source0-md5: fa88b5f436ad81235b0856144abb0035 +# Source0-md5: 6473a944378c59080bcd837552dcaf3f Source1: opcache.ini Source2: %{orgname}-mod_php.conf Source3: %{orgname}-cgi-fcgi.ini @@ -147,8 +148,9 @@ Patch0: %{orgname}-shared.patch Patch1: %{orgname}-tld.patch Patch3: %{orgname}-link-libs.patch Patch4: intl-stdc++.patch +# https://bugs.php.net/bug.php?id=79589 +Patch5: openssl.patch Patch7: %{orgname}-sapi-ini-file.patch -Patch9: libtool-tag.patch Patch10: %{orgname}-ini.patch Patch11: embed.patch Patch14: %{orgname}-no_pear_install.patch @@ -173,7 +175,6 @@ Patch67: mysql-lib-ver-mismatch.patch # https://bugs.php.net/bug.php?id=68344 Patch68: php-mysql-ssl-context.patch Patch71: libdb-info.patch -Patch72: openssl.patch URL: http://php.net/ %{?with_pdo_firebird:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}} %{?with_pspell:BuildRequires: aspell-devel >= 2:0.50.0} @@ -200,6 +201,7 @@ BuildRequires: gmp-devel >= 4.2 %{?with_gcov:BuildRequires: lcov} %{?with_fpm:BuildRequires: libapparmor-devel} %{?with_argon2:BuildRequires: libargon2-devel >= 20161029} +%{?with_avif:BuildRequires: libavif-devel >= 0.8.2} %{?with_ffi:BuildRequires: libffi-devel} %{?with_intl:BuildRequires: libicu-devel >= 50.1} BuildRequires: libjpeg-devel @@ -208,7 +210,7 @@ BuildRequires: libpng-devel >= 1.0.8 %{?with_sodium:BuildRequires: libsodium-devel >= 1.0.8} %{?with_intl:BuildRequires: libstdc++-devel} BuildRequires: libtool >= 2:2.4.6 -%{?with_webp:BuildRequires: libwebp-devel} +%{?with_webp:BuildRequires: libwebp-devel >= 0.2.0} BuildRequires: libxml2-devel >= 1:2.7.6-4 %{?with_xsl:BuildRequires: libxslt-devel >= 1.1.0} %{?with_zip:BuildRequires: libzip-devel >= 1.3.1} @@ -220,7 +222,7 @@ BuildRequires: libxml2-devel >= 1:2.7.6-4 BuildRequires: oniguruma-devel %{?with_ldap:BuildRequires: openldap-devel >= 2.3.0} %if %{with openssl} || %{with ldap} -BuildRequires: openssl-devel >= 1.0.1 +BuildRequires: openssl-devel >= 1.0.2 %endif %{?with_oci:%{?with_instantclient:BuildRequires: oracle-instantclient-devel}} BuildRequires: pam-devel @@ -233,7 +235,7 @@ BuildRequires: rpm-build >= 4.4.0 BuildRequires: rpmbuild(macros) >= 1.566 BuildRequires: sed >= 4.0 %if %{with sqlite3} || %{with pdo_sqlite} -BuildRequires: sqlite3-devel >= 3.7.4 +BuildRequires: sqlite3-devel >= 3.7.7 %endif %{?with_systemtap:BuildRequires: systemtap-sdt-devel} BuildRequires: tar >= 1:1.22 @@ -255,9 +257,9 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir %{php_sysconfdir} # must be in sync with source. extra check ensuring that it is so is done in %%build -%define php_api_version 20200930 -%define zend_module_api 20200930 -%define zend_extension_api 420200930 +%define php_api_version 20210902 +%define zend_module_api 20210902 +%define zend_extension_api 420210902 %define php_pdo_api_version 20170320 # Extension versions @@ -1788,9 +1790,9 @@ cp -p php.ini-production php.ini %patch1 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %patch7 -p1 -%patch9 -p1 %patch10 -p1 %patch14 -p1 %patch18 -p1 @@ -1815,7 +1817,6 @@ cp -p php.ini-production php.ini %patch67 -p1 #%patch68 -p1 DROP or update to 7.0 APIs %patch71 -p1 -%patch72 -p1 sed -E -i -e '1s,#!\s*/usr/bin/env\s+(.*),#!%{__bindir}\1,' \ ext/ext_skel.php \ @@ -2129,6 +2130,7 @@ for sapi in $sapis; do %{__enable_disable pcntl pcntl shared} \ %{__enable_disable pdo pdo shared} \ --enable-xmlwriter=shared \ + %{?with_avif:--with-avif} \ %if %{with fpm} --with-fpm-user=http \ --with-fpm-group=http \ @@ -3171,7 +3173,6 @@ fi %{php_data_dir}/tests/php/run-test %{php_data_dir}/tests/php/security %{php_data_dir}/tests/php/strings -%{php_data_dir}/tests/php/quicktester.inc %attr(755,root,root) %{php_data_dir}/tests/php/run-tests.php %if %{with tidy} diff --git a/skip-tests.sh b/skip-tests.sh index d378d72..dbe7d39 100644 --- a/skip-tests.sh +++ b/skip-tests.sh @@ -17,8 +17,6 @@ mv ext/filter/tests/bug52209.phpt{,.skip} mv ext/gd/tests/bug43073.phpt{,.skip} # Bug #48801 (Problem with imagettfbbox) mv ext/gd/tests/bug48801.phpt{,.skip} -# PDO Common: PDORow + get_parent_class() -$x8664 mv ext/pdo/tests/pdo_035.phpt{,.skip} # Bug #47415 PDO_Firebird segfaults when passing lowercased column name to bindColumn() mv ext/pdo_firebird/tests/bug_47415.phpt{,.skip} # PDO_Firebird: bug 48877 The "bindValue" and "bindParam" do not work for PDO Firebird if we use named parameters (:parameter). -- 2.46.0