Basic checks over Debian packages
by (C) João Eriberto Mota Filho <eriberto (a) eriberto pro br>
Creation date: March 26, 2019.
Last update: see the footer.
- Verify using apt search.
- Verify using wnpp-check.
- Make an ITP.
- Is changelog closing the ITP?
- Is changelog set to experimental?
- Verify if is really orphan.
- Make an ITA.
- Is changelog closing the ITA?
- Is there a maintainer for the package?
- Only essential changes?
- Is changelog closing the bug?
- Is the package orphan?
- Is the "QA upload" set?
- For *-1 revisions, diff between sources (package x upstream).
- NO-GIT: Run debdiff over the last and current .dsc file.
- GIT: git diff from last debian/<revision> tag.
- debian/changelog: were registered all changes shown by debdiff?
- There are previous works in a VCS?
- debian/copyright: all data were updated? (dates, maintainers, etc.). 
- debian/patches/: are all headers complete?
- Is possible to run debuild command twice?
- Is uscan working? (verify com uscan-check)
- Run spell command over debian/changelog and debian/control. 
- Verify the final structure using tree command. 
- Check if some file doesn't have an EOF. (use tail -n1 debian/*)
- If using Salsa, is the CI for Salsa enabled?
- Has a Debian CI test been created?
- Are all CI tests running? Use the autopkgtest.  (not needed if using Salsa)
- There are important files provided by upstream and useful for users not used? (README, TODO, etc.)
 The egrep command can be used to check (in upstream place):
$ egrep -sriA25 '(copyright|public dom)' > /tmp/copy $ egrep '(@|\[)' debian/changelog > /tmp/copy2
 The spell command will search for spelling errors. You can add new words to a personal dictionary at ~/.ispell_default
$ spell debian/changelog | sort -u
 You may use tree over generated structure:
$ tree debian/<package-name>
 To use autopkgtest (in upstream place):
$ autopkgtest . -- null
Checks in tracker
|All checks here are related to https://tracker.debian.org.|
- Verify all itens in action needed.
- Verify the building in buildd. Click over log or exp (experimental).
- Verify all opened bugs (Debian and Ubuntu). Try to solve some bugs and close them in debian/changelog.
- Verify again all files inside debian/ directory.
- Run cowbuilder to test the building in a fresh jail.  (not needed if using Salsa)
- Run debidiff between .deb (old and current). (or use git diff)
- Install and test the final package.
- Update (push) the Git repository (if using Salsa).
- Verify the .changes content before upload to Debian.
 To create cowbuilder (outside the jail):
# cowbuilder create
 To update cowbuilder:
# cowbuilder update
 To use the cowbuilder:
# cowbuilder build /patch/name.dsc