Debian PHP Packaging
Description of the project: PHP Packaging in Debian is far from perfect and there are several areas that needs improvement related to packaging core PHP interpreter, extensions and PEAR packages.versions; b)
Confirmed Mentor: Ondrej Sury
How to contact the mentor: ondrej@sury.org, I would insist on regular 1:1 meetings (over videoconferencing software)
Confirmed co-mentors:
Deliverables of the project: Improve a Debian PHP ecosystem packaging tools
Desirable skills: Debian, Debian packaging, make (debian/rules is a Makefile), shell, automation, CI
What the intern will learn: PHP packaging is a quite complex and yet many people depend on those packages, you will learn how to package a complex programming language with vast ecosystem of extensions and libraries
Application tasks: package an unpackaged PECL extension
Related projects: http://tracker.debian.org/dh-php https://tracker.debian.org/pkg/php-defaults
There are many unpackaged PECL extensions that people regularly use or request to be packaged. The current system uses dh-php that automates many things, but it could be improved even more, so the packaging of a PECL extension is even more straightforward and simple, see debdry, gem2deb, dh-make-perl or pkg-php-tool.
The deliverables for this project would include:
1. packaged and uploaded PECL extensions for PHP 7.x, some examples: psr, zbarcode, mysqlnd-ms, inotify, protobuf, grpc, opencv, swoole, cassandra, vips, yaconf, rar, pinba, and perhaps others; this task might or might not include packaging and maintaining required libraries - some of those are not yet in Debian 2. a tool that would automate packaging a new PECL extension - something like gem2deb (let's call it pecl2deb) that would be able to use pecl command line tool to download the latest extension (stable, beta, etc...) and create basic skeleton for debian package 3. updated dh-php that would automatically extract upstream fields like description from the packages.xml and use those in substvars in the d/control file