[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



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

Attachment: signature.asc
Description: Digital signature


Reply to: