[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bits from the Lintian maintainers



General Status
==============

Lintian has been under fairly active development for the past couple of
years.  We've been averaging a "large" release closing a double-digit
number of bugs every couple of months or so, usually followed by a few
quick bug fix releases in new checks.  There have been 18 Lintian releases
since the etch release.  Lintian currently has 674 different tags, up from
the 500 milestone about four years ago despite consolidation of
closely-related tags.

We have also made extensive progress on false positives.  One notable
metric of that improvement are the 359 packages in the archive with a
total of 1912 Lintian overrides which are no longer necessary [1].

We've fairly consistently closed all bugs with severity above wishlist at
each release and kept the total bug count under 100 (including long-term
wontfix bugs), but with current resources haven't been able to reduce the
bug count below that point.  The graph of bug count against the lintian
package [2] has a consistent sawtooth pattern.

lintian.debian.org Improvements
===============================

The code that generates lintian.debian.org underwent a complete overhaul
recently.  It's now more flexible and maintainable and has a variety of
new features.  Every package maintainer now has two pages on
lintian.debian.org, one that lists the standard error and warning tags for
one's packages and one that lists all tags, including info tags and
overridden tags.  Both are linked to each other so that you can see the
view that you want.  Currently, the full view is available as:

    http://lintian.debian.org/reports/full/<email>.html

where <email> is the maintainer's e-mail address.  Don't count on this URL
staying the same, however; we may eventually fold this back into the
regular maintainer page using fancier web features to show or hide the
additional tags on request.

Both the regular and the full maintainer pages now show all packages for
which one is an uploader as well as the packages for which one is a
maintainer.

The tags overview [3] now shows info tags as well and includes a count of
overrides for a particular tag (very useful for finding tags with false
positive problems, among other things).

The URLs for pages for individual tags have changed.  They are now at:

    http://lintian.debian.org/reports/tags/<tag>.html

Redirects are in place (and will remain in place indefinitely) for the old
T<tag>.html URLs.

Finally, the page generation code now uses external templates for all of
the generated pages (using Text::Template), and while the templates aren't
as independent of the code as one might ideally want, this should make it
easier to change the look of the lintian.debian.org pages.  See below on
how you can help.

Help Wanted!
============

With our current resources, we can stay on top of the Lintian bug queue
but not do much more than that.  There are several significant structural
changes that I'd like to make to Lintian, but I have little time to work
on them after keeping up with current bugs:

* Provide a way to more clearly indicate Lintian's certainty, the severity
  of the problem, and the source of the rule that Lintian is checking,
  rather than always collapsing that information into a simple three-level
  error/warning/info hierarchy.  This would allow users to, for example,
  see only the tags where Lintian is certain there is a problem, or easily
  ignore tags for aesthetic issues that aren't violations of technical
  requirements.  This sort of additional granularity is a necessary
  prerequisite for running Lintian on all uploaded packages and rejecting
  on serious Lintian errors, something that's been oft-proposed.

* Better information retrieval, and caching, of lab information during
  checks.  Right now, all of Lintian's check scripts repeatedly open and
  reopen files in the laboratory and reparse data in each check script.
  Instead, that data could be loaded on demand and then cached in case
  another check script needed it.

Those are only a couple of examples of improvements that could be made
with more resources helping keep up with the bug list and helping resolve
wishlist bugs.  There are also several tasks that we're unlikely to get to
soon with current resources but which would be very useful, such as
rewriting the Lintian manual and improving documentation of what data is
extracted into the Lintian laboratory.

I've created a wiki page for the Lintian team at:

    http://wiki.debian.org/Teams/Lintian

This will hopefully provide a useful starting point and collection of the
needed contact and infrastructure information for people who are
interested in helping.  Listed on that page are several easy projects that
anyone with a basic knowledge of Perl or POD could do.  Please jump in, or
ask if you need help getting oriented!  I can say from personal experience
that Lintian is an easy and very rewarding way to help Debian as a whole.

In larger tasks, we're also specifically looking for someone with HTML
design skills to go through the lintian.debian.org templates and page
generation code and make the pages attractive and Debian-themed as well as
functional, and for someone with DocBook experience to rewrite the Lintian
manual (currently in DebianDoc), which needs significant updates.

Footnotes
=========

[1] http://lintian.debian.org/reports/tags/unused-override.html
[2] http://people.debian.org/~glandium/bts/l/lintian.png
[3] http://lintian.debian.org/reports/tags.html

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>

Attachment: pgpj0WobjPF1i.pgp
Description: PGP signature


Reply to: