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:

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

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)