php5universe

Summary

Debian provides a source package called php5 which includes, among others, three binary packages: php5-imap, php5-interbase and php5-mcrypt. They are non provided in Ubuntu's php5 since they build-depend on packages which lie in Universe component (libc-client-dev, firebird2-dev and libmcrypt-dev respectively), while php5 lies in Main component.

Rationale

There are several packages which depend on those packages and can not be installed. Here they are:

  • Unmetdeps for php5-imap
    • phpgroupware
    • egroupware-felamimail
    • twig
    • gosa
    • imp4
  • Unmetdeps for php5-interbase
    • ibwebadmin
  • Unmetdeps for php5-mcrypt
    • phpmyadmin

Ubuntu changelog states separate php-{imap,interbase,mcrypt} are present into archives:

   - debian/control, debian/rules: Disable a few build dependencies and
     accompanying binary packages which we do not want to support in main:
     + firebird2-dev/php5-interbase (we have a separate php-interbase source)
     + libc-client-dev/php5-imap (we have a separate php-imap source)
     + libmcrypt-dev/php5-mcrypt (separate php-mcrypt source)

but a quick look at http://people.ubuntu.com/~ubuntu-archive/removals.txt shows that:

=========================================================================
=========================================================================
[Date: Mon, 27 Nov 2006 14:47:44 +0000] [ftpmaster: Launchpad Archive Manager]
Removed the following packages from feisty:

php-interbase |    5.1.2-1 | source
php4-interbase |  4:5.1.2-1 | amd64, i386
php5-interbase |    5.1.2-1 | amd64, i386

------------------- Reason -------------------
(From Debian) [auto-cruft] obsolete source package

----------------------------------------------
=========================================================================
=========================================================================
[Date: Fri, 27 Apr 2007 14:17:49 +0100] [ftpmaster: Launchpad Archive Manager]
Removed the following packages from gutsy:

  php-imap | 5.1.2-1ubuntu1 | source
 php5-imap |    5.1.2-1 | hppa
 php5-imap | 5.1.2-1ubuntu1 | amd64, i386, ia64, powerpc, sparc

------------------- Reason -------------------
(From Debian) [auto-cruft] obsolete source package

----------------------------------------------
=========================================================================
=========================================================================
[Date: Fri, 27 Apr 2007 14:18:00 +0100] [ftpmaster: Launchpad Archive Manager]
Removed the following packages from gutsy:

php-mcrypt | 5.1.2-1ubuntu1 | source
php5-mcrypt |    5.1.2-1 | hppa
php5-mcrypt | 5.1.2-1ubuntu1 | amd64, i386, ia64, powerpc, sparc

------------------- Reason -------------------
(From Debian) [auto-cruft] obsolete source package

----------------------------------------------
=========================================================================
=========================================================================

As you can see, these packages never reached Gutsy.

Use cases

  • Martin is an Ubuntu user which does use phpmyadmin to manage his databases on an AMD64 platform. He is unable to use it without php5-mcrypt due to bug #114044.

  • Andrew is an Ubuntu user. He uses phpgroupware to manage his activities and he is unable to run it anymore.

Scope

This specification is meant to provide php5-imap, php5-interbase and php5-mcrypt packages in Gutsy and keep them up-to-date with php5 source package in order to avoid versioning conflicts and compatibility issues.

Design

We should provide those packages using a single source package (named php5-universe, for instance) which groups these three binary packages. This way it is sufficient to upload only a source package when there is need to instead of having multiple uploads.

In order to keep it synced as much as possible with upstream source package, we should define a strategy which can easily merge changes in.

Implementation

We have ready for test and revision, the first version of php5-universe sources: http://revu.tauware.de/details.py?upid=5701

To keep php5-universe up-to-date, we could create a new Launchpad team whose members have upload rights to a bzr branch which contains the files needed. When a new version of php5 is released, we can merge it with our branch, purge unneeded files and release a updated package. This should be done in a few days after a php5 release.

BoF agenda and discussion


CategorySpec

php5universe (last edited 2008-08-06 16:41:19 by localhost)