From 8e95d3efd3e05b2419be3a092efa3cb763c382fd Mon Sep 17 00:00:00 2001 From: Marcin Krol Date: Sat, 13 Sep 2014 18:35:31 +0000 Subject: [PATCH] - PHP_5_6 from PLD minus pldlogo patch --- fix-test-run.patch | 35 +- fpm-conf-split.patch | 859 ++++++++++++++++++++++++++++++++ libtool-tag.patch | 12 + milter.patch | 28 ++ mysql-lib-ver-mismatch.patch | 22 + mysqlnd-shared.patch | 23 - php-config-file-scan-dir.patch | 155 ------ php-fpm-config.patch | 22 + php-fpm.init | 47 +- php-gd_imagerotate_enable.patch | 173 ------- php-ini.patch | 87 ++-- php-mod_php.conf | 10 + php-nohttpd.patch | 4 +- php-sapi-ini-file.patch | 1 + php-sh.patch | 13 - php-systzdata.patch | 32 +- php-tld.patch | 19 - php.spec | 433 ++++++++++++---- suhosin.patch | 16 +- 19 files changed, 1418 insertions(+), 573 deletions(-) create mode 100644 fpm-conf-split.patch create mode 100644 libtool-tag.patch create mode 100644 milter.patch create mode 100644 mysql-lib-ver-mismatch.patch delete mode 100644 mysqlnd-shared.patch delete mode 100644 php-config-file-scan-dir.patch delete mode 100644 php-gd_imagerotate_enable.patch delete mode 100644 php-sh.patch delete mode 100644 php-tld.patch diff --git a/fix-test-run.patch b/fix-test-run.patch index 3de5b43..42afec5 100644 --- a/fix-test-run.patch +++ b/fix-test-run.patch @@ -12,32 +12,26 @@ PHP_SUBST_OLD(PHP_INSTALLED_SAPIS) PHP_SUBST(PHP_EXECUTABLE) ---- php-5.5.0alpha2/Makefile.global~ 2013-01-02 15:26:29.000000000 +0200 -+++ php-5.5.0alpha2/Makefile.global 2013-01-02 15:29:53.064968422 +0200 -@@ -77,7 +77,8 @@ +--- php-5.5.11/Makefile.global 2014-04-27 15:05:38.963814051 +0300 ++++ php-5.5.11/Makefile.global 2014-04-27 15:09:54.438443707 +0300 +@@ -81,8 +81,15 @@ done; \ fi -PHP_TEST_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' +PHP_TEST_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d 'safe_mode=0' -+PHP_TEST_SHARED_SYSTEM_EXTENSIONS = pcre ++PHP_TEST_SHARED_SYSTEM_EXTENSIONS = PHP_TEST_SHARED_EXTENSIONS = ` \ - if test "x$(PHP_MODULES)" != "x"; then \ - for i in $(PHP_MODULES)""; do \ -@@ -88,6 +89,12 @@ - for i in $(PHP_ZEND_EX)""; do \ - . $$i; $(top_srcdir)/build/shtool echo -n -- " -d $(ZEND_EXT_TYPE)=$(top_builddir)/modules/$$dlname"; \ - done; \ -+ fi; \ + if test "x$(PHP_TEST_SHARED_SYSTEM_EXTENSIONS)" != "x"; then \ + for i in $(PHP_TEST_SHARED_SYSTEM_EXTENSIONS)""; do \ + dlname=$$i.$(SHLIB_DL_SUFFIX_NAME); \ + $(top_srcdir)/build/shtool echo -n -- " -d extension=$(EXTENSION_DIR)/$$dlname"; \ + done; \ - fi` - PHP_DEPRECATED_DIRECTIVES_REGEX = '^(define_syslog_variables|register_(globals|long_arrays)?|safe_mode|magic_quotes_(gpc|runtime|sybase)?|(zend_)?extension(_debug)?(_ts)?)[\t\ ]*=' - -@@ -118,7 +118,10 @@ ++ fi; \ + if test "x$(PHP_MODULES)" != "x"; then \ + for i in $(PHP_MODULES)""; do \ + . $$i; $(top_srcdir)/build/shtool echo -n -- " -d extension=$$dlname"; \ +@@ -111,7 +118,10 @@ TEST_PHP_EXECUTABLE=$(PHP_EXECUTABLE) \ TEST_PHP_SRCDIR=$(top_srcdir) \ CC="$(CC)" \ @@ -49,14 +43,3 @@ TEST_RESULT_EXIT_CODE=$$?; \ rm $(top_builddir)/tmp-php.ini; \ exit $$TEST_RESULT_EXIT_CODE; \ ---- php-5.3.2/Makefile.global 2010-03-16 16:31:36.972576955 +0200 -+++ php-5.3.2/Makefile.global 2010-03-16 16:31:36.972576955 +0200 -@@ -296,7 +296,7 @@ - fi - - PHP_TEST_SETTINGS = -d 'open_basedir=' -d 'output_buffering=0' -d 'memory_limit=-1' -d 'safe_mode=0' --PHP_TEST_SHARED_SYSTEM_EXTENSIONS = pcre -+PHP_TEST_SHARED_SYSTEM_EXTENSIONS = - PHP_TEST_SHARED_EXTENSIONS = ` \ - if test "x$(PHP_MODULES)" != "x"; then \ - for i in $(PHP_MODULES)""; do \ diff --git a/fpm-conf-split.patch b/fpm-conf-split.patch new file mode 100644 index 0000000..be1b1bc --- /dev/null +++ b/fpm-conf-split.patch @@ -0,0 +1,859 @@ +--- php-5.5.7/sapi/fpm/php-fpm.conf.in~ 2013-12-16 17:57:03.000000000 +0200 ++++ php-5.5.7/sapi/fpm/php-fpm.conf.in 2013-12-16 17:58:37.618025260 +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/php/fpm.d/*.conf +- + ;;;;;;;;;;;;;;;;;; + ; Global Options ; + ;;;;;;;;;;;;;;;;;; +@@ -116,404 +116,10 @@ + ; 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: +-; - '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 address on +-; a specific port; +-; 'port' - to listen on a TCP socket to all addresses on a +-; specific port; +-; '/path/to/unix/socket' - to listen on a unix socket. +-; Note: This value is mandatory. +-listen = /var/run/php/@processname@.sock +- +-; 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 +- +-; List of ipv4 addresses 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] = $PATH +-;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 ++; 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/php/fpm.d/*.conf +--- /dev/null 2007-02-13 18:29:53.000000000 +0200 ++++ php-5.6.0beta1/sapi/fpm/php-fpm.conf-d.in 2014-04-21 21:58:46.191751631 +0300 +@@ -0,0 +1,403 @@ ++; vim:ft=dosini ++; ++; 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: ++; - '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 address on ++; a specific port; ++; 'port' - to listen on a TCP socket to all addresses on a ++; specific port; ++; '/path/to/unix/socket' - to listen on a unix socket. ++; Note: This value is mandatory. ++listen = /var/run/php/@processname@.sock ++ ++; 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 ++ ++; List of ipv4 addresses 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] = $PATH ++;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.5.7/sapi/fpm/Makefile.frag~ 2013-12-16 17:57:03.000000000 +0200 ++++ php-5.5.7/sapi/fpm/Makefile.frag 2013-12-16 18:01:19.511829907 +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 || : ++ @$(INSTALL_DATA) sapi/fpm/php-fpm.conf-d $(INSTALL_ROOT)$(sysconfdir)/fpm.d/www.conf || : + + @echo "Installing PHP FPM man page: $(INSTALL_ROOT)$(mandir)/man8/" + @$(mkinstalldirs) $(INSTALL_ROOT)$(mandir)/man8 diff --git a/libtool-tag.patch b/libtool-tag.patch new file mode 100644 index 0000000..951fd1e --- /dev/null +++ b/libtool-tag.patch @@ -0,0 +1,12 @@ +--- php-5.6.0RC4/configure.in~ 2014-08-20 16:08:27.000000000 +0300 ++++ php-5.6.0RC4/configure.in 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/milter.patch b/milter.patch new file mode 100644 index 0000000..5ed3573 --- /dev/null +++ b/milter.patch @@ -0,0 +1,28 @@ +--- php-5.6.0RC4/sapi/milter/config.m4~ 2014-08-14 03:54:13.000000000 +0300 ++++ php-5.6.0RC4/sapi/milter/config.m4 2014-08-21 19:57:21.584244904 +0300 +@@ -6,18 +6,13 @@ + [ --with-milter[=DIR] Build PHP as Milter application], no, no) + + if test "$PHP_MILTER" != "no"; then +- if test "$PHP_MILTER" = "yes"; then +- if test -f /usr/lib/libmilter.a ; then +- MILTERPATH=/usr/lib +- else +- if test -f /usr/lib/libmilter/libmilter.a ; then +- MILTERPATH=/usr/lib/libmilter +- else +- AC_MSG_ERROR([Unable to find libmilter.a]) +- fi +- fi +- else +- MILTERPATH=$PHP_MILTER ++ for i in $PHP_MILTER /usr/lib/libmilter /usr/local /usr; do ++ test -f $i/$PHP_LIBDIR/libmilter.a && MILTERPATH=$i/$PHP_LIBDIR && break ++ test -f $i/libmilter.a && MILTERPATH=$i && break ++ done ++ ++ if test -z "$MILTERPATH"; then ++ AC_MSG_ERROR([Unable to find libmilter.a]) + fi + + SAPI_MILTER_PATH=sapi/milter/php-milter diff --git a/mysql-lib-ver-mismatch.patch b/mysql-lib-ver-mismatch.patch new file mode 100644 index 0000000..d49d195 --- /dev/null +++ b/mysql-lib-ver-mismatch.patch @@ -0,0 +1,22 @@ +--- 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; + + +-#if !defined(MYSQL_USE_MYSQLND) ++#if 0 && !defined(MYSQL_USE_MYSQLND) + if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) { + php_error_docref(NULL TSRMLS_CC, E_NOTICE, + "Headers and client library minor version mismatch. Headers:%d Library:%ld", +--- php-5.3.27/ext/mysql/php_mysql.c~ 2013-11-20 00:19:11.000000000 +0200 ++++ php-5.3.27/ext/mysql/php_mysql.c 2013-11-20 00:20:01.719956531 +0200 +@@ -704,7 +704,7 @@ + zend_bool free_host=0, new_link=0; + long connect_timeout; + +-#if !defined(MYSQL_USE_MYSQLND) ++#if 0 && !defined(MYSQL_USE_MYSQLND) + if ((MYSQL_VERSION_ID / 100) != (mysql_get_client_version() / 100)) { + php_error_docref(NULL TSRMLS_CC, E_NOTICE, + "Headers and client library minor version mismatch. Headers:%d Library:%ld", diff --git a/mysqlnd-shared.patch b/mysqlnd-shared.patch deleted file mode 100644 index 43eceb6..0000000 --- a/mysqlnd-shared.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- php-5.4.0alpha2/ext/mysqlnd/config9.m4~ 2011-03-23 19:14:28.000000000 +0200 -+++ php-5.4.0alpha2/ext/mysqlnd/config9.m4 2011-08-07 12:45:42.205921715 +0300 -@@ -28,7 +28,7 @@ - AC_DEFINE([MYSQLND_SSL_SUPPORTED], 1, [Enable SSL support]) - - mysqlnd_sources="$mysqlnd_base_sources $mysqlnd_ps_sources" -- PHP_NEW_EXTENSION(mysqlnd, $mysqlnd_sources, no) -+ PHP_NEW_EXTENSION(mysqlnd, $mysqlnd_sources, yes) - PHP_ADD_BUILD_DIR([ext/mysqlnd], 1) - PHP_INSTALL_HEADERS([ext/mysqlnd/]) - fi ---- php-5.3.2/ext/mysqlnd/php_mysqlnd.c~ 2010-01-20 19:09:28.000000000 +0200 -+++ php-5.3.2/ext/mysqlnd/php_mysqlnd.c 2010-04-14 09:18:30.725599897 +0300 -@@ -273,6 +273,9 @@ - }; - /* }}} */ - -+#ifdef COMPILE_DL_MYSQLND -+ZEND_GET_MODULE(mysqlnd) -+#endif - - /* - * Local variables: diff --git a/php-config-file-scan-dir.patch b/php-config-file-scan-dir.patch deleted file mode 100644 index a01906e..0000000 --- a/php-config-file-scan-dir.patch +++ /dev/null @@ -1,155 +0,0 @@ ---- php-5.4.0RC3/main/php_ini.c~ 2011-12-10 03:26:15.000000000 +0200 -+++ php-5.4.0RC3/main/php_ini.c 2011-12-10 03:26:54.901295707 +0200 -@@ -376,6 +376,7 @@ - char *open_basedir; - int free_ini_search_path = 0; - zend_file_handle fh; -+ static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 }; - - if (zend_hash_init(&configuration_hash, 0, NULL, (dtor_func_t) config_zval_dtor, 1) == FAILURE) { - return FAILURE; -@@ -398,7 +399,6 @@ - int search_path_size; - char *default_location; - char *env_location; -- static const char paths_separator[] = { ZEND_PATHS_SEPARATOR, 0 }; - #ifdef PHP_WIN32 - char *reg_location; - char phprc_path[MAXPATHLEN]; -@@ -608,72 +608,86 @@ - - /* Scan and parse any .ini files found in scan path if path not empty. */ - if (!sapi_module.php_ini_ignore && php_ini_scanned_path_len) { -- struct dirent **namelist; - int ndir, i; - struct stat sb; - char ini_file[MAXPATHLEN]; -- char *p; -+ char *p, *last, *path_copy, *ini_path = NULL; - zend_file_handle fh2; - zend_llist scanned_ini_list; - zend_llist_element *element; - int l, total_l = 0; - -- if ((ndir = php_scandir(php_ini_scanned_path, &namelist, 0, php_alphasort)) > 0) { -- zend_llist_init(&scanned_ini_list, sizeof(char *), (llist_dtor_func_t) free_estring, 1); -- memset(&fh2, 0, sizeof(fh2)); -- -- for (i = 0; i < ndir; i++) { -- -- /* check for any file with .ini extension */ -- if (!(p = strrchr(namelist[i]->d_name, '.')) || (p && strcmp(p, ".ini"))) { -- free(namelist[i]); -- continue; -- } -- /* Reset active ini section */ -- RESET_ACTIVE_INI_HASH(); -- -- if (IS_SLASH(php_ini_scanned_path[php_ini_scanned_path_len - 1])) { -- snprintf(ini_file, MAXPATHLEN, "%s%s", php_ini_scanned_path, namelist[i]->d_name); -- } else { -- snprintf(ini_file, MAXPATHLEN, "%s%c%s", php_ini_scanned_path, DEFAULT_SLASH, namelist[i]->d_name); -- } -- if (VCWD_STAT(ini_file, &sb) == 0) { -- if (S_ISREG(sb.st_mode)) { -- if ((fh2.handle.fp = VCWD_FOPEN(ini_file, "r"))) { -- fh2.filename = ini_file; -- fh2.type = ZEND_HANDLE_FP; -- -- if (zend_parse_ini_file(&fh2, 1, ZEND_INI_SCANNER_NORMAL, (zend_ini_parser_cb_t) php_ini_parser_cb, &configuration_hash TSRMLS_CC) == SUCCESS) { -- /* Here, add it to the list of ini files read */ -- l = strlen(ini_file); -- total_l += l + 2; -- p = estrndup(ini_file, l); -- zend_llist_add_element(&scanned_ini_list, &p); -+ /* List of found ini files */ -+ zend_llist_init(&scanned_ini_list, sizeof(char *), (llist_dtor_func_t) free_estring, 1); -+ -+ /* Split by paths_separator and load ini-files from all paths */ -+ path_copy = estrdup(php_ini_scanned_path); -+ ini_path = php_strtok_r(path_copy, paths_separator, &last); -+ -+ while (ini_path != NULL) { -+ struct dirent **namelist; -+ int ini_path_len = strlen(ini_path); -+ -+ if ((ndir = php_scandir(ini_path, &namelist, 0, php_alphasort)) > 0) { -+ memset(&fh2, 0, sizeof(fh2)); -+ -+ for (i = 0; i < ndir; i++) { -+ /* check for any file with .ini extension */ -+ if (!(p = strrchr(namelist[i]->d_name, '.')) || (p && strcmp(p, ".ini"))) { -+ free(namelist[i]); -+ continue; -+ } -+ /* Reset active ini section */ -+ RESET_ACTIVE_INI_HASH(); -+ -+ if (IS_SLASH(ini_path[ini_path_len - 1])) { -+ snprintf(ini_file, MAXPATHLEN, "%s%s", ini_path, namelist[i]->d_name); -+ } else { -+ snprintf(ini_file, MAXPATHLEN, "%s%c%s", ini_path, DEFAULT_SLASH, namelist[i]->d_name); -+ } -+ if (VCWD_STAT(ini_file, &sb) == 0) { -+ if (S_ISREG(sb.st_mode)) { -+ if ((fh2.handle.fp = VCWD_FOPEN(ini_file, "r"))) { -+ fh2.filename = ini_file; -+ fh2.type = ZEND_HANDLE_FP; -+ -+ /* Reset active ini section */ -+ RESET_ACTIVE_INI_HASH(); -+ -+ if (zend_parse_ini_file(&fh2, 1, ZEND_INI_SCANNER_NORMAL, (zend_ini_parser_cb_t) php_ini_parser_cb, &configuration_hash TSRMLS_CC) == SUCCESS) { -+ /* Here, add it to the list of ini files read */ -+ l = strlen(ini_file); -+ total_l += l + 2; -+ p = estrndup(ini_file, l); -+ zend_llist_add_element(&scanned_ini_list, &p); -+ } - } - } - } -+ free(namelist[i]); - } -- free(namelist[i]); -+ free(namelist); - } -- free(namelist); -- -- if (total_l) { -- int php_ini_scanned_files_len = (php_ini_scanned_files) ? strlen(php_ini_scanned_files) + 1 : 0; -- php_ini_scanned_files = (char *) realloc(php_ini_scanned_files, php_ini_scanned_files_len + total_l + 1); -- if (!php_ini_scanned_files_len) { -- *php_ini_scanned_files = '\0'; -- } -- total_l += php_ini_scanned_files_len; -- for (element = scanned_ini_list.head; element; element = element->next) { -- if (php_ini_scanned_files_len) { -- strlcat(php_ini_scanned_files, ",\n", total_l); -- } -- strlcat(php_ini_scanned_files, *(char **)element->data, total_l); -- strlcat(php_ini_scanned_files, element->next ? ",\n" : "\n", total_l); -+ ini_path = php_strtok_r(NULL, paths_separator, &last); -+ } -+ -+ if (total_l) { -+ int php_ini_scanned_files_len = (php_ini_scanned_files) ? strlen(php_ini_scanned_files) + 1 : 0; -+ php_ini_scanned_files = (char *) realloc(php_ini_scanned_files, php_ini_scanned_files_len + total_l + 1); -+ if (!php_ini_scanned_files_len) { -+ *php_ini_scanned_files = '\0'; -+ } -+ total_l += php_ini_scanned_files_len; -+ for (element = scanned_ini_list.head; element; element = element->next) { -+ if (php_ini_scanned_files_len) { -+ strlcat(php_ini_scanned_files, ",\n", total_l); - } -+ strlcat(php_ini_scanned_files, *(char **)element->data, total_l); -+ strlcat(php_ini_scanned_files, element->next ? ",\n" : "\n", total_l); - } -- zend_llist_destroy(&scanned_ini_list); - } -+ efree(path_copy); -+ zend_llist_destroy(&scanned_ini_list); - } else { - /* Make sure an empty php_ini_scanned_path ends up as NULL */ - php_ini_scanned_path = NULL; diff --git a/php-fpm-config.patch b/php-fpm-config.patch index 03a9a7b..353c012 100644 --- a/php-fpm-config.patch +++ b/php-fpm-config.patch @@ -53,3 +53,25 @@ ;env[TMP] = /tmp ;env[TMPDIR] = /tmp ;env[TEMP] = /tmp +--- php-5.3.9/sapi/fpm/status.html.in~ 2011-10-08 23:43:12.000000000 +0300 ++++ php-5.3.9/sapi/fpm/status.html.in 2012-01-12 02:19:09.573191879 +0200 +@@ -96,7 +96,7 @@ + var sort_index; + var sort_order; + +- doc_url.value = location.protocol + '//' + location.host + "/status?json&full"; ++ doc_url.value = location.protocol + '//' + location.host + "/fpm-status?json&full"; + + ths = document.getElementsByTagName("th"); + for (var i=0; i&1) + RETVAL=$? + if [ $RETVAL = 0 ]; then + ok + else + fail + fi + [ "$out" ] && echo >&2 "$out" + else + # run config test and abort with nice message if failed + # (for actions checking status before action). + configtest >/dev/null 2>&1 + RETVAL=$? + if [ $RETVAL != 0 ]; then + show "Checking %s configuration" "PHP FastCGI Process Manager"; fail + nls 'Configuration test failed. See details with %s "checkconfig"' $0 + exit $RETVAL + fi + fi +} + start() { # Check if the service is already running? if [ -f $lockfile ]; then @@ -29,8 +66,9 @@ start() { return fi + checkconfig msg_starting "PHP FastCGI Process Manager (@processname@)" - daemon --pidfile $pidfile /usr/sbin/@processname@ --fpm-config $configfile + daemon --redirfds --pidfile $pidfile /usr/sbin/@processname@ --fpm-config $configfile RETVAL=$? [ $RETVAL -eq 0 ] && touch $lockfile } @@ -58,6 +96,7 @@ reload() { return fi + checkconfig msg_reloading "PHP FastCGI Process Manager (@processname@)" killproc --pidfile $pidfile @processname@ -$sig RETVAL=$? @@ -70,6 +109,7 @@ condrestart() { return fi + checkconfig stop start } @@ -93,6 +133,9 @@ case "$1" in reload|force-reload) reload USR2 7 ;; + checkconfig|configtest) + checkconfig 1 + ;; flush-logs|logrotate) reload USR1 0 ;; @@ -101,7 +144,7 @@ case "$1" in RETVAL=$? ;; *) - msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|flush-logs|status}" + msg_usage "$0 {start|stop|restart|try-restart|reload|force-reload|flush-logs|checkconfig|status}" exit 3 ;; esac diff --git a/php-gd_imagerotate_enable.patch b/php-gd_imagerotate_enable.patch deleted file mode 100644 index 6d1e74c..0000000 --- a/php-gd_imagerotate_enable.patch +++ /dev/null @@ -1,173 +0,0 @@ -diff -ur php5.3-200812262130/ext/gd/config.m4 mod/ext/gd/config.m4 ---- php5.3-200812262130/ext/gd/config.m4 2008-07-18 04:34:20.000000000 +0200 -+++ mod/ext/gd/config.m4 2008-12-27 01:12:23.000000000 +0100 -@@ -255,6 +255,7 @@ - PHP_CHECK_LIBRARY(gd, gdFreeFontCache, [AC_DEFINE(HAVE_GD_FREEFONTCACHE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdFontCacheMutexSetup, [AC_DEFINE(HAVE_GD_FONTMUTEX, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) - PHP_CHECK_LIBRARY(gd, gdNewDynamicCtxEx, [AC_DEFINE(HAVE_GD_DYNAMIC_CTX_EX, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) -+ PHP_CHECK_LIBRARY(gd, gdImageRotate, [AC_DEFINE(HAVE_GD_ROTATE, 1, [ ])], [], [ -L$GD_LIB $GD_SHARED_LIBADD ]) - ]) - - dnl -@@ -308,6 +309,7 @@ - AC_DEFINE(HAVE_GD_FONTMUTEX, 1, [ ]) - AC_DEFINE(HAVE_GD_DYNAMIC_CTX_EX, 1, [ ]) - AC_DEFINE(HAVE_GD_GIF_CTX, 1, [ ]) -+ AC_DEFINE(HAVE_GD_ROTATE, 1, [ ]) - - dnl Make sure the libgd/ is first in the include path - GDLIB_CFLAGS="-DHAVE_LIBPNG" -diff -ur php5.3-200812262130/ext/gd/gd.c mod/ext/gd/gd.c ---- php5.3-200812262130/ext/gd/gd.c 2008-12-12 14:35:20.000000000 +0100 -+++ mod/ext/gd/gd.c 2008-12-27 01:18:43.000000000 +0100 -@@ -296,7 +296,7 @@ - ZEND_END_ARG_INFO() - #endif - --#ifdef HAVE_GD_BUNDLED -+#ifdef HAVE_GD_ROTATE - ZEND_BEGIN_ARG_INFO_EX(arginfo_imagerotate, 0, 0, 3) - ZEND_ARG_INFO(0, im) - ZEND_ARG_INFO(0, angle) -@@ -927,9 +927,12 @@ - PHP_FE(imagegrabscreen, arginfo_imagegrabscreen) - #endif - -+#ifdef HAVE_GD_ROTATE -+ PHP_FE(imagerotate, arginfo_imagerotate) -+#endif -+ - #ifdef HAVE_GD_BUNDLED -- PHP_FE(imagerotate, arginfo_imagerotate) -- PHP_FE(imageantialias, arginfo_imageantialias) -+ PHP_FE(imageantialias, arginfo_imageantialias) - #endif - - #if HAVE_GD_IMAGESETTILE -@@ -1079,7 +1082,7 @@ - PHP_INI_ENTRY("gd.jpeg_ignore_warning", "0", PHP_INI_ALL, NULL) - PHP_INI_END() - /* }}} */ -- -+ - /* {{{ php_free_gd_image - */ - static void php_free_gd_image(zend_rsrc_list_entry *rsrc TSRMLS_DC) -@@ -1140,7 +1143,7 @@ - #endif - - REGISTER_INI_ENTRIES(); -- -+ - REGISTER_LONG_CONSTANT("IMG_GIF", 1, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_JPG", 2, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_JPEG", 2, CONST_CS | CONST_PERSISTENT); -@@ -1168,11 +1171,14 @@ - #ifdef GD2_FMT_COMPRESSED - REGISTER_LONG_CONSTANT("IMG_GD2_COMPRESSED", GD2_FMT_COMPRESSED, CONST_CS | CONST_PERSISTENT); - #endif --#if HAVE_GD_BUNDLED -+#if HAVE_GD_ROTATE - REGISTER_LONG_CONSTANT("IMG_EFFECT_REPLACE", gdEffectReplace, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_EFFECT_ALPHABLEND", gdEffectAlphaBlend, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_EFFECT_NORMAL", gdEffectNormal, CONST_CS | CONST_PERSISTENT); - REGISTER_LONG_CONSTANT("IMG_EFFECT_OVERLAY", gdEffectOverlay, CONST_CS | CONST_PERSISTENT); -+#endif -+ -+#if HAVE_GD_BUNDLED - REGISTER_LONG_CONSTANT("GD_BUNDLED", 1, CONST_CS | CONST_PERSISTENT); - - /* Section Filters */ -@@ -1760,7 +1766,7 @@ - long cx, cy, w, h, ST, E, col, style; - gdImagePtr im; - int e, st; -- -+ - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "rllllllll", &IM, &cx, &cy, &w, &h, &ST, &E, &col, &style) == FAILURE) { - return; - } -@@ -2008,7 +2014,7 @@ - if ( handle == 0 ) { - goto clean; - } -- pPrintWindow = (tPrintWindow) GetProcAddress(handle, "PrintWindow"); -+ pPrintWindow = (tPrintWindow) GetProcAddress(handle, "PrintWindow"); - - if ( pPrintWindow ) { - pPrintWindow(window, memDC, (UINT) client_area); -@@ -2105,7 +2111,7 @@ - /* }}} */ - #endif /* PHP_WIN32 */ - --#ifdef HAVE_GD_BUNDLED -+#ifdef HAVE_GD_ROTATE - /* {{{ proto resource imagerotate(resource src_im, float angle, int bgdcolor [, int ignoretransparent]) - Rotate an image using a custom angle */ - PHP_FUNCTION(imagerotate) -@@ -3362,7 +3368,7 @@ - { - zval *IM; - gdImagePtr im; -- -+ - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "r", &IM) == FAILURE) { - return; - } -@@ -3946,7 +3952,7 @@ - if (zend_hash_get_current_data_ex(HASH_OF(EXT), (void **) &item, &pos) == FAILURE) { - continue; - } -- -+ - if (strcmp("linespacing", key) == 0) { - convert_to_double_ex(item); - strex.flags |= gdFTEX_LINESPACE; -@@ -3972,7 +3978,7 @@ - #endif - - PHP_GD_CHECK_OPEN_BASEDIR((char *)fontname, "Invalid font filename"); -- -+ - #ifdef USE_GD_IMGSTRTTF - # if HAVE_GD_STRINGFTEX - if (extended) { -@@ -4373,11 +4379,11 @@ - if (argc != 3 && argc != 6) { - ZEND_WRONG_PARAM_COUNT(); - } -- -+ - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "srl|lld", &str, &str_len, &fnt, &sz, &sp, &wd, &angle) == FAILURE) { - return; - } -- -+ - if (argc == 6) { - space = sp; - add_width = wd; -@@ -4562,7 +4568,7 @@ - #ifdef HAVE_GD_JPG - long ignore_warning; - #endif -- -+ - if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "sslll", &f_org, &f_org_len, &f_dest, &f_dest_len, &height, &width, &threshold) == FAILURE) { - return; - } -diff -ur php5.3-200812262130/ext/gd/php_gd.h mod/ext/gd/php_gd.h ---- php5.3-200812262130/ext/gd/php_gd.h 2008-07-18 04:34:20.000000000 +0200 -+++ mod/ext/gd/php_gd.h 2008-12-27 01:20:04.000000000 +0100 -@@ -119,8 +119,11 @@ - PHP_FUNCTION(imagegrabscreen); - #endif - --#ifdef HAVE_GD_BUNDLED -+#ifdef HAVE_GD_ROTATE - PHP_FUNCTION(imagerotate); -+#endif -+ -+#ifdef HAVE_GD_BUNDLED - PHP_FUNCTION(imageantialias); - #endif - diff --git a/php-ini.patch b/php-ini.patch index 7d3dbcd..7d03c6e 100644 --- a/php-ini.patch +++ b/php-ini.patch @@ -1,17 +1,17 @@ ---- php-5.5.4/php.ini 2013-09-18 13:08:04.000000000 +0000 -+++ php-5.5.4/php.ini 2013-09-20 07:55:29.509891329 +0000 +--- php-5.6.0beta1/php.ini~ 2014-04-21 21:38:01.000000000 +0300 ++++ php-5.6.0beta1/php.ini 2014-04-21 21:51:47.379819417 +0300 @@ -82,6 +82,20 @@ ; much more verbose when it comes to errors. We recommending using the ; development version only in development environments as errors shown to ; application users can inadvertently leak otherwise secure information. +; +; This is the default settings file for new PHP installations from -+; TLD Linux. ++; PLD Linux Distribution. +; +; It's based mainly on php.ini-production, but with some changes made with +; security in mind (see below, consult also http://php.net/manual/en/security.php). +; -+; Please note, that in TLD installations /etc/php/php.ini file ++; Please note, that in PLD installations /etc/php/php.ini file +; contains global settings for all SAPIs (cgi, cli, apache...), +; and after reading this file, SAPI-specific file (/etc/php/php-cgi-fcgi.ini, +; /etc/php/php-cli.ini, /etc/php/php-apache.ini...) is INCLUDED @@ -21,25 +21,25 @@ ;;;;;;;;;;;;;;;;;;; ; Quick Reference ; -@@ -157,7 +171,7 @@ - ; Production Value: 5 - - ; short_open_tag --; Default Value: On -+; Default Value: Off - ; Development Value: Off - ; Production Value: Off - -@@ -203,7 +217,7 @@ - ; documents, however this remains supported for backward compatibility reasons. - ; Note that this directive does not control the tags. + ; http://php.net/asp-tags +@@ -372,7 +372,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 @@ -48,7 +48,7 @@ ;;;;;;;;;;;;;;;;;;; ; Resource Limits ; -@@ -724,7 +738,7 @@ +@@ -725,7 +725,7 @@ ; Directory in which the loadable extensions (modules) reside. ; http://php.net/extension-dir @@ -57,7 +57,7 @@ ; On windows: ; extension_dir = "ext" -@@ -738,53 +752,6 @@ +@@ -760,53 +760,6 @@ ; http://php.net/enable-dl enable_dl = Off @@ -101,8 +101,8 @@ -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to --; use when sending HTTP response code. If it's set 0 PHP sends Status: header that --; is supported by Apache. When this option is set to 1 PHP will send +-; use when sending HTTP response code. If set to 0, PHP sends Status: header that +-; 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 @@ -111,7 +111,7 @@ ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; -@@ -862,50 +829,8 @@ +@@ -884,49 +837,8 @@ ; If you only provide the name of the extension, PHP will look for it in its ; default extension directory. ; @@ -135,8 +135,7 @@ -;extension=php_exif.dll ; Must be after mbstring as it depends on it -;extension=php_mysql.dll -;extension=php_mysqli.dll --;extension=php_oci8.dll ; Use with Oracle 10gR2 Instant Client --;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client +-;extension=php_oci8_12c.dll ; Use with Oracle Database 12c Instant Client -;extension=php_openssl.dll -;extension=php_pdo_firebird.dll -;extension=php_pdo_mysql.dll @@ -159,25 +158,35 @@ -;extension=php_tidy.dll -;extension=php_xmlrpc.dll -;extension=php_xsl.dll -+; Ideally in TLD Linux you should install appropriate php- or ++; Ideally in PLD Linux you should install appropriate php- or +; php-pecl- package. ;;;;;;;;;;;;;;;;;;; ; Module Settings ; -@@ -940,9 +865,9 @@ - ;filter.default_flags = - - [iconv] --;iconv.input_encoding = ISO-8859-1 --;iconv.internal_encoding = ISO-8859-1 --;iconv.output_encoding = ISO-8859-1 +@@ -964,19 +876,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 < intput_encoding < iconv.input_encoding +-;iconv.input_encoding = +iconv.input_encoding = UTF-8 + + ; Use of this INI entry is deprecated, use global internal_encoding instead. + ; If empty, default_charset or internal_encoding or iconv.internal_encoding is used. + ; The precedence is: default_charset < internal_encoding < iconv.internal_encoding +-;iconv.internal_encoding = +iconv.internal_encoding = UTF-8 + + ; Use of this INI entry is deprecated, use global output_encoding instead. + ; If empty, default_charset or output_encoding or iconv.output_encoding is used. + ; The precedence is: default_charset < output_encoding < iconv.output_encoding + ; To use an output encoding conversion, iconv's output handler must be set + ; otherwise output encoding conversion cannot be performed. +-;iconv.output_encoding = +iconv.output_encoding = UTF-8 [intl] ;intl.default_locale = -@@ -1156,6 +1081,9 @@ +@@ -1152,6 +1062,9 @@ ; http://php.net/mysql.connect-timeout mysql.connect_timeout = 60 @@ -187,7 +196,7 @@ ; Trace mode. When trace_mode is active (=On), warnings for table/index scans and ; SQL-Errors will be displayed. ; http://php.net/mysql.trace-mode -@@ -1195,6 +1123,9 @@ +@@ -1191,6 +1104,9 @@ ; http://php.net/mysqli.default-socket mysqli.default_socket = @@ -197,7 +206,7 @@ ; Default host for mysql_connect() (doesn't apply in safe mode). ; http://php.net/mysqli.default-host mysqli.default_host = -@@ -1361,7 +1292,7 @@ +@@ -1357,7 +1273,7 @@ [browscap] ; http://php.net/browscap @@ -206,7 +215,7 @@ [Session] ; Handler used to store/retrieve data. -@@ -1834,7 +1765,7 @@ +@@ -1822,7 +1738,7 @@ ; Sets the directory name where SOAP extension will put cache files. ; http://php.net/soap.wsdl-cache-dir diff --git a/php-mod_php.conf b/php-mod_php.conf index 9a9f298..a5f5f59 100644 --- a/php-mod_php.conf +++ b/php-mod_php.conf @@ -19,4 +19,14 @@ LoadModule php5_module modules/libphp5.so AddType application/x-httpd-php .phtml + + # Uncomment to disable php in user directories. + # To re-enable php in user directories comment the following lines + # (from to .) Do NOT set it to On as it + # prevents .htaccess files from disabling it. +# +# +# php_admin_value engine Off +# +# diff --git a/php-nohttpd.patch b/php-nohttpd.patch index 54dcbac..8a68bc7 100644 --- a/php-nohttpd.patch +++ b/php-nohttpd.patch @@ -1,5 +1,5 @@ ---- php-5.5.2/sapi/apache2handler/config.m4 2013-08-19 08:41:24.865000066 +0000 -+++ php-5.5.2/sapi/apache2handler/config.m4 2013-08-19 08:46:02.000000068 +0000 +--- php-5.5.2/sapi/apache2handler/config.m4~ 2013-08-15 23:42:04.000000000 +0300 ++++ php-5.5.2/sapi/apache2handler/config.m4 2013-08-18 15:13:02.728903161 +0300 @@ -60,9 +60,9 @@ # Test that we're trying to configure with apache 2.x diff --git a/php-sapi-ini-file.patch b/php-sapi-ini-file.patch index 140d46c..7dab0cc 100644 --- a/php-sapi-ini-file.patch +++ b/php-sapi-ini-file.patch @@ -78,3 +78,4 @@ for (i = 0; i < ndir; i++) { + diff --git a/php-sh.patch b/php-sh.patch deleted file mode 100644 index 4a68078..0000000 --- a/php-sh.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- php-5.1.6/acinclude.m4.orig 2006-11-21 10:43:13.179505000 +0100 -+++ php-5.1.6/acinclude.m4 2006-11-21 10:55:32.479505000 +0100 -@@ -68,8 +68,8 @@ - changequote({,}) - ep_dir=`echo $1|$SED 's%/*[^/][^/]*/*$%%'` - changequote([,]) -- ep_realdir=`(cd "$ep_dir" && pwd)` -- $2="$ep_realdir"/`basename "$1"` -+ ep_realdir="$(cd "$ep_dir" && pwd)" -+ $2="$ep_realdir/$(basename "$1")" - fi - ]) - diff --git a/php-systzdata.patch b/php-systzdata.patch index f841e9b..b262fae 100644 --- a/php-systzdata.patch +++ b/php-systzdata.patch @@ -2,6 +2,7 @@ Add support for use of the system timezone database, rather than embedding a copy. Discussed upstream but was not desired. History: +r10 : make timezone case insensitive r9: fix another compile error without --with-system-tzdata configured (Michael Heimpold) r8: fix compile error without --with-system-tzdata configured r7: improve check for valid timezone id to exclude directories @@ -18,7 +19,7 @@ r1: initial revision --- a/ext/date/lib/parse_tz.c +++ b/ext/date/lib/parse_tz.c -@@ -24,6 +24,16 @@ +@@ -20,6 +20,16 @@ #include "timelib.h" @@ -35,7 +36,7 @@ r1: initial revision #include #ifdef HAVE_LOCALE_H -@@ -35,7 +45,12 @@ +@@ -31,7 +41,12 @@ #else #include #endif @@ -48,7 +49,7 @@ r1: initial revision #if (defined(__APPLE__) || defined(__APPLE_CC__)) && (defined(__BIG_ENDIAN__) || defined(__LITTLE_ENDIAN__)) # if defined(__LITTLE_ENDIAN__) -@@ -55,9 +70,14 @@ +@@ -51,9 +66,14 @@ static void read_preamble(const unsigned char **tzf, timelib_tzinfo *tz) { @@ -66,7 +67,7 @@ r1: initial revision /* read BC flag */ tz->bc = (**tzf == '\1'); *tzf += 1; -@@ -260,7 +280,397 @@ void timelib_dump_tzinfo(timelib_tzinfo +@@ -256,7 +276,405 @@ } } @@ -80,7 +81,7 @@ r1: initial revision +#endif + +/* System timezone database pointer. */ -+static const timelib_tzdb *timezonedb_system = NULL; ++static const timelib_tzdb *timezonedb_system; + +/* Hash table entry for the cache of the zone.tab mapping table. */ +struct location_info { @@ -98,13 +99,14 @@ r1: initial revision + * prevent too many collisions. */ +#define LOCINFO_HASH_SIZE (1021) + ++/* Compute a case insensitive hash of str */ +static uint32_t tz_hash(const char *str) +{ + const unsigned char *p = (const unsigned char *)str; + uint32_t hash = 5381; + int c; + -+ while ((c = *p++) != '\0') { ++ while ((c = tolower(*p++)) != '\0') { + hash = (hash << 5) ^ hash ^ c; + } + @@ -442,6 +444,13 @@ r1: initial revision + return NULL; + } + ++ if (system_location_table) { ++ const struct location_info *li; ++ if ((li = find_zone_info(system_location_table, timezone)) != NULL) { ++ /* Use the stored name to avoid case issue */ ++ timezone = li->name; ++ } ++ } + snprintf(fname, sizeof fname, ZONEINFO_PREFIX "/%s", timezone); + + fd = open(fname, O_RDONLY); @@ -465,7 +474,7 @@ r1: initial revision { int left = 0, right = tzdb->index_size - 1; #ifdef HAVE_SETLOCALE -@@ -299,36 +709,128 @@ static int seek_to_tz_position(const uns +@@ -295,36 +713,135 @@ return 0; } @@ -537,7 +546,14 @@ r1: initial revision + struct stat st; + + if (timezone[0] == '\0' || strstr(timezone, "..") != NULL) { -+ return 0; ++ return 0; ++ } ++ ++ if (system_location_table) { ++ if (find_zone_info(system_location_table, timezone) != NULL) { ++ /* found in cache */ ++ return 1; ++ } + } + + snprintf(fname, sizeof fname, ZONEINFO_PREFIX "/%s", timezone); diff --git a/php-tld.patch b/php-tld.patch deleted file mode 100644 index 28e3fe2..0000000 --- a/php-tld.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- php-5.5.0alpha1/ext/standard/info.c~ 2012-11-13 22:00:16.000000000 +0200 -+++ php-5.5.0alpha1/ext/standard/info.c 2012-11-18 23:37:48.607735302 +0200 -@@ -794,6 +794,17 @@ - zend_html_puts(zend_version, strlen(zend_version) TSRMLS_CC); - } - php_info_print_box_end(); -+ /* TLD Linux */ -+ php_info_print_box_start(0); -+ if (!sapi_module.phpinfo_as_text) { -+ php_info_print(""); -+ } -+ php_info_print("This server is using TLD Linux."); -+ if (!sapi_module.phpinfo_as_text) -+ php_info_print("
More information at
http://www.tld-linux.org/.
\n"); -+ else -+ php_info_print("\nMore information at http://www.tld-linux.org/.\n"); -+ php_info_print_box_end(); - efree(php_uname); - } diff --git a/php.spec b/php.spec index b7a83d8..e314584 100644 --- a/php.spec +++ b/php.spec @@ -1,14 +1,13 @@ -# TODO 5.5: +# TODO 5.6: +# - phpdbg: link with libphp_common # - enable --with-fpm-systemd, but ensure it checks for sd_booted() # - build with system libgd 2.1, see 73c5128 # TODO 5.4: -# - do not remove PatchX: definitions until merged to HEAD, needed for tracking their state # - check php-sapi-ini-file.patch for safe mode removal # - update imap annotations patch (needs api porting) # - update imap myrights patch (needs api porting) # --with-libmbfl=DIR MBSTRING: Use external libmbfl. DIR is the libmbfl base install directory BUNDLED # --with-onig=DIR MBSTRING: Use external oniguruma. DIR is the oniguruma install prefix. -# - uses libvpx for webp support, should use libwebp-devel instead? # NOTE: mysqlnd does not support ssl or compression (see FAQ at http://dev.mysql.com/downloads/connector/php-mysqlnd/) # UNPACKAGED EXTENSION NOTES: # - com_dotnet is Win32-only @@ -40,15 +39,15 @@ #+ereg # libxml # Reflection +# standard # # Conditional build: - -%bcond_without default_php # use this PHP as default PHP in distro %bcond_with interbase_inst # use InterBase install., not Firebird (BR: proprietary libs) -%bcond_with oci8 # with Oracle oci8 extension module (BR: proprietary libs) -%bcond_with instantclient # build Oracle oci8 extension module against oracle-instantclient package -%bcond_with system_gd # with system gd (we prefer internal since it enables few more features) +%bcond_with oci # with Oracle oci8 extension module (BR: proprietary libs) +%bcond_without instantclient # build Oracle oci8 extension module against oracle-instantclient package +%bcond_with system_gd # with system gd (imageantialias function is missing then) %bcond_with system_libzip # with system libzip (reported broken currently) +%bcond_with default_php # use this PHP as default PHP in distro %bcond_without curl # without CURL extension module %bcond_without enchant # without Enchant extension module %bcond_without filter # without filter extension module @@ -86,8 +85,10 @@ %bcond_with zts # Zend Thread Safety %bcond_without cgi # disable CGI/FCGI SAPI %bcond_without fpm # disable FPM -%bcond_with embed # disable Embedded API -%bcond_without suhosin # with suhosin patch +%bcond_without embed # disable Embedded API +%bcond_without phpdbg # disable phpdbg SAPI +%bcond_with milter # disable Milter SAPI +%bcond_with suhosin # with suhosin patch, has little point in PHP>=5.3, see https://github.com/stefanesser/suhosin/issues/42#issuecomment-41728178 %bcond_with tests # default off; test process very often hangs on builders, approx run time 45m; perform "make test" %bcond_with gcov # Enable Code coverage reporting %bcond_with type_hints # experimental support for strict typing/casting @@ -108,6 +109,11 @@ %undefine with_mm %endif +# milter requires ZTS +%if %{with milter} && %{without zts} +%undefine with_milter +%endif + %ifnarch %{ix86} %{x8664} sparc sparcv9 alpha # ppc disabled (broken on th-ppc) %undefine with_interbase @@ -131,7 +137,7 @@ ERROR: You need to select at least one Apache SAPI to build shared modules. %define rel 1 %define orgname php -%define ver_suffix 55 +%define ver_suffix 56 %define php_suffix %{!?with_default_php:%{ver_suffix}} Summary: PHP: Hypertext Preprocessor Summary(fr.UTF-8): Le langage de script embarque-HTML PHP @@ -140,13 +146,13 @@ Summary(pt_BR.UTF-8): A linguagem de script PHP Summary(ru.UTF-8): PHP Версии 5 - язык препроцессирования HTML-файлов, выполняемый на сервере Summary(uk.UTF-8): PHP Версії 5 - мова препроцесування HTML-файлів, виконувана на сервері Name: %{orgname}%{php_suffix} -Version: 5.5.15 -Release: %{rel}%{?with_type_hints:.th}%{?with_oci8:.oci} +Version: 5.6.0 +Release: %{rel}%{?with_type_hints:.th} Epoch: 4 License: PHP Group: Libraries -Source0: http://www.php.net/distributions/%{orgname}-%{version}.tar.bz2 -# Source0-md5: 5cb5f2ed9099299f8a4c952d59d93812 +Source0: http://www.php.net/distributions/%{orgname}-%{version}.tar.xz +# Source0-md5: 642825d75ce2634d9513d5b21dbee521 Source2: %{orgname}-mod_%{orgname}.conf Source3: %{orgname}-cgi-fcgi.ini Source4: %{orgname}-apache.ini @@ -159,24 +165,23 @@ Source12: %{orgname}-branch.sh Source13: dep-tests.sh Source14: skip-tests.sh Patch0: %{orgname}-shared.patch -Patch1: %{orgname}-tld.patch +Patch1: %{orgname}-pldlogo.patch Patch2: %{orgname}-mail.patch Patch3: %{orgname}-link-libs.patch Patch4: %{orgname}-libpq_fs_h_path.patch Patch5: %{orgname}-filter-shared.patch Patch6: %{orgname}-build_modules.patch Patch7: %{orgname}-sapi-ini-file.patch -Patch9: %{orgname}-sh.patch +Patch8: milter.patch +Patch9: libtool-tag.patch Patch10: %{orgname}-ini.patch Patch11: embed.patch %if %{with type_hints} Patch12: http://ilia.ws/patch/type_hint_53_v2.txt %endif Patch14: %{orgname}-no_pear_install.patch -#Patch15: %{orgname}-zlib.patch # no longer needed? Patch17: %{orgname}-readline.patch Patch18: %{orgname}-nohttpd.patch -Patch19: %{orgname}-gd_imagerotate_enable.patch Patch20: %{orgname}-uint32_t.patch Patch21: %{orgname}-dba-link.patch Patch22: %{orgname}-both-apxs.patch @@ -187,7 +192,6 @@ Patch26: %{orgname}-pear.patch Patch27: %{orgname}-config-dir.patch Patch29: %{orgname}-fcgi-graceful.patch Patch31: %{orgname}-fcgi-error_log-no-newlines.patch -#Patch32: %{orgname}-curl-limit-speed.patch # applied upstream Patch34: %{orgname}-libtool.patch Patch35: %{orgname}-tds.patch Patch36: %{orgname}-mysql-charsetphpini.patch @@ -201,22 +205,19 @@ Patch44: %{orgname}-include_path.patch Patch45: %{orgname}-imap-annotations.patch Patch46: %{orgname}-imap-myrights.patch Patch47: suhosin.patch -#Patch49: %{orgname}-m4-divert.patch # no longer needed, upstream supports new ac Patch50: extension-shared-optional-dep.patch Patch51: spl-shared.patch Patch52: pcre-shared.patch Patch53: fix-test-run.patch -#Patch54: mysqlnd-shared.patch # shared build supported upstream Patch55: bug-52078-fileinode.patch -#Patch57: bug-52448.patch # outdated Patch59: %{orgname}-systzdata.patch Patch60: %{orgname}-oracle-instantclient.patch -#Patch61: %{orgname}-krb5-ac.patch # not needed on 5.4 anymore Patch62: mcrypt-libs.patch Patch63: %{orgname}-mysql-nowarning.patch -#Patch64: %{orgname}-m4.patch # not needed on 5.4 branch Patch65: system-libzip.patch Patch66: php-db.patch +Patch67: mysql-lib-ver-mismatch.patch +Patch69: fpm-conf-split.patch URL: http://www.php.net/ %{?with_interbase:%{!?with_interbase_inst:BuildRequires: Firebird-devel >= 1.0.2.908-2}} %{?with_pspell:BuildRequires: aspell-devel >= 2:0.50.0} @@ -229,7 +230,6 @@ BuildRequires: cyrus-sasl-devel BuildRequires: db-devel >= 4.0 BuildRequires: elfutils-devel %{?with_enchant:BuildRequires: enchant-devel >= 1.1.3} -#BuildRequires: fcgi-devel %{?with_kerberos5:BuildRequires: heimdal-devel} %{?with_system_libzip:BuildRequires: libzip-devel >= 0.10.1-2} %{!?with_mysqlnd:BuildRequires: mysql-devel} @@ -238,7 +238,7 @@ BuildRequires: sed >= 4.0 %if %{with mssql} || %{with sybase_ct} BuildRequires: freetds-devel >= 0.82 %endif -BuildRequires: freetype-devel >= 2.0 +BuildRequires: freetype-devel >= 2.5.1 %if %{with system_gd} BuildRequires: gd-devel >= 2.1 %endif @@ -250,11 +250,13 @@ BuildRequires: libjpeg-devel BuildRequires: libltdl-devel >= 1.4 BuildRequires: libmcrypt-devel >= 2.4.4 BuildRequires: libpng-devel >= 1.0.8 -#BuildRequires: libtiff-devel %{?with_webp:BuildRequires: libvpx-devel} BuildRequires: tokyocabinet-devel +%if "%{pld_release}" != "ac" BuildRequires: libtool >= 2:2.2 -#BuildRequires: libwrap-devel +%else +BuildRequires: libtool >= 1.4.3 +%endif BuildRequires: libxml2-devel >= 1:2.7.6-4 BuildRequires: libxslt-devel >= 1.1.0 %{?with_mm:BuildRequires: mm-devel >= 1.3.0} @@ -265,7 +267,7 @@ BuildRequires: openssl-devel >= 0.9.7d %{?with_gcov:BuildRequires: lcov} %{?with_snmp:%{?with_tests:BuildRequires: mibs-net-snmp}} %{?with_snmp:BuildRequires: net-snmp-devel >= 5.0.7} -%{?with_instantclient:BuildRequires: oracle-instantclient-devel} +%{?with_oci:%{?with_instantclient:BuildRequires: oracle-instantclient-devel}} BuildRequires: pam-devel %{?with_pcre:BuildRequires: pcre-devel >= 8.10} BuildRequires: pkgconfig @@ -294,9 +296,6 @@ BuildRequires: apache-devel >= 2.0.52-2 BuildRequires: apr-devel >= 1:1.0.0 BuildRequires: apr-util-devel >= 1:1.0.0 %endif -%if %{with fpm} -#BuildRequires: judy-devel -%endif BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define php_sysconfdir /etc/%{name} @@ -304,9 +303,10 @@ 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 20121113 -%define zend_module_api 20121212 -%define zend_extension_api 220121212 +%define php_api_version 20131106 +%define zend_module_api 20131226 +%define zend_extension_api 220131226 +%define php_pdo_api_version 20080721 # Extension versions %define bz2ver 1.0 @@ -318,16 +318,17 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define opcachever 7.0.4-dev %define pharver 2.0.2 %define sqlite3ver 0.7-dev -%define zipver 1.11.0 +%define zipver 1.12.4 +%define phpdbgver 0.4.0 -%define zend_zts %{!?with_zts:0}%{?with_zts:1} +%define _zend_zts %{!?with_zts:0}%{?with_zts:1} %define php_debug %{!?debug:0}%{?debug:1} %if %{with gcov} %undefine with_ccache %endif -%if %{with oci8} +%if %{with oci} # ORACLE_HOME is required for oci8 ext to build %define _preserve_env %_preserve_env_base ORACLE_HOME %endif @@ -389,12 +390,12 @@ PHP - це мова написання скриптів, що вбудовуют Summary: PHP DSO module for Apache 1.3.x Summary(pl.UTF-8): Moduł DSO (Dynamic Shared Object) PHP dla Apache 1.3.x Group: Development/Languages/PHP -Requires(triggerpostun): sed >= 4.0 Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: apache1(EAPI) >= 1.3.33-2 Requires: apache1-mod_mime Provides: webserver(php) = %{version} Obsoletes: apache-mod_php < 1:4.1.1 +Obsoletes: apache1-mod_php < 4:5.3.28-7 Obsoletes: phpfi %description -n apache1-mod_%{name} @@ -411,6 +412,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: apache(modules-api) = %{apache_modules_api} Requires: apache-mod_mime Provides: webserver(php) = %{version} +Obsoletes: apache-mod_php < 4:5.3.28-7 Obsoletes: phpfi %description -n apache-mod_%{name} @@ -424,7 +426,9 @@ Summary: PHP for litespeed HTTP server Summary(pl.UTF-8): PHP dla serwera HTTP litespeed Group: Development/Languages/PHP Requires: %{name}-common = %{epoch}:%{version}-%{release} +Provides: php(litespeed) Provides: webserver(php) = %{version} +Obsoletes: php-litespeed < 4:5.3.28-7 %description litespeed PHP for litespeed HTTP server. @@ -441,8 +445,11 @@ Provides: %{name}-fcgi = %{epoch}:%{version}-%{release} Provides: php(cgi) Provides: php(fcgi) Provides: webserver(php) = %{version} +Obsoletes: php-cgi < 4:5.3.28-7 Obsoletes: php-fcgi < 4:5.3.0 +%if "%{pld_release}" != "ac" Conflicts: logrotate < 3.8.0 +%endif %description cgi PHP as CGI or FastCGI program. @@ -455,7 +462,7 @@ Summary: PHP as CLI interpreter Summary(pl.UTF-8): PHP jako interpreter działający z linii poleceń Group: Development/Languages/PHP Requires: %{name}-common = %{epoch}:%{version}-%{release} -Provides: php-program +Obsoletes: php-cli < 4:5.3.28-7 %description cli PHP as CLI interpreter. @@ -468,6 +475,7 @@ Summary: PHP library for embedding in applications Summary(pl.UTF-8): Biblioteka PHP do osadzania w aplikacjach Group: Libraries Requires: %{name}-common = %{epoch}:%{version}-%{release} +Obsoletes: php-embedded < 4:5.3.28-7 %description embedded The php-embedded package contains a library which can be embedded into @@ -477,6 +485,20 @@ applications to provide PHP scripting language support. Ten pakiet zawiera bibliotekę, którą można osadzać w aplikacjach w celu obsługi PHP jako języka skryptowego. +%package program +Summary: /usr/bin/php symlink +Summary(pl.UTF-8): Dowiązanie symboliczne /usr/bin/php +Group: Development/Languages/PHP +Requires: %{name}-cli = %{epoch}:%{version}-%{release} +Obsoletes: /usr/bin/php +Obsoletes: php-program < 4:5.3.28-7 + +%description program +Package providing /usr/bin/php symlink to PHP CLI. + +%description program -l pl.UTF-8 +Pakiet dostarczający dowiązanie symboliczne /usr/bin/php do PHP CLI. + %package fpm Summary: PHP FastCGI Process Manager Summary(pl.UTF-8): PHP FastCGI Process Manager - zarządca procesów FastCGI @@ -488,8 +510,10 @@ Requires(pre): /bin/id Requires(pre): /usr/sbin/useradd Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: rc-scripts +Provides: php(fpm) Provides: user(http) Provides: webserver(php) = %{version} +Obsoletes: php-fpm < 4:5.3.28-7 %description fpm PHP FastCGI Process Manager. @@ -497,6 +521,22 @@ PHP FastCGI Process Manager. %description fpm -l pl.UTF-8 PHP FastCGI Process Manager - zarządca procesów FastCGI. +%package phpdbg +Summary: The debugging platform for PHP 5.4+ +Group: Development/Languages/PHP +Requires: %{name}-common = %{epoch}:%{version}-%{release} +Provides: php(phpdbg) = %{phpdbgver} + +%description phpdbg +phpdbg - The interactive PHP debugger. + +Implemented as a SAPI module, phpdbg can excert complete control over +the environment without impacting the functionality or performance of +your code. + +phpdbg aims to be a lightweight, powerful, easy to use debugging +platform for PHP 5.4+ + %package common Summary: Common files needed by both Apache modules and CGI/CLI SAPIs Summary(pl.UTF-8): Wspólne pliki dla modułu Apache'a i programu CGI @@ -511,7 +551,7 @@ Requires: rpm-whiteout >= 1.28 Requires: tzdata Provides: %{name}(debug) = %{php_debug} Provides: %{name}(modules_api) = %{php_api_version} -Provides: %{name}(thread-safety) = %{zend_zts} +Provides: %{name}(thread-safety) = %{_zend_zts} Provides: %{name}(zend_extension_api) = %{zend_extension_api} Provides: %{name}(zend_module_api) = %{zend_module_api} Provides: %{name}-core @@ -522,14 +562,15 @@ Provides: %{name}-standard Provides: php(core) = %{version} Provides: php(date) Provides: php(ereg) -Provides: php(hash) Provides: php(libxml) Provides: php(reflection) Provides: php(standard) %{!?with_mysqlnd:Obsoletes: php-mysqlnd} %{?with_pcre:%requires_ge_to pcre pcre-devel} +Obsoletes: php-common < 4:5.3.28-7 Obsoletes: php-pecl-domxml Conflicts: php4-common < 3:4.4.4-8 +Conflicts: php55-common < 4:5.5.10-4 Conflicts: rpm < 4.4.2-0.2 %description common @@ -556,13 +597,20 @@ Group: Development/Languages/PHP Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: autoconf >= 2.13 Requires: automake +%if "%{pld_release}" != "ac" Requires: libtool >= 2:2.2 +%else +Requires: libtool +%endif %{?with_pcre:Requires: pcre-devel >= 8.10} Requires: shtool +Provides: php-devel = %{epoch}:%{version}-%{release} Obsoletes: php-devel Obsoletes: php-pear-devel Obsoletes: php4-devel Obsoletes: php52-devel +Obsoletes: php53-devel +Obsoletes: php54-devel %description devel The php-devel package lets you compile dynamic extensions to PHP. @@ -604,6 +652,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.bc.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(bcmath) +Obsoletes: php-bcmath < 4:5.3.28-7 %description bcmath This is a dynamic shared object (DSO) for PHP that will add bc style @@ -622,6 +671,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(bz2) = %{bz2ver} Provides: php(bzip2) Provides: php-bzip2 = %{epoch}:%{version}-%{release} +Obsoletes: php-bz2 < 4:5.3.28-7 Obsoletes: php-bzip2 < 4:5.2.14-3 Obsoletes: php-pecl-bz2 < %{bz2ver} @@ -639,6 +689,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.calendar.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(calendar) +Obsoletes: php-calendar < 4:5.3.28-7 %description calendar This is a dynamic shared object (DSO) for PHP that will add calendar @@ -654,6 +705,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.ctype.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(ctype) +Obsoletes: php-ctype < 4:5.3.28-7 %description ctype This is a dynamic shared object (DSO) for PHP that will add ctype @@ -669,6 +721,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.curl.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(curl) +Obsoletes: php-curl < 4:5.3.28-7 %description curl This is a dynamic shared object (DSO) for PHP that will add curl @@ -684,6 +737,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.dba.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(dba) +Obsoletes: php-dba < 4:5.3.28-7 %description dba This is a dynamic shared object (DSO) for PHP that will add flat-file @@ -703,6 +757,7 @@ Provides: php(dom) # it has some compatibility functions Provides: %{name}-domxml = %{epoch}:%{version}-%{release} Provides: php(domxml) +Obsoletes: php-dom < 4:5.3.28-7 Obsoletes: php-domxml <= 3:4.3.8-1 %description dom @@ -719,6 +774,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.exif.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(enchant) = %{enchantver} +Obsoletes: php-enchant < 4:5.3.28-7 Obsoletes: php-pecl-enchant < %{enchantver} %description enchant @@ -748,6 +804,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.exif.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(exif) +Obsoletes: php-exif < 4:5.3.28-7 %description exif This is a dynamic shared object (DSO) for PHP that will add EXIF tags @@ -764,6 +821,7 @@ URL: http://www.php.net/manual/en/book.fileinfo.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pcre = %{epoch}:%{version}-%{release} Provides: php(fileinfo) = %{fileinfover} +Obsoletes: php-fileinfo < 4:5.3.28-7 Obsoletes: php-mime_magic Obsoletes: php-pecl-fileinfo < %{fileinfover} @@ -790,6 +848,7 @@ URL: http://www.php.net/manual/en/book.filter.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pcre = %{epoch}:%{version}-%{release} Provides: php(filter) +Obsoletes: php-filter < 4:5.3.28-7 Obsoletes: php-pecl-filter %description filter @@ -813,6 +872,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.ftp.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(ftp) +Obsoletes: php-ftp < 4:5.3.28-7 %description ftp This is a dynamic shared object (DSO) for PHP that will add FTP @@ -828,11 +888,11 @@ Group: Libraries URL: http://www.php.net/manual/en/book.image.php Requires: %{name}-common = %{epoch}:%{version}-%{release} %if %{with system_gd} -Requires: gd >= 2.0.28-4 +Requires: gd >= 2.1 Requires: gd(gif) -Requires: gd(imagerotate) = 5.2.0 %endif Provides: php(gd) +Obsoletes: php-gd < 4:5.3.28-7 %description gd This is a dynamic shared object (DSO) for PHP that will add GD @@ -849,6 +909,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.gettext.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(gettext) +Obsoletes: php-gettext < 4:5.3.28-7 %description gettext This is a dynamic shared object (DSO) for PHP that will add gettext @@ -864,6 +925,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.gmp.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(gmp) +Obsoletes: php-gmp < 4:5.3.28-7 %description gmp This is a dynamic shared object (DSO) for PHP that will add arbitrary @@ -885,6 +947,7 @@ Provides: php(mhash) Provides: php-mhash = %{epoch}:%{version}-%{release} Obsoletes: php-mhash < 4:5.3.0 %endif +Obsoletes: php-hash < 4:5.3.28-7 Obsoletes: php-pecl-hash < %{hashver} %description hash @@ -904,6 +967,7 @@ Requires: %{_libdir}/gconv Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: iconv Provides: php(iconv) +Obsoletes: php-iconv < 4:5.3.28-7 %description iconv This is a dynamic shared object (DSO) for PHP that will add iconv @@ -922,6 +986,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pcre = %{epoch}:%{version}-%{release} Requires: imap-lib >= 1:2007e-2 Provides: php(imap) +Obsoletes: php-imap < 4:5.3.28-7 %description imap This is a dynamic shared object (DSO) for PHP that will add IMAP @@ -938,9 +1003,13 @@ Summary: InterBase/Firebird database module for PHP Summary(pl.UTF-8): Moduł bazy danych InterBase/Firebird dla PHP Group: Libraries URL: http://www.php.net/manual/en/book.ibase.php +%if %{with interbase_inst} +%{?requires_php_extension} +%else Requires: %{name}-common = %{epoch}:%{version}-%{release} +%endif Provides: php(interbase) -%{?with_interbase_inst:Autoreq: false} +Obsoletes: php-interbase < 4:5.3.28-7 %description interbase This is a dynamic shared object (DSO) for PHP that will add InterBase @@ -956,6 +1025,7 @@ Group: Libraries URL: http://www.php.net/intl Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(intl) = %{intlver} +Obsoletes: php-intl < 4:5.3.28-7 Obsoletes: php-pecl-intl < %{intlver} %description intl @@ -977,6 +1047,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.json.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(json) = %{jsonver} +Obsoletes: php-json < 4:5.3.28-7 Obsoletes: php-pecl-json < %{jsonver} %description json @@ -995,6 +1066,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.ldap.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(ldap) +Obsoletes: php-ldap < 4:5.3.28-7 %description ldap This is a dynamic shared object (DSO) for PHP that will add LDAP @@ -1013,6 +1085,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.mbstring.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(mbstring) +Obsoletes: php-mbstring < 4:5.3.28-7 %description mbstring This is a dynamic shared object (DSO) for PHP that will add multibyte @@ -1028,6 +1101,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.mcrypt.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(mcrypt) +Obsoletes: php-mcrypt < 4:5.3.28-7 %description mcrypt This is a dynamic shared object (DSO) for PHP that will add mcrypt @@ -1043,6 +1117,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.mssql.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(mssql) +Obsoletes: php-mssql < 4:5.3.28-7 %description mssql This is a dynamic shared object (DSO) for PHP that will add MS SQL @@ -1061,6 +1136,7 @@ URL: http://www.php.net/manual/en/book.mysql.php Requires: %{name}-common = %{epoch}:%{version}-%{release} %{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}} Provides: php(mysql) +Obsoletes: php-mysql < 4:5.3.28-7 %description mysql This is a dynamic shared object (DSO) for PHP that will add MySQL @@ -1081,6 +1157,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} %{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}} Requires: %{name}-spl = %{epoch}:%{version}-%{release} Provides: php(mysqli) +Obsoletes: php-mysqli < 4:5.3.28-7 %description mysqli This is a dynamic shared object (DSO) for PHP that will add MySQLi @@ -1099,6 +1176,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.mysqlnd.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(mysqlnd) +Obsoletes: php-mysqlnd < 4:5.3.28-7 %description mysqlnd MySQL Native Driver is a replacement for the MySQL Client Library @@ -1134,9 +1212,9 @@ Summary: Oracle 8+ database module for PHP Summary(pl.UTF-8): Moduł bazy danych Oracle 8+ dla PHP Group: Libraries URL: http://www.php.net/manual/en/book.oci8.php -Requires: %{name}-common = %{epoch}:%{version}-%{release} +%{?requires_php_extension} Provides: php(oci8) -AutoReq: false +Obsoletes: php-oci8 < 4:5.3.28-7 %description oci8 This is a dynamic shared object (DSO) for PHP that will add Oracle 7, @@ -1155,6 +1233,7 @@ URL: http://www.php.net/manual/en/book.uodbc.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: unixODBC >= 2.1.1-3 Provides: php(odbc) +Obsoletes: php-odbc < 4:5.3.28-7 %description odbc This is a dynamic shared object (DSO) for PHP that will add ODBC @@ -1168,6 +1247,7 @@ Um módulo para aplicações PHP que usam ODBC. %package opcache Summary: Zend Optimizer+ - PHP code optimizer +Summary(pl.UTF-8): Zend Optimizer+ - optymalizator kodu PHP Group: Libraries URL: https://wiki.php.net/rfc/optimizerplus Requires: %{name}-common = %{epoch}:%{version}-%{release} @@ -1181,6 +1261,14 @@ reading code from the disk and compiling it on future access. In addition, it applies a few bytecode optimization patterns that make code execution faster. +%description opcache -l pl.UTF-8 +Zend OPcache zapewnia szybsze wykonywanie kodu PHP dzięki buforowaniu +i optymalizacji na poziomie opcode'ów. Poprawia wydajność PHP +przechowując prekompilowany bajtkod skryptu w pamięci współdzielonej. +Eliminuje etapy odczytu kodu z dysku i kompilacji przy późniejszym +dostępie. Ponadto wykonuje kilka wzorców optymalizacji bajtkodu, +czyniąc wykonywanie kodu szybszym. + %package openssl Summary: OpenSSL extension module for PHP Summary(pl.UTF-8): Moduł OpenSSL dla PHP @@ -1188,6 +1276,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.openssl.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(openssl) +Obsoletes: php-openssl < 4:5.3.28-7 %description openssl This is a dynamic shared object (DSO) for PHP that will add OpenSSL @@ -1203,6 +1292,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.pcntl.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(pcntl) +Obsoletes: php-pcntl < 4:5.3.28-7 %description pcntl This is a dynamic shared object (DSO) for PHP that will add process @@ -1219,6 +1309,7 @@ Summary(pl.UTF-8): Moduł PCRE dla PHP Group: Libraries Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(pcre) +Obsoletes: php-pcre < 4:5.3.28-7 %description pcre This is a dynamic shared object (DSO) for PHP that will add Perl @@ -1235,7 +1326,9 @@ Group: Libraries URL: http://www.php.net/manual/en/book.pdo.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} +Provides: %{name}(PDO_API) = %{php_pdo_api_version} Provides: php(pdo) +Obsoletes: php-pdo < 4:5.3.28-7 Obsoletes: php-pecl-PDO %description pdo @@ -1253,6 +1346,7 @@ URL: http://www.php.net/manual/en/ref.pdo-dblib.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(dblib) +Obsoletes: php-pdo-dblib < 4:5.3.28-7 %description pdo-dblib This is a dynamic shared object (DSO) for PHP that will add PDO @@ -1270,6 +1364,7 @@ URL: http://www.php.net/manual/en/ref.pdo-firebird.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-firebird) +Obsoletes: php-pdo-firebird < 4:5.3.28-7 Obsoletes: php-pecl-PDO_FIREBIRD %description pdo-firebird @@ -1289,6 +1384,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} %{?with_mysqlnd:Requires: %{name}-mysqlnd = %{epoch}:%{version}-%{release}} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-mysql) +Obsoletes: php-pdo-mysql < 4:5.3.28-7 Obsoletes: php-pecl-PDO_MYSQL %description pdo-mysql @@ -1304,9 +1400,10 @@ Summary: PHP Data Objects (PDO) Oracle support Summary(pl.UTF-8): Moduł PHP Data Objects (PDO) z obsługą Oracle'a Group: Libraries URL: http://www.php.net/manual/en/ref.pdo-oci.php -Requires: %{name}-common = %{epoch}:%{version}-%{release} -Requires: %{name}-pdo = %{epoch}:%{version}-%{release} +%{?requires_php_extension} +%{?requires_php_pdo_module} Provides: php(pdo-oci) +Obsoletes: php-pdo-oci < 4:5.3.28-7 Obsoletes: php-pecl-PDO_OCI %description pdo-oci @@ -1325,6 +1422,7 @@ URL: http://www.php.net/manual/en/ref.pdo-odbc.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-odbc) +Obsoletes: php-pdo-odbc < 4:5.3.28-7 Obsoletes: php-pecl-PDO_ODBC %description pdo-odbc @@ -1344,6 +1442,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-pgsql) Provides: php-pecl-PDO_PGSQL +Obsoletes: php-pdo-pgsql < 4:5.3.28-7 Obsoletes: php-pecl-PDO_PGSQL < 4:5.2.1-2 %description pdo-pgsql @@ -1362,6 +1461,7 @@ URL: http://www.php.net/manual/en/ref.pdo-sqlite.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pdo = %{epoch}:%{version}-%{release} Provides: php(pdo-sqlite) +Obsoletes: php-pdo-sqlite < 4:5.3.28-7 Obsoletes: php-pecl-PDO_SQLITE %description pdo-sqlite @@ -1379,6 +1479,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.pgsql.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(pgsql) +Obsoletes: php-pgsql < 4:5.3.28-7 %description pgsql This is a dynamic shared object (DSO) for PHP that will add PostgreSQL @@ -1402,6 +1503,7 @@ Suggests: %{name}-cli Suggests: %{name}-zlib Provides: php(phar) = %{pharver} Obsoletes: php-pecl-phar < %{pharver} +Obsoletes: php-phar < 4:5.3.28-7 Conflicts: php-ioncube < 4.0.9 %description phar @@ -1418,6 +1520,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.posix.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(posix) +Obsoletes: php-posix < 4:5.3.28-7 %description posix This is a dynamic shared object (DSO) for PHP that will add POSIX @@ -1433,6 +1536,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.pspell.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(pspell) +Obsoletes: php-pspell < 4:5.3.28-7 %description pspell This is a dynamic shared object (DSO) for PHP that will add pspell @@ -1450,6 +1554,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.readline.php Requires: %{name}-cli = %{epoch}:%{version}-%{release} Provides: php(readline) +Obsoletes: php-readline < 4:5.3.28-7 %description readline This PHP module adds support for readline functions (only for cli and @@ -1466,6 +1571,7 @@ URL: http://www.php.net/manual/en/book.recode.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: recode >= 3.5d-3 Provides: php(recode) +Obsoletes: php-recode < 4:5.3.28-7 %description recode This is a dynamic shared object (DSO) for PHP that will add recode @@ -1482,7 +1588,9 @@ Group: Libraries Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} Suggests: %{name}-hash = %{epoch}:%{version}-%{release} +Suggests: tmpwatch Provides: php(session) +Obsoletes: php-session < 4:5.3.28-7 %description session This is a dynamic shared object (DSO) for PHP that will add session @@ -1498,6 +1606,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.shmop.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(shmop) +Obsoletes: php-shmop < 4:5.3.28-7 %description shmop This is a dynamic shared object (DSO) for PHP that will add Shared @@ -1514,6 +1623,7 @@ URL: http://www.php.net/manual/en/book.simplexml.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} Provides: php(simplexml) +Obsoletes: php-simplexml < 4:5.3.28-7 %description simplexml This is a dynamic shared object (DSO) for PHP that will add Simple XML @@ -1531,6 +1641,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-sockets = %{epoch}:%{version}-%{release} Requires: %{name}-spl = %{epoch}:%{version}-%{release} Provides: php(snmp) +Obsoletes: php-snmp < 4:5.3.28-7 %description snmp This is a dynamic shared object (DSO) for PHP that will add SNMP @@ -1546,6 +1657,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.soap.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(soap) +Obsoletes: php-soap < 4:5.3.28-7 %description soap This is a dynamic shared object (DSO) for PHP that will add SOAP/WSDL @@ -1561,6 +1673,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.sockets.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sockets) +Obsoletes: php-sockets < 4:5.3.28-7 %description sockets This is a dynamic shared object (DSO) for PHP that will add sockets @@ -1578,6 +1691,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-pcre = %{epoch}:%{version}-%{release} Requires: %{name}-simplexml = %{epoch}:%{version}-%{release} Provides: php(spl) +Obsoletes: php-spl < 4:5.3.28-7 %description spl This is a dynamic shared object (DSO) for PHP that will add Standard @@ -1593,6 +1707,7 @@ Group: Libraries URL: http://php.net/manual/en/book.sqlite3.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sqlite3) = %{sqlite3ver} +Obsoletes: php-sqlite3 < 4:5.3.28-7 %description sqlite3 SQLite is a C library that implements an embeddable SQL database @@ -1622,6 +1737,7 @@ URL: http://www.php.net/manual/en/book.sybase.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sybase-ct) Obsoletes: php-sybase +Obsoletes: php-sybase-ct < 4:5.3.28-7 %description sybase-ct This is a dynamic shared object (DSO) for PHP that will add Sybase and @@ -1638,6 +1754,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.sem.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sysvmsg) +Obsoletes: php-sysvmsg < 4:5.3.28-7 %description sysvmsg This is a dynamic shared object (DSO) for PHP that will add SysV @@ -1653,6 +1770,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.sem.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sysvsem) +Obsoletes: php-sysvsem < 4:5.3.28-7 %description sysvsem This is a dynamic shared object (DSO) for PHP that will add SysV @@ -1668,6 +1786,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.shmop.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(sysvshm) +Obsoletes: php-sysvshm < 4:5.3.28-7 %description sysvshm This is a dynamic shared object (DSO) for PHP that will add SysV @@ -1697,6 +1816,7 @@ URL: http://www.php.net/manual/en/book.tidy.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: tidy Provides: php(tidy) +Obsoletes: php-tidy < 4:5.3.28-7 %description tidy This is a dynamic shared object (DSO) for PHP that will add Tidy @@ -1712,6 +1832,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.tokenizer.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(tokenizer) +Obsoletes: php-tokenizer < 4:5.3.28-7 %description tokenizer This is a dynamic shared object (DSO) for PHP that will add tokenizer @@ -1732,6 +1853,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} #Requires: %{name}-session = %{epoch}:%{version}-%{release} Requires: %{name}-xml = %{epoch}:%{version}-%{release} Provides: php(wddx) +Obsoletes: php-wddx < 4:5.3.28-7 %description wddx This is a dynamic shared object (DSO) for PHP that will add wddx @@ -1747,6 +1869,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.xml.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(xml) +Obsoletes: php-xml < 4:5.3.28-7 %description xml This is a dynamic shared object (DSO) for PHP that will add XML @@ -1764,8 +1887,9 @@ Summary(pl.UTF-8): Moduł XML Reader dla PHP Group: Libraries URL: http://www.php.net/manual/en/book.xmlreader.php Requires: %{name}-common = %{epoch}:%{version}-%{release} -Suggests: %{name}-dom = %{epoch}:%{version}-%{release} +Requires: %{name}-dom = %{epoch}:%{version}-%{release} Provides: php(xmlreader) +Obsoletes: php-xmlreader < 4:5.3.28-7 %description xmlreader This is a dynamic shared object (DSO) for PHP that will add XML Reader @@ -1786,6 +1910,7 @@ URL: http://www.php.net/manual/en/book.xmlrpc.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-xml = %{epoch}:%{version}-%{release} Provides: php(xmlrpc) +Obsoletes: php-xmlrpc < 4:5.3.28-7 %description xmlrpc This is a dynamic shared object (DSO) for PHP that will add XMLRPC @@ -1802,6 +1927,7 @@ URL: http://www.php.net/manual/en/book.xmlwriter.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(xmlwriter) Obsoletes: php-pecl-xmlwriter +Obsoletes: php-xmlwriter < 4:5.3.28-7 %description xmlwriter This extension wraps the libxml xmlWriter API. Represents a writer @@ -1821,8 +1947,9 @@ URL: http://www.php.net/manual/en/book.xsl.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Requires: %{name}-dom = %{epoch}:%{version}-%{release} Requires: libxslt >= 1.0.18 -# actually not true, functionality is similar, but API differs Provides: php(xsl) +Obsoletes: php-xsl < 4:5.3.28-7 +# actually not true, functionality is similar, but API differs Obsoletes: php-xslt <= 3:4.3.8-1 %description xsl @@ -1841,6 +1968,7 @@ Requires: %{name}-common = %{epoch}:%{version}-%{release} %{?with_system_libzip:Requires: libzip >= 0.10.1-2} Provides: php(zip) = %{zipver} Obsoletes: php-pecl-zip < %{zipver} +Obsoletes: php-zip < 4:5.3.28-7 %description zip Zip is an extension to create, modify and read zip files. @@ -1856,6 +1984,7 @@ Group: Libraries URL: http://www.php.net/manual/en/book.zlib.php Requires: %{name}-common = %{epoch}:%{version}-%{release} Provides: php(zlib) +Obsoletes: php-zlib < 4:5.3.28-7 %description zlib This is a dynamic shared object (DSO) for PHP that will add zlib @@ -1865,7 +1994,8 @@ compression support to PHP. Moduł PHP umożliwiający używanie kompresji zlib. %prep -%setup -q -n %{orgname}-%{version} +%setup -q -n %{orgname}-%{version}%{?subver} +cp -p php.ini-production php.ini %patch0 -p1 %patch1 -p1 %patch2 -p1 @@ -1874,8 +2004,8 @@ Moduł PHP umożliwiający używanie kompresji zlib. %patch5 -p1 %patch6 -p1 %patch7 -p1 +%patch8 -p1 %patch9 -p1 -cp -p php.ini-production php.ini %patch10 -p1 %if %{with type_hints} %patch12 -p0 @@ -1883,9 +2013,6 @@ cp -p php.ini-production php.ini %patch14 -p1 %patch17 -p1 %patch18 -p1 -%if %{with system_gd} -%patch19 -p1 -%endif %patch20 -p1 %patch21 -p1 %patch22 -p1 @@ -1896,7 +2023,9 @@ cp -p php.ini-production php.ini %patch27 -p1 %patch29 -p1 %patch31 -p1 +%if "%{pld_release}" != "ac" %patch34 -p1 +%endif %patch35 -p1 %patch36 -p1 %patch37 -p1 @@ -1925,6 +2054,8 @@ cp -p php.ini-production php.ini %patch63 -p1 %{?with_system_libzip:%patch65 -p1} %patch66 -p1 +%patch67 -p1 +%patch69 -p1 sed -i -e '/PHP_ADD_LIBRARY_WITH_PATH/s#xmlrpc,#xmlrpc-epi,#' ext/xmlrpc/config.m4 @@ -1949,6 +2080,7 @@ find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f #%{__rm} -r ext/soap/interop %{__rm} -r ext/xmlrpc/libxmlrpc #%{__rm} -r ext/zip/lib +%{__rm} ext/date/lib/timezonedb.h cp -pf Zend/LICENSE{,.Zend} install -p %{SOURCE13} dep-tests.sh @@ -2021,6 +2153,12 @@ if [ $API != %{zend_extension_api} ]; then exit 1 fi +API=$(awk '/#define PDO_DRIVER_API/{print $3}' ext/pdo/php_pdo_driver.h) +if [ $API != %{php_pdo_api_version} ]; then + echo "Set %%define php_pdo_api_version to $API and re-run." + exit 1 +fi + # Check for some extension version ver=$(sed -n '/#define PHP_FILEINFO_VERSION /{s/.* "//;s/".*$//;p}' ext/fileinfo/php_fileinfo.h) if test "$ver" != "%{fileinfover}"; then @@ -2040,7 +2178,7 @@ if test "$ver" != "%{sqlite3ver}"; then : Update the sqlite3ver macro and rebuild. exit 1 fi -ver=$(sed -n '/#define PHP_ZIP_VERSION_STRING /{s/.* "//;s/".*$//;p}' ext/zip/php_zip.h) +ver=$(sed -n '/#define PHP_ZIP_VERSION /{s/.* "//;s/".*$//;p}' ext/zip/php_zip.h) if test "$ver" != "%{zipver}"; then : Error: Upstream ZIP version is now ${ver}, expecting %{zipver}. : Update the zipver macro and rebuild. @@ -2054,10 +2192,16 @@ if test "$ver" != "%{jsonver}"; then fi ver=$(sed -n '/#define PHP_ZENDOPCACHE_VERSION /{s/.* "//;s/".*$//;p}' ext/opcache/ZendAccelerator.h) if test "$ver" != "%{opcachever}"; then - : Error: Upstream Zend Opcachge version is now ${ver}, expecting %{opcachever}. + : Error: Upstream Zend Opcache version is now ${ver}, expecting %{opcachever}. : Update the opcachever macro and rebuild. exit 1 fi +ver=$(sed -n '/#define PHPDBG_VERSION /{s/.* "//;s/".*$//;p}' sapi/phpdbg/phpdbg.h) +if test "$ver" != "%{phpdbgver}"; then + : Error: Upstream phpdbg version is now ${ver}, expecting %{phpdbgver}. + : Update the phpdbgver macro and rebuild. + exit 1 +fi ver=$(sed -rne 's,.*(.+),\1,p' ext/bz2/package.xml) if test "$ver" != "%{bz2ver}"; then : Error: Upstream BZIP2 version is now ${ver}, expecting %{bz2ver}. @@ -2087,7 +2231,7 @@ export EXTENSION_DIR="%{php_extensiondir}" # configure once (for faster debugging purposes) if [ ! -f _built-conf ]; then # now remove Makefile copies - rm -f Makefile.{cgi-fcgi,fpm,cli,apxs1,apxs2,litespeed} + rm -f Makefile.{cgi-fcgi,fpm,cli,apxs1,apxs2,litespeed,phpdbg,milter} %{__libtoolize} %{__aclocal} cp -f /usr/share/automake/config.* . @@ -2118,6 +2262,12 @@ apxs1 %if %{with apache2} apxs2 %endif +%if %{with phpdbg} +phpdbg +%endif +%if %{with milter} +milter +%endif " for sapi in $sapis; do : SAPI $sapi @@ -2133,21 +2283,27 @@ for sapi in $sapis; do sapi_args='--disable-cgi %{?with_gcov:--enable-gcov}' ;; fpm) - sapi_args='--disable-cli --enable-fpm' + sapi_args='--disable-cli --disable-cgi --enable-fpm' ;; embed) - sapi_args='--disable-cli --enable-embed' + sapi_args='--disable-cli --disable-cgi --enable-embed' ;; apxs1) ver=$(rpm -q --qf '%{V}' apache1-devel) - sapi_args="--disable-cli --with-apxs=%{apxs1} --with-apache-version=$ver" + sapi_args="--disable-cli --disable-cgi --with-apxs=%{apxs1} --with-apache-version=$ver" ;; apxs2) ver=$(rpm -q --qf '%{V}' apache-devel) - sapi_args="--disable-cli --with-apxs2=%{apxs2} --with-apache-version=$ver" + sapi_args="--disable-cli --disable-cgi --with-apxs2=%{apxs2} --with-apache-version=$ver" ;; litespeed) - sapi_args='--with-litespeed' + sapi_args='--disable-cli --disable-cgi --with-litespeed' + ;; + phpdbg) + sapi_args='--disable-cli --disable-cgi --enable-phpdbg %{?debug:--enable-phpdbg-debug}' + ;; + milter) + sapi_args='--disable-cli --disable-cgi --with-milter' ;; esac @@ -2194,7 +2350,7 @@ for sapi in $sapis; do %{?with_mhash:--with-mhash=yes} \ --with-mysql-sock=/var/lib/mysql/mysql.sock \ --with-pdo-mysql=shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd} \ - %{?with_oci8:--with-pdo-oci=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ + %{?with_oci:--with-pdo-oci=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ %{?with_odbc:--with-pdo-odbc=shared,unixODBC,/usr} \ %{?with_pgsql:--with-pdo-pgsql=shared} \ %{?with_pdo_sqlite:--with-pdo-sqlite=shared,/usr} \ @@ -2234,7 +2390,7 @@ for sapi in $sapis; do %{?with_mysqlnd:--enable-mysqlnd=shared} \ --with-mysql=shared,%{!?with_mysqlnd:/usr}%{?with_mysqlnd:mysqlnd} \ %{?with_mysqli:--with-mysqli=shared,%{!?with_mysqlnd:/usr/bin/mysql_config}%{?with_mysqlnd:mysqlnd}} \ - %{?with_oci8:--with-oci8=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ + %{?with_oci:--with-oci8=shared%{?with_instantclient:,instantclient,%{_libdir}}} \ %{?with_opcache:--enable-opcache=shared} \ %{?with_openssl:--with-openssl=shared} \ %{?with_kerberos5:--with-kerberos} \ @@ -2288,7 +2444,21 @@ cp -af Makefile.cli Makefile %endif %if %{with litespeed} -%{__make} -f Makefile.litespeed +%{__make} -f Makefile.litespeed litespeed +%endif + +%if %{with embed} +%{__make} -f Makefile.embed libphp5.la +%endif + +%if %{with phpdbg} +# PHP_READLINE_LIBS is empty, so force readline here +%{__make} -f Makefile.phpdbg phpdbg \ + PHPDBG_EXTRA_LIBS=-lreadline +%endif + +%if %{with milter} +%{__make} -f Makefile.milter milter %endif # CGI/FCGI @@ -2374,7 +2544,8 @@ chmod +x run-tests.sh cp -pf php_config.h.cli main/php_config.h cp -pf Makefile.cli Makefile -./run-tests.sh -w failed.log -s tests.log +./run-tests.sh -w failed.log -s tests.log || { +rc=$? # collect failed tests into cleanup script used in prep. sed -ne '/^FAILED TEST SUMMARY/,/^===/p' tests.log | sed -e '1,/^---/d;/^===/,$d' > tests-failed.log @@ -2385,6 +2556,8 @@ sed -ne '/^via/d;/\[.*\]/{s/\t*\(.*\) \[\(.*\)\]\(.*\)/# \1\3\nmv \2{,.skip}/p}' tty -q || cat tests.log test ! -s failed.log +exit $rc +} %endif %install @@ -2397,6 +2570,7 @@ install -d $RPM_BUILD_ROOT{%{_libdir}/{php,apache{,1}},%{_sysconfdir}/{apache,cg cp -pf php_config.h.cli main/php_config.h cp -pf Makefile.cli Makefile %{__make} install \ + phpbuilddir=%{_libdir}/%{name}/build \ INSTALL_ROOT=$RPM_BUILD_ROOT # make link relative @@ -2424,6 +2598,16 @@ ln -s libphp5-$v.so $RPM_BUILD_ROOT%{_libdir}/apache/libphp5.so libtool --mode=install install -p sapi/litespeed/php $RPM_BUILD_ROOT%{_sbindir}/%{name}.litespeed %endif +%if %{with phpdbg} +%{__make} -f Makefile.phpdbg install-phpdbg \ + INSTALL_ROOT=$RPM_BUILD_ROOT +%endif + +%if %{with milter} +%{__make} -f Makefile.milter install-milter \ + INSTALL_ROOT=$RPM_BUILD_ROOT +%endif + libtool --mode=install install -p libphp_common.la $RPM_BUILD_ROOT%{_libdir} # install CGI/FCGI @@ -2440,23 +2624,28 @@ install -d $RPM_BUILD_ROOT{%{_sysconfdir}/fpm.d,%{_sbindir}} libtool --mode=install install -p sapi/fpm/php-fpm $RPM_BUILD_ROOT%{_sbindir}/%{name}-fpm cp -p sapi/fpm/php-fpm.8 $RPM_BUILD_ROOT%{_mandir}/man8/%{name}-fpm.8 cp -p sapi/fpm/php-fpm.conf $RPM_BUILD_ROOT%{_sysconfdir} +cp -p sapi/fpm/php-fpm.conf-d $RPM_BUILD_ROOT%{_sysconfdir}/fpm.d/www.conf install -d $RPM_BUILD_ROOT/etc/rc.d/init.d install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-fpm install -d $RPM_BUILD_ROOT/etc/logrotate.d cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-fpm +%if "%{pld_release}" == "ac" +%{__sed} -i -e '/su/d' $RPM_BUILD_ROOT/etc/logrotate.d/%{name}-fpm +%endif %{__sed} -i -e ' s#/usr/lib/php#%{php_extensiondir}# s#/etc/php#%{_sysconfdir}# s#@processname@#%{name}-fpm#g -' $RPM_BUILD_ROOT{/etc/{rc.d/init.d/%{name}-fpm,logrotate.d/%{name}-fpm},%{_sysconfdir}/php-fpm.conf} +' $RPM_BUILD_ROOT{/etc/{rc.d/init.d/%{name}-fpm,logrotate.d/%{name}-fpm},%{_sysconfdir}/php-fpm.conf,%{_sysconfdir}/fpm.d/www.conf} %endif # install Embedded API %if %{with embed} -%{__make} -f Makefile.embed install-sapi INSTALL_ROOT=$RPM_BUILD_ROOT # we could use install-headers from Makefile.embed, but that would reinstall all headers +# install-sapi installs to wrong dir, so just do it all manually install -d $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed +install -p libs/libphp5.so $RPM_BUILD_ROOT%{_libdir} cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed %endif @@ -2464,15 +2653,8 @@ cp -p sapi/embed/php_embed.h $RPM_BUILD_ROOT%{_includedir}/php/sapi/embed # versioned suffix is always installed libtool --mode=install install -p sapi/cli/php $RPM_BUILD_ROOT%{_bindir}/php%{ver_suffix} cp -p sapi/cli/php.1 $RPM_BUILD_ROOT%{_mandir}/man1/php%{ver_suffix}.1 - -%if %{with default_php} -# man for php echo ".so php%{ver_suffix}.1" >$RPM_BUILD_ROOT%{_mandir}/man1/php.1 -# link as /usr/bin/php ln -sf php%{ver_suffix} $RPM_BUILD_ROOT%{_bindir}/php -# php.cli link for backward compatibility -ln -sf php $RPM_BUILD_ROOT%{_bindir}/php.cli -%endif cp -p php.ini $RPM_BUILD_ROOT%{_sysconfdir}/php.ini @@ -2508,12 +2690,18 @@ install -d $RPM_BUILD_ROOT%{_sysconfdir}/{cgi-fcgi,cli,apache,apache2handler}.d mv $RPM_BUILD_ROOT%{_sysconfdir}/{conf.d/readline.ini,cli.d} # use system automake and {lib,sh}tool -ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/php/build -for i in libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4; do - ln -snf %{_aclocaldir}/${i} $RPM_BUILD_ROOT%{_libdir}/php/build -done -ln -snf %{_datadir}/libtool/config/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/php/build -ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/php/build +%if "%{pld_release}" != "ac" + ln -snf /usr/share/automake/config.{guess,sub} $RPM_BUILD_ROOT%{_libdir}/%{name}/build + for i in libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4; do + ln -snf %{_aclocaldir}/${i} $RPM_BUILD_ROOT%{_libdir}/%{name}/build + done + ln -snf %{_datadir}/libtool/config/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/%{name}/build +%else + ln -snf %{_aclocaldir}/libtool.m4 $RPM_BUILD_ROOT%{_libdir}/%{name}/build + ln -snf %{_datadir}/libtool/ltmain.sh $RPM_BUILD_ROOT%{_libdir}/%{name}/build +%endif +ln -snf %{_bindir}/shtool $RPM_BUILD_ROOT%{_libdir}/%{name}/build +sed -i -e '/^phpdir/ s,/php/build,/%{name}/build,' $RPM_BUILD_ROOT%{_bindir}/phpize # for php-pecl-mailparse install -d $RPM_BUILD_ROOT%{_includedir}/php/ext/mbstring @@ -2526,12 +2714,8 @@ cp -a tests/* $RPM_BUILD_ROOT%{php_data_dir}/tests/php # fix install paths, avoid evil rpaths sed -i -e "s|^libdir=.*|libdir='%{_libdir}'|" $RPM_BUILD_ROOT%{_libdir}/libphp_common.la -%if %{with embed} -# libphp5.la contains our buildroot in dependency_libs -sed -i -e "/dependency_libs/ s,/[^ ]*/libs/libphp_common.la,%{_libdir}/libphp_common.la," $RPM_BUILD_ROOT%{_libdir}/libphp5.la -%endif # better solution? -sed -i -e 's|libphp_common.la|$(libdir)/libphp_common.la|' $RPM_BUILD_ROOT%{_libdir}/php/build/acinclude.m4 +sed -i -e 's|libphp_common.la|$(libdir)/libphp_common.la|' $RPM_BUILD_ROOT%{_libdir}/%{name}/build/acinclude.m4 %clean rm -rf $RPM_BUILD_ROOT @@ -2601,6 +2785,27 @@ fi [ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart [ ! -f /etc/httpd/conf.d/??_mod_php.conf ] || %service -q httpd restart +%triggerpostun common -- php-common < 4:5.3.28-7 +# migrate configs /etc/php/conf.d -> /etc/phpXY/conf.d/ +# do config migration in php-common trigger, as the trigger is ran after all packages are upgraded +# this way we can stick to one trigger, instead of attaching one for each (sub)package! +for f in /etc/php/*.ini.rpmsave /etc/php/*.d/*.ini.rpmsave; do + test -f "$f" || continue + bn=${f#/etc/php/} + dn=${bn%/*} + fn=${bn#*/} + test "$dn" = "$fn" && dn= + fn=${fn%.rpmsave} + nf=%{_sysconfdir}/$dn/$fn + test -f "$nf" || continue + cp -vf $nf{,.rpmnew} + mv -vf $f $nf + %{__sed} -i -e ' + s#%{_libdir}/php#%{_libdir}/%{name}# + s#/etc/php#%{_sysconfdir}# + ' $nf +done + # common macros called at extension post/postun scriptlet %define extension_scripts() \ %post %1 \ @@ -2723,7 +2928,7 @@ fi %if %{with embed} %files embedded %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/libphp5-%{version}.so +%attr(755,root,root) %{_libdir}/libphp5.so %endif %files cli @@ -2732,11 +2937,11 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-cli.ini %attr(755,root,root) %{_bindir}/php%{ver_suffix} %{_mandir}/man1/php%{ver_suffix}.1* -%if %{with default_php} + +%files program +%defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/php -%attr(755,root,root) %{_bindir}/php.cli %{_mandir}/man1/php.1* -%endif %if %{with fpm} %files fpm @@ -2744,15 +2949,29 @@ fi %doc sapi/fpm/{CREDITS,LICENSE} %dir %{_sysconfdir}/fpm.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php-fpm.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/fpm.d/www.conf %attr(755,root,root) %{_sbindir}/%{name}-fpm %{_mandir}/man8/%{name}-fpm.8* %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}-fpm %attr(754,root,root) /etc/rc.d/init.d/%{name}-fpm %endif +%if %{with phpdbg} +%files phpdbg +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/phpdbg +%{_mandir}/man1/phpdbg.1* +%endif + +%if %{with milter} +%files milter +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/php-milter +%endif + %files common %defattr(644,root,root,755) -%doc CREDITS EXTENSIONS LICENSE NEWS README.{PHP4-TO-PHP5-THIN-CHANGES,namespaces} UPGRADING* Zend/{LICENSE.Zend,ZEND_CHANGES} php.ini-* +%doc CREDITS EXTENSIONS LICENSE NEWS README.namespaces UPGRADING* Zend/{LICENSE.Zend,ZEND_CHANGES} php.ini-* %dir %{_sysconfdir} %dir %{_sysconfdir}/conf.d %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/php.ini @@ -2764,20 +2983,15 @@ fi %files devel %defattr(644,root,root,755) -%doc CODING_STANDARDS README.{EXTENSIONS,EXT_SKEL,PARAMETER_PARSING_API,SELF-CONTAINED-EXTENSIONS,STREAMS,SUBMITTING_PATCH,TESTING,TESTING2,UNIX-BUILD-SYSTEM,input_filter} +%doc CODING_STANDARDS README.{EXT_SKEL,PARAMETER_PARSING_API,SELF-CONTAINED-EXTENSIONS,STREAMS,SUBMITTING_PATCH,TESTING,TESTING2,UNIX-BUILD-SYSTEM,input_filter} %attr(755,root,root) %{_bindir}/phpize %attr(755,root,root) %{_bindir}/php-config %attr(755,root,root) %{_libdir}/libphp_common.so %{_libdir}/libphp_common.la %{_includedir}/php -%{_libdir}/php/build +%{_libdir}/%{name}/build %{_mandir}/man1/php-config.1* %{_mandir}/man1/phpize.1* -%if %{with embed} -# embedded -%{_libdir}/libphp5.so -%{_libdir}/libphp5.la -%endif %files bcmath %defattr(644,root,root,755) @@ -2819,6 +3033,7 @@ fi %files dom %defattr(644,root,root,755) %doc ext/dom/{CREDITS,TODO} +%doc ext/dom/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/dom.ini %attr(755,root,root) %{php_extensiondir}/dom.so @@ -2966,7 +3181,7 @@ fi %attr(755,root,root) %{php_extensiondir}/mysqlnd.so %endif -%if %{with oci8} +%if %{with oci} %files oci8 %defattr(644,root,root,755) %doc ext/oci8/{CREDITS,README} @@ -3040,7 +3255,7 @@ fi %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/pdo_mysql.ini %attr(755,root,root) %{php_extensiondir}/pdo_mysql.so -%if %{with oci8} +%if %{with oci} %files pdo-oci %defattr(644,root,root,755) %doc ext/pdo_oci/CREDITS @@ -3088,6 +3303,8 @@ fi %attr(755,root,root) %{php_extensiondir}/phar.so %attr(755,root,root) %{_bindir}/phar %attr(755,root,root) %{_bindir}/phar.phar +%{_mandir}/man1/phar.1* +%{_mandir}/man1/phar.phar.1 %endif %files posix @@ -3134,6 +3351,7 @@ fi %files simplexml %defattr(644,root,root,755) %doc ext/simplexml/{CREDITS,README} +%doc ext/simplexml/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/simplexml.ini %attr(755,root,root) %{php_extensiondir}/simplexml.so @@ -3159,7 +3377,8 @@ fi %files spl %defattr(644,root,root,755) -%doc ext/spl/{CREDITS,README,TODO,examples} +%doc ext/spl/{CREDITS,README,TODO} +%doc ext/spl/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/SPL.ini %attr(755,root,root) %{php_extensiondir}/spl.so @@ -3216,6 +3435,7 @@ fi %files tidy %defattr(644,root,root,755) %doc ext/tidy/{CREDITS,README} +%doc ext/tidy/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/tidy.ini %attr(755,root,root) %{php_extensiondir}/tidy.so %endif @@ -3242,7 +3462,8 @@ fi %files xmlreader %defattr(644,root,root,755) -%doc ext/xmlreader/{CREDITS,README,TODO,examples} +%doc ext/xmlreader/{CREDITS,README,TODO} +%doc ext/xmlreader/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xmlreader.ini %attr(755,root,root) %{php_extensiondir}/xmlreader.so @@ -3257,6 +3478,7 @@ fi %files xmlwriter %defattr(644,root,root,755) %doc ext/xmlwriter/{CREDITS,TODO} +%doc ext/xmlwriter/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/xmlwriter.ini %attr(755,root,root) %{php_extensiondir}/xmlwriter.so @@ -3269,6 +3491,7 @@ fi %files zip %defattr(644,root,root,755) %doc ext/zip/{CREDITS,TODO} +%doc ext/zip/examples %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/conf.d/zip.ini %attr(755,root,root) %{php_extensiondir}/zip.so diff --git a/suhosin.patch b/suhosin.patch index e5e3ed4..378a4e4 100644 --- a/suhosin.patch +++ b/suhosin.patch @@ -5616,12 +5616,11 @@ the following modifications have been made: PHP_VERSION, cli_sapi_module.name, __DATE__, __TIME__, #if ZEND_DEBUG && defined(HAVE_GCOV) "(DEBUG GCOV)", ---- php-5.5.0alpha1/sapi/litespeed/lsapi_main.c~ 2012-11-13 22:00:16.000000000 +0200 -+++ php-5.5.0alpha1/sapi/litespeed/lsapi_main.c 2012-11-17 13:47:51.979828334 +0200 -@@ -546,11 +546,19 @@ - break; - case 'v': - if (php_request_startup(TSRMLS_C) != FAILURE) { +--- php-5.5.15/sapi/litespeed/lsapi_main.c 2014-08-21 11:45:02.000000000 +0300 ++++ php-5.5.15/sapi/litespeed/lsapi_main.c 2014-08-25 11:50:36.603155796 +0300 +@@ -734,11 +546,19 @@ + case 'v': + if (php_request_startup(TSRMLS_C) != FAILURE) { +#if SUHOSIN_PATCH +#if ZEND_DEBUG + php_printf("PHP %s with Suhosin-Patch (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2014 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); @@ -5630,14 +5629,15 @@ the following modifications have been made: +#endif +#else #if ZEND_DEBUG - php_printf("PHP %s (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2014 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); + php_printf("PHP %s (%s) (built: %s %s) (DEBUG)\nCopyright (c) 1997-2014 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); #else - php_printf("PHP %s (%s) (built: %s %s)\nCopyright (c) 1997-2014 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); + php_printf("PHP %s (%s) (built: %s %s)\nCopyright (c) 1997-2014 The PHP Group\n%s", PHP_VERSION, sapi_module.name, __DATE__, __TIME__, get_zend_version()); #endif +#endif #ifdef PHP_OUTPUT_NEWAPI php_output_end_all(TSRMLS_C); #else + php_end_ob_buffers(1 TSRMLS_CC); --- a/sapi/milter/php_milter.c +++ b/sapi/milter/php_milter.c @@ -1109,7 +1109,11 @@ int main(int argc, char *argv[]) -- 2.44.0