PHP 5 to PHP 7.0 transition and change of PHP packaging to allow coinstallable versions

To: debian-devel-announce@lists.debian.org

Subject: PHP 5 to PHP 7.0 transition and change of PHP packaging to allow coinstallable versions

From: Ondřej Surý <ondrej@sury.org>

Date: Tue, 12 Jan 2016 14:53:49 +0100

Message-id: <[🔎] 20160112135349.GA7640@lettie.labs.nic.cz>

Reply-to: debian-devel@lists.debian.org, Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org>

Fellow Debian Developers, this is an announce of changes we did in pkg-php packaging group to the PHP packaging. If you are interested in further discussion I recommend joining pkg-php-maint, pkg-php-pecl and/or pkg-php-pear alioth mailing lists where we have discussed the changes in deeper detail. Some of the details were also discussed at DebConf15 PHP BoF, thank you all that has been there listening and providing valuable input. PHP 7.0 has landed in unstable with substantial changes to the packaging: 1. Every package built from src:phpMAJOR.MINOR now include phpMAJOR.MINOR in the name, so f.e. php5-fpm is now php7.0-fpm. 2. Accompanying src:php-defaults builds 1:1 mapping to a default MAJOR.MINOR version, e.g. php-fpm depends on php7.0-fpm. When you specify a dependency, please use the generic name, unless you absolutely know that won't work for you. 3. Every path in the system has been changed to a versioned, e.g. /etc/php5/cli is now /etc/php/7.0/cli 4. dh_php5 is now dh_php 5. php-pear is not built from independent source package. 6. master-7.0 branches of several extensions (php-apcu, xdebug, php-apcu-bc) can be used as a template how to change the PHP extension packaging. It's mostly cut&paste since the d/rules tries to figure-out most of the variables from debian/ directory. 7. pkg-php-tools package is still WIP 8. PHP 7.0 has changed extension API, so most-if-not-all extensions need work from upstream to be compatible with PHP 7.0. 9. We expect to ship next Debian release (stretch) only with PHP 7.0, that means that all packages needs to be made compatible with PHP 7.0. Fortunately the PHP 7.0 is mostly compatible with properly maintained software. However some extensions has been deprecated (f.e. mysql) and thus old unmaintained software will stop working and it will have to be either patched or removed from stable Debian. a. I have managed to make src:php5 coinstallable with src:php7.0, the change was really small and it will be part of next p-u or s-u. This will leave sysadmins the chance to properly migrate their configurations. b. Please test your PHP packages with new PHP 7.0, report the breakages to upstream as soon as possible, so we can make the next Debian stable release even better. We don't expect huge MBF because fortunately most of the packages are maintained withing pkg-php-pecl and pkg-php-pear, so we can fix most of the packages ourselves. Also if you maintain anything PHP related, please make sure you join the alioth lists mentioned at the beginning of the message. And as usual we value any contribution or help that you can provide. Feel free to ping me over email, catch me on IRC (ondrej, I run irssi in tmux, so I'll respond in time), or join the discussion in the public mailing lists (preferred :). Cheers, Ondrej