Checklist for packaging Python modules

  1. Check there are no git submodules
  2. Compare github and pypi release, use github if it is the only one with tests.
  3. Create package on salsa: https://salsa.debian.org/python-team/modules/
  4. Add debian/copyright
  5. debhelper 11 in debian/control and debian/compat
  6. Update Standards-Version.
  7. Run wrap-and-sort
  8. Write a package description
  9. Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
  10. Uploaders: Edward Betts <edward@4angle.com>
  11. Don't bother with a package for Python 2, just do Python 3
  12. Check debian/watch uses https
  13. Run uscan --no-download --verbose to check debian/watch is correct
  14. Package should contain debian/gbp.conf
  15. Python packages use debian/master, so need to git branch -d master
  16. git remote add origin git@salsa.debian.org:python-team/modules/$PACKAGE.git
  17. Include Vcs-Browser and Vcs-Git fields in debian/control
  18. pytest coverage can be disabled by adding:
    • export PYTEST_ADDOPTS=--no-cov
  19. Documentation package requirements:
    • dh $@ --with python3,sphinxdoc --buildsystem=pybuild
    • add override_dh_auto_build to call sphinx-build
    • add override_dh_installdocs with:
      • dh_installdocs --doc-main-package=python3-$PACKAGE -p python-$PACKAGE-doc
      • dh_installdocs -p python3-$PACKAGE
    • add a python-$PACKAGE-doc.docs FILE
  20. Add python-transliterate-doc.docs to debian
  21. Run autopkgtest $CHANGES_FILE -- schroot sid-amd64-sbuild
  22. File ITP, including:
    • I plan to maintain this package as part of the python modules team.
    • -b -H 'X-Debbugs-CC: debian-python@lists.debian.org'
  23. Include ITP bug number in debian/changelog
  24. Build package using sbuild
  25. debsign
  26. dput
  27. Wait for package to be accepted.
  28. gbp buildpackage --git-tag-only --git-sign-tags
  29. git push --tags