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

Re: Vendor-based customization of Lintian (or profiles)

Hash: SHA256

On 2011-04-19 20:23, Neil Williams wrote:
> On Tue, 19 Apr 2011 20:04:47 +0200
> Niels Thykier <niels@thykier.net> wrote:

Hi again,

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.

>>> [Needed]
>>>  * 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
tags/checks enabled.

> 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
> lintian.
> [...]
> 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.
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/


Reply to: