[PHP-DEV] PHP 5.3.0RC3

2009-05-08 Thread Lukas Kahwe Smith

Aloha,

We have finally released RC2. Its now time to really finish up and  
bring 5.3.0 to a stable release. I have updated the wiki page to the  
best of my knowledge [1]. If anything is missing, already done etc.  
please let me know or fix it yourself. Again the goal is to have the  
critical issues fixed ASAP, so that we can release RC3 in 2-3 weeks  
time.


Here is the list, again check the wiki page if you are interested as  
there are links pointing to addition infos for some of the issues:

1. fix open PHP 5.3 bugs
2. finish UPGRADING README file (Steph)
3. write migration guide for the manual (Steph)
4. Fix static build of extension on windows when static is the default  
and –enable-snapshot-build is used

5. Fix the NEWS file, as it skips from 5.2.4 to 5.3.0
6. opendir() fails on Windows directories with parent directory  
unaccessible
7. very important for APC, about caching (stat cache or other) on win/ 
fcgi (Pierre)

8. add missing libs (gmp, firebird ..) (Pierre)
9. Add E_DEPRECATED if session.bug_compat_42/warn is On (already  
removed in HEAD)

10. fix re2c issues: bus error, 8k script parse error
11. update short_open_tag descriptions in php.ini-* as per this (philip)

Critical issues:
1) I assume the issues with rounding are resolved. If any issues pop  
up again, please let the list know.

2) The re2c EOF bug needs a clean fix

All the while we do not need a final upgrading and migration guide for  
RC3, but the sooner the better of course. We do need them for the  
final release, which hopefully come shortly after RC3. In terms of the  
windows issues, we RMs feel that these issues existed in previous  
versions of PHP and given the amount of improvements we have for  
Windows users, we do not feel that its critical to wait for their  
resolution. That is not to say of course that getting them resolved is  
not important. However only if they are low risk changes. Most of the  
other issues are minor and should get fixed for RC3.


regards,
Lukas Kahwe Smith
m...@pooteeweet.org

[1] http://wiki.php.net/todo/php53#rc3
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] Non blocking file i/o support for win32.

2009-05-08 Thread Richard Quadling
Hi.

Can anyone with windows knowledge take a quick look at
http://bugs.php.net/bug.php?id=47918. I'm pretty sure this IS a bug.
I'm hoping you don't say it is a documentation bug and it is something
you can fix.

My requirement is to allow non-blocking file i/o.

With non-win32, it seems that the fcntl() function can accept
O_NONBLOCK. This does not seem to be present on win32.


The doc for fopen() does not mention 'n' as being available (probably
for this reason).


Regards,

Richard.

-- 
-
Richard Quadling
Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498r=213474731
Standing on the shoulders of some very clever giants!

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Non blocking file i/o support for win32.

2009-05-08 Thread Kalle Sommer Nielsen
Hi Richard

2009/5/8 Richard Quadling rquadl...@googlemail.com:
 Hi.

 Can anyone with windows knowledge take a quick look at
 http://bugs.php.net/bug.php?id=47918. I'm pretty sure this IS a bug.
 I'm hoping you don't say it is a documentation bug and it is something
 you can fix.

 My requirement is to allow non-blocking file i/o.

 With non-win32, it seems that the fcntl() function can accept
 O_NONBLOCK. This does not seem to be present on win32.

fcntl() is not available on Windows aswell as O_NONBLOCK, but after
some small research we could perhaps use the iocsocket() function with
the FIONBIO flag to emulate O_NONBLOCK on Windows.



 The doc for fopen() does not mention 'n' as being available (probably
 for this reason).

The 'n' mode was added in 5.3 RC2 by Mikko, but has not yet been documented.



 Regards,

 Richard.

 --
 PHP Internals - PHP Runtime Development Mailing List
 To unsubscribe, visit: http://www.php.net/unsub.php





-- 
Kalle Sommer Nielsen
ka...@php.net

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Bug 47468: enabling readline/libedit/pcntl/ncurses with --enable-embed

2009-05-08 Thread Arnaud Le Blanc
Hi,

