# Port Submission Checklist

When something is almost done, I tend to skip steps in the QA phase. So
this is a personal checklist to help me focus and not skip steps.

  00. Set up the _pbuild user and work with PORTS_PRIVSEP=yes.

Existing Port Update Checklist:

  1. Execute portcheck
  2. Execute make port-lib-depends-check
  3. Execute make update-plist
  4. Execute make update-patches
  5. Check if shared libraries need bumping
  6. Execute make test
  7. Document (new) patches
  8. Check REVISION (remove on upstream update)
  9. Test the software
 10. Really, test the thing!
 11. Review the created patches for unnecessary cruft

New Port Checklist:

  1. Execute portcheck -N
  2. Execute make port-lib-depends-check
  3. Remove -g CFLAG if present
  4. Add a test target if possible
  5. Document patches
  6. Execute make plist
  7. Make sure files are installed to the correct path
  8. Check for shared libraries and record them
  9. Execute make test
 10. Test on a bare test machine to catch all dependency issues
 11. Test the software
 12. Really, test the thing!
 13. Review the created patches for unnecessary cruft

When submitting a patch to the mailing list:

  1. The patch goes inline (new ports and huge diffs go as tarball)
  2. Don't mess up tabs
  3. Mention upstream changes (or link to changelog)
  4. Mention port changes
  5. Mention carried out tests (and result)
  6. Mention tested architectures

Carry out all steps with full concentration. Don't assume steps could be
skipped, just because it worked in the last version.

When creating patches, create fixes that can be upstreamed (and do so)
if possible.
