• 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.
  • 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.