On Wed, 2009-05-06 at 20:42 +0100, Paul Biggar wrote:
 Hi folks,
 
 Could I get someone to look at http://bugs.php.net/bug.php?id=47468?.
 It includes a patch which is confirmed to fix the problem.

Does the following patch works for you ? (use ./buildconf after
applying, then reconfigure). It does the same thing as yours, but moves
the decision of allowing cli extensions to SAPI's config.m4.

Lukas, Johannes, any objection ?

Regards,

Arnaud

Index: acinclude.m4
===
RCS file: /repository/php-src/acinclude.m4,v
retrieving revision 1.332.2.14.2.26.2.12
diff -u -p -r1.332.2.14.2.26.2.12 acinclude.m4
--- acinclude.m43 Dec 2008 19:53:45 -   1.332.2.14.2.26.2.12
+++ acinclude.m48 May 2009 12:38:11 -
@@ -877,15 +877,17 @@ EOF
 ])
 
 dnl
-dnl PHP_SELECT_SAPI(name, type[, sources [, extra-cflags [, build-target]]])
+dnl PHP_SELECT_SAPI(name, type[, sources [, extra-cflags [, build-target [, 
allow-static-exts)
 dnl
 dnl Selects the SAPI name and type (static, shared, programm)
 dnl and optionally also the source-files for the SAPI-specific
 dnl objects.
 dnl
+dnl allow-static-exts: Whether SAPI allows any extension to be built 
statically ([yes], all)
+dnl
 AC_DEFUN([PHP_SELECT_SAPI],[
   PHP_SAPI=$1
-  
+
   case $2 in
   static[)] PHP_BUILD_STATIC;;
   shared[)] PHP_BUILD_SHARED;;
@@ -894,6 +896,12 @@ AC_DEFUN([PHP_SELECT_SAPI],[
   esac
 
   ifelse($3,,,[PHP_ADD_SOURCES([sapi/$1],[$3],[$4],[sapi])])
+
+  case $6 in
+  [yes|all)] PHP_SAPI_ALLOWS_STATIC_EXTS=$6;;
+  [)] PHP_SAPI_ALLOWS_STATIC_EXTS=yes;;
+  esac
+  
 ])
 
 dnl deprecated
@@ -968,7 +976,7 @@ dnl 
   if test $3 != shared  test $3 != yes  test $4 = cli; then
 dnl -- CLI static module
 [PHP_]translit($1,a-z_-,A-Z__)[_SHARED]=no
-if test $PHP_SAPI = cgi; then
+if test $PHP_SAPI_ALLOWS_STATIC_EXTS = all; then
   PHP_ADD_SOURCES(PHP_EXT_DIR($1),$2,$ac_extra,)
   EXT_STATIC=$EXT_STATIC $1
 else
Index: sapi/cgi/config9.m4
===
RCS file: /repository/php-src/sapi/cgi/config9.m4,v
retrieving revision 1.17.2.2.2.6.2.2
diff -u -p -r1.17.2.2.2.6.2.2 config9.m4
--- sapi/cgi/config9.m4 1 Oct 2007 12:40:54 -   1.17.2.2.2.6.2.2
+++ sapi/cgi/config9.m4 8 May 2009 12:38:14 -
@@ -54,7 +54,7 @@ if test $PHP_SAPI = default; then
 
 dnl Set install target and select SAPI
 INSTALL_IT=@echo \Installing PHP CGI binary: 
\$(INSTALL_ROOT)\$(bindir)/\; \$(INSTALL) -m 0755 \$(SAPI_CGI_PATH) 
\$(INSTALL_ROOT)\$(bindir)/\$(program_prefix)php-cgi\$(program_suffix)\$(EXEEXT)
-PHP_SELECT_SAPI(cgi, program, cgi_main.c fastcgi.c,, '$(SAPI_CGI_PATH)')
+PHP_SELECT_SAPI(cgi, program, cgi_main.c fastcgi.c,, '$(SAPI_CGI_PATH)', 
all)
 
 case $host_alias in
   *aix*)
Index: sapi/embed/config.m4
===
RCS file: /repository/php-src/sapi/embed/config.m4,v
retrieving revision 1.9.4.2
diff -u -p -r1.9.4.2 config.m4
--- sapi/embed/config.m411 Jul 2007 23:20:36 -  1.9.4.2
+++ sapi/embed/config.m48 May 2009 12:38:14 -
@@ -23,7 +23,7 @@ if test $PHP_EMBED != no; then
   ;;
   esac
   if test $PHP_EMBED_TYPE != no; then
-PHP_SELECT_SAPI(embed, $PHP_EMBED_TYPE, php_embed.c)
+PHP_SELECT_SAPI(embed, $PHP_EMBED_TYPE, php_embed.c, , , all)
 PHP_INSTALL_HEADERS([sapi/embed/php_embed.h])
   fi
   AC_MSG_RESULT([$PHP_EMBED_TYPE])

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Re: [PHP-DEV] Bug 47468: enabling readline/libedit/pcntl/ncurses with --enable-embed

2009-05-08 Thread Paul Biggar
Hi Arnaud,

Thanks for looking at this.

On Fri, May 8, 2009 at 2:11 PM, Arnaud Le Blanc lbarn...@php.net wrote:
 Does the following patch works for you ? (use ./buildconf after
 applying, then reconfigure). It does the same thing as yours, but moves
 the decision of allowing cli extensions to SAPI's config.m4.

I tested this on CVS 5.3 (with the configure command: ./configure
--with-readline --enable-embed --enable-maintainer-zts
--enable-debug). It applies cleanly, and I checked the readline
symbols were present. I have also forwarded it to two of phc's users
who reported the bug. I expect they'll be back to me within a day or
two, if you prefer to wait for further confirmation.

FWIW, I like the new patch better than my hack. However, I don't
understand the how it works from the comment (that bit of acinclude is
very shoddily documented in general).

Thanks again,
Paul



-- 
Paul Biggar
paul.big...@gmail.com

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP-DEV] Bug 47468: enabling readline/libedit/pcntl/ncurses with --enable-embed

