[pkg-kolab] Bug#821686: Bug#821686: src:libkolab: PHP 7.0 Transition

Ondřej Surý ondrej at debian.org
Fri Apr 29 14:00:11 UTC 2016


Hi Sandro,

I recently rewrote the packaging of external PECL module to a single
makefile snippet[1], but I guess this is probably usable only for pure
PECL modules.

Generally speaking:

echo 'extension=kolab.so' > debian/kolab.ini
echo 'mod debian/kolab.ini' > debian/php-kolab.php

install the kolab.so module to the correct place /usr/lib/php/<phpapi>/

Using /usr/share/php/ for PHP code is fine.

and then have something like this in d/rules:

%:
        dh $@ --with php

override_dh_php:
        dh_php -p php-kolab

and build-depend on dh-php.

I can help you with that if you want after swig supports PHP 7.0, just
ping me.

1. http://anonscm.debian.org/cgit/pkg-php/dh-php.git/tree/pkg-pecl.mk

^^^ This is more complicated than Debian really needs because I need
support for multiple PHP versions as I maintain PHP 5.5, 5.6 and 7.0 in
external-Debian and PPA repositories.

Cheers,
-- 
Ondřej Surý <ondrej at sury.org>
Knot DNS (https://www.knot-dns.cz/) – a high-performance DNS server

On Fri, Apr 29, 2016, at 14:51, Sandro Knauß wrote:
> Control: severity -1 serious
> Control: block -1 by 821687
> 
> Hi Ondřej,
> 
> also libkolab is using swig and it is blocked by libkolabxml. So setting 
> severity to serious, so the swig related packages doesn't block PHP 7.0 
> transition.
> 
> In both packages, all php code is translated via swig.
> 
> what is the correct way to create php modules nowadays?
> 
> debian/rules:
> PHPAPI := $(shell php-config --phpapi)
> [...]
> override_dh_gencontrol:
>         echo "php:Depends=phpapi-${PHPAPI}" >> debian/php-kolab.substvars
>         dh_gencontrol
> [...]
> 
> debian/php-kolab.install:
>     usr/lib/php5/*/kolabcalendaring.php usr/share/php/
>     usr/lib/php5/*/kolabicalendar.php usr/share/php/
>     usr/lib/php5/*/kolabobject.php usr/share/php/
>     usr/lib/php5/*/kolabshared.php usr/share/php/
> 
> I can image that, we should not move the modules to /usr/share/php/
> anymore, 
> to have a clear versionbased path?
> 
> Regards,
> 
> --
> Am Freitag, 29. April 2016, 13:57:02 CEST schrieb Sandro Knauß:
> > Control: block -1 821687
> > 
> > Before adding php7 support to libkolab, we need to fix libkolabxml.
> > --
> > 
> > Am Montag, 18. April 2016, 23:02:28 CEST schrieb Ondřej Surý:
> > > Package: src:libkolab
> > > Severity: important
> > > User: pkg-php-maint at lists.alioth.debian.org
> > > Usertags: php7.0-transition
> > > 
> > > Dear maintainer(s),
> > > 
> > > this bug is a part of ongoing php7.0 transition.  It is filled as
> > > important, but the severity will be bumped to serious within quite short
> > > (~month) timeframe as the transition was announced almost 3 months ago.
> > > 
> > > The libkolab package currently build-depends on php5 php5-cli php5-dev .
> > > 
> > > 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 now supports PHP 7.0 packaging and if your
> > >   
> > >      package uses pkg-php-tools a simple binNMU is all it might need
> > >   
> > >   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.
> > > 
> > > So what you need to do:
> > > 
> > > Replace every occurence of php5 with just php, e.g. if you depend on
> > > 'php5' then you just need to depend on 'php'.  Also if you package a web
> > > application and depend on specific SAPI, I would recommend depending just
> > > on 'php' package and let the user decide whether he will install php-fpm,
> > > libapache2-mod-php or php-cgi.
> > > 
> > > The script that was used to get the list of packages for MBF was not a
> > > particular smart one (so it doesn't detect alternatives, etc.), so if
> > > there's a false positive, please excuse me and just close the bug with
> > > short explanation.
> > > 
> > > The other options that might be used with packages that don't and won't
> > > support PHP 7.0 is to remove the software from Debian by changing the
> > > 
> > > title of this bugreport to:
> > >     RM: libkolab -- ROM; doesn't support PHP 7.0
> > > 
> > > reassigning it to ftp.debian.org pseudo-package and changing severity to
> > > 'normal'.
> > > 
> > > Also feel free to contact the maintainers at one of the lists:
> > > 
> > > pkg-php-pear at lists.alioth.debian.org -- for PEAR related packages
> > > pkg-php-pecl at lists.alioth.debian.org -- for PHP extensions
> > > pkg-php-maint at lists.alioth.debian.org -- main PHP packaging and catch-all
> > > 
> > > Cheers, Ondrej
> > > 
> > > -- System Information:
> > > Debian Release: 8.4
> > > 
> > >   APT prefers stable-updates
> > >   APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500,
> > > 
> > > 'stable') Architecture: amd64 (x86_64)
> > > 
> > > Kernel: Linux 4.2.0-35-generic (SMP w/24 CPU cores)
> > > Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8)
> > > Shell: /bin/sh linked to /bin/dash
> > > Init: systemd (via /run/systemd/system)
> > > 
> > > 
> > > _______________________________________________
> > > pkg-kolab-devel mailing list
> > > pkg-kolab-devel at lists.alioth.debian.org
> > > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-kolab-devel
> 
> Email had 1 attachment:
> + signature.asc
>   1k (application/pgp-signature)



More information about the pkg-kolab-devel mailing list