Re: Vendor-based customization of Lintian (or profiles)
-----BEGIN PGP SIGNED MESSAGE-----
On 2011-04-19 20:23, Neil Williams wrote:
> On Tue, 19 Apr 2011 20:04:47 +0200
> Niels Thykier <firstname.lastname@example.org> wrote:
A little update on this.
>>> When we agree on (the basis of) an implementation (not necessarily the
>>> one proposed here) I suggest we add it to the Debian wiki under
>>> Lintian/Spec/VendorCustomization (or similar).
>>> This way the specification does not suddenly get lost on the mailing
>>> list and we can easily update it later.
I have created:
> Any patches?
Yes! Check the vendor-profile branch from the Lintian repository.
Caveat 1: All Debian based profiles are currently auto-generated and
said auto-generation is not included in the repository. To generate
them, simply run:
$ debian/rules profiles
It generates a profile based on all the checks in checks/ - If you add a
new check file, you will need to re-run said target - but it is not
needed if you just add a new tag to an existing check.
The ubuntu profile is just a quick sample; if there are any
Lintian-savvy Ubuntu people, feel free to send me a patch for this one.
Caveat 2: The solution and the implementation disagree in some cases -
most likely because I have not implemented the solution properly yet.
>>> * No code changes:
>>> - It must be possible to alter whether Lintian emits a tag
>>> without modifying code.
>>> * Re-usable:
>>> - Most profiles will likely be based on the core profile. New
>>> profiles should be able to "extend" existing profile.
>>> - Extended profile must be able to include tags not originally
>>> in the original profile.
>>> - Extended profile must be able to exclude tags originally in the
>>> original profile.
>>> * A tag not included in the current profile shall not be emitted.
>>> - An override for such a tag is not considered "unneeded" and
>>> must be ignored.
As far as I can tell, all of this works as it should. If you experience
otherwise, do let me know. Exception:
In the absence of the fields Extends, Enable-Tag, Disable-Tag,
Enable-Check and Disable-Check, the profile shall simply include all
checks/tags known to it.
This does not hold yet, so a minimal profile currently implies no
> I think there should be support for dpkg-vendor in this situation. If
> DEB_VENDOR is defined, lintian can look for that profile. Emdebian has
> been doing this for some time with emvendor but not (yet) with
> IMHO DEB_VENDOR is a better fit.
Lintian will check DEB_VENDOR in the branch, however DEB_VENDOR is only
used if --profile is not used and LINTIAN_PROFILE is not set as an
environment variable or from the config file.
It is possible this order will change later.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
-----END PGP SIGNATURE-----