Current Status ============== Since the lenny freeze began, we've been working on incorporating major changes in preparation for squeeze, including (as previously announced) merging the Google Summer of Code work done by Jordà Polo for finer-grained tag classification. Through the last couple of months, we maintained a schedule of a release each Saturday. The goal was to improve Lintian as much as possible in preparation for the beginning of active development for squeeze. Now that the release freeze is over, lots of maintainers will be uploading new versions of their packages, which is a great opportunity to clean up those hidden or niggling packaging issues that weren't appropriate for freeze uploads.
Now that the release has finished, my expectation is that we'll drop down to a release every two weeks (as long as the development speed warrants it) to give Lintian time to migrate into testing. To give an idea of how much has been added, the version of Lintian included in etch (1.23.28) contained 555 tags. Debian lenny shipped with 1.24.2.1, which has 712 tags. The current version of Lintian in unstable (2.2.5) has 787 tags. Pedantic Support ================ Lintian 2.2.0 adds support for pedantic tags, contributed by Raphael Geissert. This is a new level of tag severity below the existing info level, corresponding to "problems" that would never warrant a bug report and which may be a matter of opinion or very likely to be inaccurate. This new tag level will let us implement some picky checks that have been frequently requested, but which some maintainers may disagree with. It's up to each maintainer whether to use --pedantic at all. It's Lintian at its pickiest. The tags won't be in the default lintian.debian.org view (right now, they're not there at all, but we may add a view of them). If you do use --pedantic, please don't worry too much about making your package pedantic-clean unless the tags really seem like a good idea. Also, as noted in the man page, adding overrides for pedantic tags is probably not worth the effort. You should look over the report and apply human judgement. We think the best approach to take with --pedantic is to try using it with your packages occasionally and see if it's useful. Using --pedantic can be an occasional thing, such as whenever you bump Standards-Version, rather than a standard part of your pre-upload routine. This mode can also be particularly useful for sponsors who want to be alerted to possible issues but can decide for themselves which ones to mention to the package maintainer. New lintian.debian.org Tag View =============================== Lintian 2.2.0 also added a new tag view on lintian.debian.org that's sorted by tag severity and certainty. This view is at: http://lintian.debian.org/tags-severity.html This provides another view on possible archive-wide problems. It will also provide Lintian contributors with a useful summary of the current severity and certainty of existing tags, which will help in finding and fixing tags that don't have the correct severity or certainty. (For example, tags that are severity: certain but frequently overridden may either not be certain or may have problems thst should be fixed.) Lintian Reference Data ====================== All of the data that Lintian uses for its checks used to be included in the Perl code or in some helper modules. Starting with Lintian 1.23.46, we introduced the Lintian::Data module to load that information from separate files. Pulling it out of the code into easy-to-edit text files helped keep the code cleaner and also made it easier to update the data. Recently, Raphael Geissert and Niko Tyni have contributed update scripts for some types of data that scan the current archive or current packages as appropriate. This lets the Lintian maintainers periodically update this data and be sure that it's accurate without needing bug reports or monitoring of the archive. Examples of data that is now managed this way are Perl modules and their versions provided by the perl-modules package, packages that contain dh_* commands for debhelper, debhelper scripts that modify maintainer scripts or may add information to ${misc:Depends}, and font files already found in Debian font packages. Improved Test Suite =================== Frank Lichtenheld started work on a new Lintian test suite driver in version 1.24.3, intended as a long-term replacement for the existing Lintian test suite. Improvements included the use of templates for test packages using debhelper 7 to provide a clean basis on which test cases can be built, better test metadata, and much better mechanisms for creating non-native test packages. Over the last few releases, various people have contributed improvements. The new test suite driver now supports building and testing "raw" Debian packages constructed with dpkg-deb or even directly with ar (allowing us to test Lintian robustness with packages that dpkg-buildpackage wouldn't allow) and hand-written *.changes files. It also now has support for running Lintian with particular options, selecting from multiple test templates, and 80 separate tests. In future releases, we will be adding support for Test::Harness-style test scripts for unit testing of Lintian internals and tests for "raw" source packages akin to the raw Debian binary packages. Over time, as people find time to write new-style tests to check for the tags currently covered only by the old test suite, the new test suite will supersede the old one entirely. Upcoming Work ============= I've been working on Lintian's internal architecture, providing more infrastructure so that the check scripts themselves are simpler, moving Lintian's internal Perl libraries to a better naming scheme, and adding internal POD documentation. Lintian 2.2.1 eliminated two of the old modules, and I hope to move several more in the near future, as well as improving the internal architecture for checking dependency fields. Raphael Geissert has been working on improved infrastructure for source package checks, generating more laboratory information to allow some requested checks to be implemented. The start of that work was included in the last release. He's also working on optimizations, more binary checks, and missing checks from linda and rpmlint. Helping Out =========== More hands are always welcome! Lintian is a nice project to work on when one only has an hour or two, since a lot of the requested checks don't require very much code. Work on the test suite is also much appreciated and doesn't require a large time investment. If you want to help out, take a look at the wiki page at: http://wiki.debian.org/Teams/Lintian We're also looking for someone who would like to tackle converting the Lintian manual to Docbook instead of DebianDoc-SGML and working on updates. There's quite a bit about Lintian that isn't currently documented. If you're interested, let us know. If you have any ideas for new tests that would be helpful to you, please do submit them as wishlist bugs against the lintian package. It's nice to have a large collection of ideas known to be useful to someone to pick From when one has a few hours to work on Lintian. -- Russ Allbery (r...@debian.org) <http://www.eyrie.org/~eagle/>
pgpePSrAo3Rm2.pgp
Description: PGP signature