Hello PHP SIG,
My name is Otto Urpelainen. I have been contributing to Fedora since the
beginning of 2021, and using Fedora for many years before.
Recently, there was a call for help for reviewing a batch of php
packages on the devel mailing list . This led me to take a look at
php packaging. I have not run into any major issues, but I did what I
always try to do when I start with some thing new: a critical look a the
existing documentation, namely PHP Packaging Guidelines . I will send
a pull request to the Packaging Committee, but since I really am a
newcomer in this field, I tought it is better to open discussion here.
- There are some trivial things, like typos and places where applying
monospace formatting would help.
- In some places, it is said: "do A, or on Fedora >=19 do B". The given
Fedora edition is always something that has reached its end-of-life
already a long time ago. I plan to replace all of these with simply "do B".
- There is one similar place, except it compares RHEL 5 to later
versions. I plan to remove the reference to RHEL 5.
- Wiki still has page Packaging:PHP , which seems to be an older
version of the guidelines. I plan to replace it with a link to the
There is one more field where I would like to see improvement: Test
execution. The two projects I have been looking at this far have both
used a system where the source actually includes tests, but they are
stripped from Git archived through .gitattributes. In case this was not
just a coincidence and such stripping is common for php projects, it
would be great if there was a way to grab those test cases anyhow and
execute them. I have not been able to find a way yet.
I also wonder if something like %py3_check_import  would be useful
for cases where there are no real tests to run? The idea there is to run
a program that imports the library, but does not do anything, just to
catch those cases where the import itself fails, rendering the package
library completely unusable. For compiled languages this is not so
important, since compilation usually fails if things are totally broken.
But for interpreted languages where packaging basically means copying
files around, it is useful to run at least something to catch the most