On Thu, Jan 23, 2014 at 11:16 AM, Pierre Joye <[email protected]> wrote:
> On Thu, Jan 23, 2014 at 7:38 PM, Hannes Magnusson
> <[email protected]> wrote:
>> On Thu, Jan 23, 2014 at 9:52 AM, Anatol Belski <[email protected]> wrote:
>>
>>>> If this patch is included in PHP 5.6 I think it is very likely that many
>>>> extensions will not be updated or take a long while in updating. It's one
>>>> thing to add two or three new ifdefs to support a new PHP release and
>>>> something entirely else to change virtually all types in your code and
>>>> verify that it is still safe with the new sizes.
>>> I think it depends on how active an extension is supported and developed.
>>> For instance on PECL are still some extensions not even been ported to
>>> PHP5. From the todays experience, a port to the current patch might take
>>> from 3 hours to 3 days, depending on complexity. Say 3 days vs 5 months
>>> until final, together with the porting docs and tools, most of the really
>>> active and being in demand extensions will be so far or users will tear
>>> the devs apart :)
>>>
>>
>>
>> If zpp/error_docref/*printf compatibility is not kept it will take a
>> long time to update pecl extensions, and risk epic failure in the
>> future when continuing the work on the extensions
>>
>> zpp (COMPAT ? "zyx" : "xyz", &foo, &bar, &baz) will in
>> 1year turn into
>> zpp (COMPAT ? "zyx|xz" : "xyz|z", &foo, &bar, &baz,
>> &meh) and work
>> just fine.. until you hit the perfect storm
>>
>>
>> Its easy to migrate php-src exts since they don't have to care about
>> compatibility with multiple php versions, but needing to support 5.3,
>> 5.4, 5.5, 5.6, 5.7, 6.0 in a pecl extension will be nightmare
>>
>> Also, keep in mind most developers priority is not to work on
>> supporting unreleased versions of PHP, but to keep maintaining the ext
>> and adding features - so even though the guesstimate 5months "until
>> final" is true, the extensions won't be updated until 5months _after_
>> 5.6.0 is out.
>
> We have ported many extensions (all actively used and maintained) for
> 5.5.0 before it was released. Some bugs appeared when used with 5.5
> and was discovered after final, but that's expected and nothing we can
> do about it but test, test and test :)
Can I see 3 examples of pecl extensions you have ported, out of those
many and actively used, that need to support multiple PHP versions?
It would help to clearly visualize the full workload.
Also, are you planning on doing this migration for all pecl
extensions? If not, then my argument still stands.
Waiiit.. You are talking about 5.5? Not 5.6 with this patch?
Yeah, supporting 5.5 wasn't a major deal. It didn't change zpp or
*printf() arguments.
-Hannes