2009-05-08 Thread Arnaud Le Blanc
On Fri, 2009-05-08 at 16:12 +0100, Paul Biggar wrote:
 Hi Arnaud,
 
 Thanks for looking at this.
 
 On Fri, May 8, 2009 at 2:11 PM, Arnaud Le Blanc lbarn...@php.net wrote:
  Does the following patch works for you ? (use ./buildconf after
  applying, then reconfigure). It does the same thing as yours, but moves
  the decision of allowing cli extensions to SAPI's config.m4.
 
 I tested this on CVS 5.3 (with the configure command: ./configure
 --with-readline --enable-embed --enable-maintainer-zts
 --enable-debug). It applies cleanly, and I checked the readline
 symbols were present. I have also forwarded it to two of phc's users
 who reported the bug. I expect they'll be back to me within a day or
 two, if you prefer to wait for further confirmation.
 
 FWIW, I like the new patch better than my hack. However, I don't
 understand the how it works from the comment (that bit of acinclude is
 very shoddily documented in general).

The build system allows to build two SAPIs at a time: the CLI and a SAPI
of choice. Some extensions are irrelevant for webserver SAPIs, so they
mark themselves as CLI-only extensions. This allows one to enable these
extensions in the CLI without enabling them in the server SAPI. This
patch allows a SAPI to mark itself as allowing those extensions.

Regards,

Arnaud


-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php



[PHP-DEV] [PATCH] Bug #44780 some time zone offsets not recognized by timezone_name_from_abbr

2009-05-08 Thread mark burdett
I was able to resolve http://bugs.php.net/bug.php?id=44780 by changing
the fallbackmap from hours to minutes.  The bug is apparently due to
an issue with non-integer offsets.  Also, this patch adds a couple
missing time zones (Caracas and Shanghai, although there are likely
other missing time zones!), and uses the new spelling for Calcutta
(Kolkata).

