Perl/CPAN Package Release Checklist

  1. grep -r <year> .
    grep -r <old-ver> .
  2. sed -nr 's/^ *(use|require) +([A-Z][^; ]*).*/\2/p' $(find . -name '*.pm') | sort -u
  3. Describe all changes since last release in CHANGES and debian/changelog:

    svn log -r <old-rev>:HEAD | less
    cvs log -rrel-<old-ver>:: 2>&1 | less

    Commit changelogs to version control system.

  4. perl Build.PL
    ./Build manifest
    ./Build distmeta

    Commit package meta-data files to version control system.

  5. ./Build dist
    ./Build distclean
  6. svn-buildpackage -rfakeroot -uc -us
    dpkg-buildpackage -rfakeroot -us -uc -tc -I.svn
    dpkg-buildpackage -rfakeroot -us -uc -tc -ICVS
  7. lintian -i ../*.changes

    If any problems are found, fix them and start again from step 3.

  8. svn cp . ../tags/<new-ver>; svn ci $_
    cvs tag rel-<new-ver>

Thanks to Julian Mehnle for this list. It is considered by the author to be public domain.