Coinstallable PHP Versions
Description of the project:
PHP 5.x co-installability is a big task in Debian. All packages would have to be renamed from php5 to php5.x, all conflicting binaries would have to be renamed and an /etc/alternatives/ system would have to be used to select the default PHP version. But that's the smaller part - the supporting infrastructure (namely dh_php5 and php5-maintscript-helper) would have to be modified to support multiple PHPAPI versions to allow compiling all external (and internal) PHP modules for all supported PHP versions.
Confirmed Mentor: Ondřej Surý
How to contact the mentor: ondrej@debian.org, IRC: ondrej@i.d.o
Confirmed co-mentors: N/A
Deliverables of the project: Multiple versions (5.5, 5.6, 7) of PHP packaged (compare with python or ruby). Support tools and infrastructure for PECL (and PEAR) modules, and transition of the (PECL) modules to the new infrastructure. Packaging guide for module packagers. Technical documentation for tools (man pages).
Desirable skills: Shell, perl or python (for dh_* modules), Debian packaging.
What the student will learn: Student will gain deeper knowledge in the Debian packaging for languages that have multiple versions (compare with Python). Student will also learn how to interact with multiple maintainers (PECL, PEAR) and how to coordinate transition to a new technology in a diverse environment. Student will also learn how to document his work and how to prepare documentation for people using his project.
Related projects:
dh_php5 - debhelper script to put modules into the right place
php5-maintscript-helper found in php5-common package (look under debian/ to find this script in sources)
pkg-php-tools - debhelper scripts to help with PECL and PEAR modules packaging
Individidual PECL modules and it's maintainer scripts debian/{pre,post}{inst,rm}
python-defaults for an example how to prepare meta packages
Python Modules Packaging for an example on packagers' guide