--mark
Index: ext/date/lib/fallbackmap.h
===
RCS file: /repository/php-src/ext/date/lib/fallbackmap.h,v
retrieving revision 1.3
diff -u -p -r1.3 fallbackmap.h
--- ext/date/lib/fallbackmap.h	15 Oct 2005 18:14:40 -	1.3
+++ ext/date/lib/fallbackmap.h	8 May 2009 18:18:32 -
@@ -1,40 +1,42 @@
-	{ sst,   0,  -11,  Pacific/Apia },
-	{ hst,   0,  -10,  Pacific/Honolulu },
-	{ akst,  0,   -9,  America/Anchorage },
-	{ akdt,  1,   -8,  America/Anchorage },
-	{ pst,   0,   -8,  America/Los_Angeles },
-	{ pdt,   1,   -7,  America/Los_Angeles },
-	{ mst,   0,   -7,  America/Denver },
-	{ mdt,   1,   -6,  America/Denver },
-	{ cst,   0,   -6,  America/Chicago },
-	{ cdt,   1,   -5,  America/Chicago },
-	{ est,   0,   -5,  America/New_York },
-	{ edt,   1,   -4,  America/New_York },
-	{ ast,   0,   -4,  America/Halifax },
-	{ adt,   1,   -3,  America/Halifax },
-	{ brt,   0,   -3,  America/Sao_Paulo },
-	{ brst,  1,   -2,  America/Sao_Paulo },
-	{ azost, 0,   -1,  Atlantic/Azores },
-	{ azodt, 1,0,  Atlantic/Azores },
-	{ gmt,   0,0,  Europe/London },
-	{ bst,   1,1,  Europe/London },
-	{ cet,   0,1,  Europe/Paris },
-	{ cest,  1,2,  Europe/Paris },
-	{ eet,   0,2,  Europe/Helsinki },
-	{ eest,  1,3,  Europe/Helsinki },
-	{ msk,   0,3,  Europe/Moscow },
-	{ msd,   1,4,  Europe/Moscow },
-	{ gst,   0,4,  Asia/Dubai },
-	{ pkt,   0,5,  Asia/Karachi },
-	{ ist,   0,  5.5,  Asia/Calcutta },
-	{ npt,   0, 5.75,  Asia/Katmandu },
-	{ yekt,  1,6,  Asia/Yekaterinburg },
-	{ novst, 1,7,  Asia/Novosibirsk },
-	{ krat,  0,7,  Asia/Krasnoyarsk },
-	{ krast, 1,8,  Asia/Krasnoyarsk },
-	{ jst,   0,9,  Asia/Tokyo },
-	{ est,   0,   10,  Australia/Melbourne },
-	{ cst,   1, 10.5,  Australia/Adelaide },
-	{ est,   1,   11,  Australia/Melbourne },
-	{ nzst,  0,   12,  Pacific/Auckland },
-	{ nzdt,  1,   13,  Pacific/Auckland },
+	{ sst,   0, -660, Pacific/Apia },
+	{ hst,   0, -600, Pacific/Honolulu },
+	{ akst,  0, -540, America/Anchorage },
+	{ akdt,  1, -480, America/Anchorage },
+	{ pst,   0, -480, America/Los_Angeles },
+	{ pdt,   1, -420, America/Los_Angeles },
+	{ mst,   0, -420, America/Denver },
+	{ mdt,   1, -360, America/Denver },
+	{ cst,   0, -360, America/Chicago },
+	{ cdt,   1, -300, America/Chicago },
+	{ est,   0, -300, America/New_York },
+	{ vet,   0, -270, America/Caracas },
+	{ edt,   1, -240, America/New_York },
+	{ ast,   0, -240, America/Halifax },
+	{ adt,   1, -180, America/Halifax },
+	{ brt,   0, -180, America/Sao_Paulo },
+	{ brst,  1, -120, America/Sao_Paulo },
+	{ azost, 0,  -60, Atlantic/Azores },
+	{ azodt, 1,0, Atlantic/Azores },
+	{ gmt,   0,0, Europe/London },
+	{ bst,   1,   60, Europe/London },
+	{ cet,   0,   60, Europe/Paris },
+	{ cest,  1,  120, Europe/Paris },
+	{ eet,   0,  120, Europe/Helsinki },
+	{ eest,  1,  180, Europe/Helsinki },
+	{ msk,   0,  180, Europe/Moscow },
+	{ msd,   1,  240, Europe/Moscow },
+	{ gst,   0,  240, Asia/Dubai },
+	{ pkt,   0,  300, Asia/Karachi },
+	{ ist,   0,  330, Asia/Kolkata },
+	{ npt,   0,  345, Asia/Katmandu },
+	{ yekt,  1,  360, Asia/Yekaterinburg },
+	{ novst, 1,  420, Asia/Novosibirsk },
+	{ krat,  0,  420, Asia/Krasnoyarsk },
+	{ cst,   0,  480, Asia/Shanghai },
+	{ krast, 1,  480, Asia/Krasnoyarsk },
+	{ jst,   0,  540, Asia/Tokyo },
+	{ est,   0,  600, Australia/Melbourne },
+	{ cst,   1,  630, Australia/Adelaide },
+	{ est,   1,  660, Australia/Melbourne },
+	{ nzst,  0,  720, Pacific/Auckland },
+	{ nzdt,  1,  780, Pacific/Auckland },
Index: ext/date/lib/parse_date.c
===
RCS file: /repository/php-src/ext/date/lib/parse_date.c,v
retrieving revision 1.102
diff -u -p -r1.102 parse_date.c
--- ext/date/lib/parse_date.c	10 Mar 2009 23:39:11 -	1.102
+++ ext/date/lib/parse_date.c	8 May 2009 18:18:32 -
@@ -719,7 +719,7 @@ const static timelib_tz_lookup_table* zo
 	/* Still didn't find anything, let's find the zone solely based on
 	 * offset/isdst then */
 	for (fmp = timelib_timezone_fallbackmap; fmp-name; fmp++) {
-		if ((fmp-gmtoffset * 3600) == gmtoffset  fmp-type == isdst) {
+		if ((fmp-gmtoffset * 60) == gmtoffset  fmp-type == isdst) {
 			return fmp;
 		}
 	}
Index: ext/date/lib/parse_date.re
===
RCS file: /repository/php-src/ext/date/lib/parse_date.re,v
retrieving revision 1.92
diff -u -p -r1.92 parse_date.re
--- ext/date/lib/parse_date.re	18 Dec 2008 14:54:51 -	1.92
+++ ext/date/lib/parse_date.re	8 May 2009 18:18:32 -

Re: [PHP-DEV] Bug 47468: enabling readline/libedit/pcntl/ncurses with --enable-embed

2009-05-08 Thread Jani Taskinen

Arnaud Le Blanc kirjoitti:

On Fri, 2009-05-08 at 16:12 +0100, Paul Biggar wrote:

Hi Arnaud,

Thanks for looking at this.

On Fri, May 8, 2009 at 2:11 PM, Arnaud Le Blanc lbarn...@php.net wrote:

Does the following patch works for you ? (use ./buildconf after
applying, then reconfigure). It does the same thing as yours, but moves
the decision of allowing cli extensions to SAPI's config.m4.

I tested this on CVS 5.3 (with the configure command: ./configure
--with-readline --enable-embed --enable-maintainer-zts
--enable-debug). It applies cleanly, and I checked the readline
symbols were present. I have also forwarded it to two of phc's users
who reported the bug. I expect they'll be back to me within a day or
two, if you prefer to wait for further confirmation.

FWIW, I like the new patch better than my hack. However, I don't
understand the how it works from the comment (that bit of acinclude is
very shoddily documented in general).


The build system allows to build two SAPIs at a time: the CLI and a SAPI
of choice. Some extensions are irrelevant for webserver SAPIs, so they
mark themselves as CLI-only extensions. This allows one to enable these
extensions in the CLI without enabling them in the server SAPI. This
patch allows a SAPI to mark itself as allowing those extensions.


I really need to sleep before I read this again, but with a quick look at the 
patch I couldn't figure what you're fixing and where. :)


PLEASE don't commit this before I can check it out.

--Jani


--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php