Debian PHP Group

Debian

Contact Information:

We use:
http://alioth.debian.org/projects/pkg-php/
for group management, and Git and this webspace.
our git repository (gitweb and search for pkg-php)
for storing of and working on our packages
Note: Debian Developers can use the group's repository for working on their PEAR modules packages, getting many co-maintainers for free. If you have many of those, consider joining the group.
http://bugs.debian.org/
for bugtracking of PHP itself
http://bugs.debian.org/
for bugtracking PEAR modules
pkg-php-maint@lists.alioth.debian.org (only PHP interpreter itself) and pkg-php-pear@lists.alioth.debian.org (PEAR and PECL modules)
for internal communication as well as the contact place for others, and for receiving bug reports;
mailing list subscription and archives are on https://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-php-maint and https://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-php-pear

Note on packaging PEAR modules

Git branches naming

All PEAR packages should be using Git for the packaging and pkg-php-tools (meaining also that it would use dh >= 7 sequencer). Please avoid any other packaging technique so that we have a bit of consistency in the Debian archive. Please also respect the following scheme for the branches:
debian-sid
Branch containing your debian folder, and where you merge from the upstream-sid branch upstream code
upstream-sid
The extracted tarball from upstream should go here
Later on, each time you need to work on the SID branch, please make sure that you have merged your previous work into the following branches:
debian-wheezy
upstream-wheezy
debian-squeeze
upstream-squeeze
There is no need to create *-wheezy or *-squeeze unless your package reached these distributions, but once it is there, please make sure you do the merge before modifying your sid branches.

debian/gbp.conf

In order to make it easy for others to build using your Git repository, pleaes add a debian/gbp.conf file in your debian-* branches as below:
[DEFAULT]
upstream-branch = upstream-sid
debian-branch = debian-sid

[git-buildpackage]
export-dir = ../build-area/

I've been once asked why we explicitely define the build-area. Well, it's mainly because there's lots of newbies that come and go, and this help them.

Uploading your Git repository to share with others

Every PEAR package Git repository should then be uploaded to: /git/pkg-php on vasks (eg: git.debian.org). Make sure you edit the description and that your upload rights are correct (eg, with enough Unix rights so that others in the pkg-php group can also write in the repository). If you wish, you can use this shell script for your Git repository uploads. It will take care of fixing the Unix rights (eg: chmod g+x on folders, chmod g+w on all files and folder), and will call "git config core.sharedRepository group" for you. To use it, simply go inside your local Git repository (on the toplevel folder) an do:
alioth-new-git pkg-php
For non-DD, edit your ~/.ssh/config:
Host alioth.debian.org svn.debian.org git.debian.org vasks.debian.org
User alioth-username

Using pkg-php-tools

As much as possible, please use pkg-php-tools and the dh >= 7 sequenser. Today, this mean that we recommend to use debhelper >= 9 (if a newer version of debhelper exist when you read this, probably you should use it). This is done by having a Build-Depends: on pkg-php-tools, then your debian/rules should look like this:
#!/usr/bin/make -f

%:
        dh $@ --buildsystem=phppear --with phppear
Internaly, dh >= 7 will call dh_phppear. Please also read the man page for dh_phppear, it contains information on what to put in your debian/control. Note that you should always check the resulting pacakge descrptions and dependencies, as often, the package.xml is wrong or at least not adapted to Debian.

Using debpear

Since June 2012, Debian has a convenient package called "debpear". This small shell script is a nice helper which will convert a PEAR package into a Debian package. If you are packaging a module comming from pear.php.net, then it is a good idea to use debpear as a starting point for your packaging. Though, remember that this will *not* be enough, and that you need to check everything in the resulting package, especially the debian/copyright file.

Packaging PEAR packages comming from different channels

If your PEAR package isn't comming from pear.php.net or pecl.php.net but from another PEAR channel, then you should continue using pkg-php-tools.
Examples of such channel PEAR repositories:
You should first create the channel package (named pear-<project>-channel) using pkg-php-tools. This package consists of the channel file that could be downloaded from the channel site (for example: wget http://pear.phpunit.de/channel.xml) and a debian/rules file as stated above (read the man page for dh_phppear, it's full of information about it, especially the ${phppear:channel}, ${phppear:Debian-Depends} variables and such). If you want to look into an example of such package, look into the pear-horde-channel source package (you will see: it really simple to do, basically, use pkg-php-tools, drop the channel.xml as upstream source file, and that's it).

Your package should then build-depends on the newly pear-<project>-channel package.

Once done

Once your PEAR package is in the Git, please write about it in the pkg-php-pear list and we will be very happy to sponsor your upload if you need it. Considering the huge amount of PEAR packages we maintain, help on existing PEAR modules would also be highly appreciated.

Team work inside the PEAR team

It is generally accepted that anyone from the team can work on any PEAR package (when asked, I never saw anyone doing a strong resistance for progress). However, writing about your intention to the list doesn't hurt: please do so, and discover that we're a nice and helpful team! :)