Sunday, January 22, 2012

R.I.P PHP-5.2

Today, olemarkus finally removed the dev-lang/php-5.2.17 ebuild from the gentoo-x86 tree.

So it's been nearly 5 years since php-5.2.1-r3 got introduced to the main tree. And it comes almost exactly a year after the last release of php-5.2 was announced on Half a decade lifetime is pretty decent for release cycles, ain't it?

But with all the new and shiny features in 5.3 (and 5.4!), there's really nothing bad about letting php-5.2 die.

So by all means: PHP is dead, long live PHP!

P.S.: If you find any zombies, ie packages you want to merge but that require php-5.2 to function, please notify the Gentoo PHP team via our bug tracker or leave a comment here. Thanks a lot!


  1. We're still on PHP 5.2 at work; v5.3 will come with Debian Squeeze. I'm looking ahead to v5.3, so that's what I'm installing now in my own systems, which are Gentoo.

    It's still good to to be able to look to v5.2.17. First, the background: I was the one who found that pecl-ncurses was not in Portage or in an overlay, so, finding that the ebuild in the bug report did not work, I muddled through making an ebuild that worked.and posted that to the bugzilla. You then graciously cleaned it up and put it into Portage. Wow! My first ebuild--even if it needed cleanup--into the Portage tree in only a day! Thank you!

    Now the reference to PHP 5.2. I found a regression in the PECL package: the constant NCURSES_KEY_HOME was not defined. I looked to the upstream PECL sources and found that they based their ncurses 1.0.0 package on an old, old PHP source tree. The oldest PHP tarball I have is for v5.1.4. The .c and .h files in the PECL ncurses package are unchanged from that PHP version but differ even as early as v5.2.5. The package advanced since then. Sure enough, PHP 5.2.17 includes the missing constant.

    I made a patch and modified the ebuild to apply it. This fixed the problem.

    I filed a bug with PECL (#60853) and I'll wait to see what happens. I'm hoping they'll apply the patch soon and release it so that we can use the unpatched version in Gentoo. If it doesn't happen soon, I'll have to work with you to get at the right way to have an ebuild that applies the patch.

    In any event, this would have been a lot harder to spot without having reference to PHP 5.2.17. I'm not advocating keeping it in Portage, but I do note it is not completely useless to have for reference.

    1. Sorry, I'm kinda late with that reply.

      Yes, having those historical sources available is nice. But we had this in #gentoo-php lately: has more than we could ever provide if you're after code references.

      Now, installing and running this stuff - I'd rather not encourage that ;)