Lintian 2.5.0 – Overrides and other changes

In the new version of Lintian there has been some more changes to overrides as well as a couple of new changes.

First of, we fixed a false-positive with the embedded-library tag. Lintian would incorrectly use the source-field of a binary package, when figuring out if a package was the “real library” and not an offender embedding the library. However, this field is allowed to contain the version of the source package (if you remember Policy 5.6.1) and Lintian did not correctly cope with that.

Speaking of embedded libraries, we have accepted a (series of) patch(es) from Marcelo Jorge Vieira to detect a number of embedded versions of the jQuery javascript library (libjs-query-*).

Antonio Terceiro also gave a couple of patches two make Lintian more accurate with the recent changes for Ruby packages. Furthermore we also added a new experimental tag to catch duplicate files in /usr/share/doc.

Lintian 2.5.0 also modifies the syntax and semantics of the overrides file. In 2.5.0 and newer all “*” after the tag name are wildcards; previously they only acted as wildcards in the beginning or the end of text after the tag.

The “Multi-Arch”-aware reader might have noticed that this is not enough for packages marked “Multi-Arch: same”. Some packages might emit different tags on different architectures and all files in the package (incl. the override file) must be byte-for-byte identical if the path is the same on all architectures.

Andreas Beckmann proposed a solution that we have accepted, namely architecture dependent overrides. With 2.5.0 and newer you can specify that a certain override is only for certain architecture. The parser is currently somewhat naive and forgiving, so it does not support architecture wildcards and it will not check that the architectures are valid. Now you get to do overrides like this:

# We like our code without pic on x86, thank you
[i386]: shlib-with-non-pic-code

If you had not guessed it, we use the same format as is used in the Build-Depends field (except for the lack of wildcard support). So you should be familiar with it. 🙂

Note that the syntax of the overrides should be backwards compatible, so unlike the 2.5.0~rc1 upload, your overrides should still work!

A little heads up for people going to DebConf11: We will do a Lintian BoF again this year, yay!

This entry was posted in Debian, Lintian. Bookmark the permalink.

5 Responses to Lintian 2.5.0 – Overrides and other changes

  1. Nelson says:

    “2.5.3~rc1 upload”? 🙂

  2. Philipp Kern says:

    Using Dpkg::Arch wildcards should be easy.

    • Certainly, but it implies that the FTP-masters and DSA are willing to use a backported dpkg just for Lintian on the Debian machines.

      I am not certain here, but I think this is one of the reasons why we do not use dpkg-architecture/Dpkg::Arch in Lintian already.

      • Philipp Kern says:

        Well, ftp-master is running on Squeeze, so that shouldn’t be a problem, no?

        (Unless the API changed yet again in unstable or something…)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.