Lintian is a static analysis tool for Debian packages, reporting on various errors, omissions and quality-assurance issues to the maintainer.
I seem to have found myself hacking on it a bit more recently (see my previous installment). In particular, here's the code of mine — which made for a total of 20 bugs closed — that made it into the recent 2.5.52 release:
New tags
- Check for the presence of an .asc signature in a .changes file if an upstream signing key is present. (#833585, tag)
- Warn when dpkg-statoverride --add is called without a corresponding --list. (#652963, tag)
- Check for years in debian/copyright that are later than the top entry in debian/changelog. (#807461, tag)
- Trigger a warning when DEB_BUILD_OPTIONS is used instead of DEB_BUILD_MAINT_OPTIONS. (#833691, tag)
- Look for "FIXME" and similar placeholders in various files in the debian directory. (#846009, tag)
- Check for useless build-dependencies on dh-autoreconf or autotools-dev under Debhelper compatibility levels 10 or higher. (#844191, tag)
- Emit a warning if GObject Introspection packages are missing dependencies on ${gir:Depends}. (#860801, tag)
- Check packages do not contain upstart configuration under /etc/init. (#825348, tag)
- Emit a classification tag if maintainer scripts such as debian/postinst is an ELF binary. (tag)
- Check for overly-generic manual pages such as README.3pm.gz. (#792846, tag)
- Ensure that (non-ELF) maintainer scripts begin with #!. (#843428, tag)
Regression fixes
- Ensure r-data-without-readme-source checks the source package, not the binary; README.source files are not installed in the latter. (#866322, tag)
- Don't emit source-contains-prebuilt-ms-help-file for files generated by Halibut. (#867673, tag)
- Add .yml to the list of file extensions to avoid false positives when emitting extra-license-file. (#856137, tag)
- Append a regression test for enumerated lists in the "a) b) c) …" style, which would previously trigger a "duplicate word" warning if the following paragraph began with an "a." (#844166, tag)
Documentation updates
- Rename copyright-contains-dh-make-perl-boilerplate to copyright-contains-automatically-extracted-boilerplate as it can be generated by other tools such as dh-make-elpa. (#841832, tag)
- Changes to new-package-should-not-package-python2-module (tag):
- Upgrade from I: to W:. (#829744)
- Clarify wording in description to make the justification clearer.
- Clarify justification in debian-rules-parses-dpkg-parsechangelog. (#865882, tag)
- Expand the rationale for the latest-debian-changelog-entry-without-new-date tag to mention possible implications for reproducible builds. (tag)
- Update the source-contains-prebuilt-ms-help-file description; there exists free software to generate .chm files. (tag)
- Append an example shell snippet to explain how to prevent init.d-script-sourcing-without-test. (tag)
- Add a missing "contains" verb to the description of the debhelper-autoscript-in-maintainer-scripts tag. (tag)
- Consistently use the same "Debian style" RFC822 date format for both "Mirror timestamp" and "Last updated" on the Lintian index page. (#828720)
Misc
- Allow the use of suppress-tags=<tag>[,<tag>[,<tag>]] in ~/.lintianrc. (#764486)
- Improve the support for "3.0 (git)" packages. However, they remain marked as unsupported-source-format as they are not accepted by the Debian archive. (#605999)
- Apply patch from Dylan Aïssi to also check for .RData files (not just .Rdata) when checking for the copyright status of R Project data files. (#868178, tag)
- Match more Lena Söderberg images. (#827941, tag)
- Refactor a hard-coded list of possible upstream key locations to the common/signing-key-filenames Lintian::Data resource.