NOTE: See the draft team policy.
- Use
phpunit --do-not-cache-result
to avoid autopkgtest trying to write a cache file.- Typically, don't use needs-root for autopkgtest.
- autopkgtest should test installed files.
- Check if test inputs are free materials.
- If the package depends on other PHP libraries, autoload.php should load the dependencies.
- autoload.php should also load additional php files documented in composer.json.
- Refer to autoload.php in
debian/autoloaders/<package>
.
- Clean up any autoload file, phpunit result cache, or vendor directory created for tests.
- Use d/clean instead of overriding dh_clean.
- If possible, use upstream test suite for both build tests and autopkgtests.
- If adding a php script, use
#!/usr/bin/php
instead of#!/usr/bin/env php
. - If both tests and autopkgtests use an autoload template file, try to re-use the same template file if possible.
- Use
gbp import-orig --uscan --upstream-vcs-tag=...
to get the correct upstream branch, and to build the Debian packaging on top of the upstream repository. - Sign your tags.
- Propose any patches to upstream, if appropriate.
- Add d/gbp.conf when using a non-default gbp scheme.
- If running a php script in autopkgtests, add php-cli to Depends in d/tests/control.
- If there is no upstream release, consider
0~~<commit_date>
for the upstream version. - Install upstream README by listing it in d/docs.
- Use Salsa CI pipeline.
- Check that install path matches namespace in composer.json.
- List example files in debian/examples.
- Search for any files with different license/copyright:
git grep -i '\(licen\|copy\)'
- Generally, the source package name and binary package name should match.
- Add a '/' at end for directories (or symlinks to directories) listed in d/clean.
- Test with
./debian/rules clean
.
- Test with
- Patch example scripts to find the installed autoloader.
- Watch out for newline added at end of patched files. Some editors add this automatically.
- Packages can provide overrides for Composer package names in
debian/overrides/<package>
. - Install autoloaders and overrides into
usr/share/pkg-php-tools
.
This work is licensed under a Creative Commons Attribution 4.0 International License.