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

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



-----BEGIN PGP SIGNED MESSAGE-----
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:
http://wiki.debian.org/Lintian/Spec/VendorCustomization

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

iQIcBAEBCAAGBQJNs/JxAAoJEAVLu599gGRCCtEP/1JBsGmLWEqVQN8RBArLafUV
i+LCAUULM0vi6xzoHtVMpzqE+VRxinM7+3vEBJz2napP9EvJhdSl2iJO4XFXtA/W
gHhAYejZ0tZULfaCufcXbWy6Om9ZZBCJzZeBBKukSIonrE1RKQla1FLQR4NW7XzA
HGxep2sOXZkv0crleBAqnA1FyQouqnItIcFtUOjcFMCUaVgQso+nM7WF7EsspEIv
Quzzw5x6hqKkX0eitusAFDs+I2CiLyixR7uRTCEQbgDiJpjTQZkYTLdkoF6SMUbc
nnIbAvl9WIh5qC9CdI7ppCSgxtKqJtJtkKe1R0Ea3qHW4syC03IYzTlZhEico2Cv
1+uk7sGHe7NC4Xs3rqsWfbjc9OjsHdLoVfE+3Dac66ihXOpytiMp9YU3uyzZGRQf
siY3IheS4oa/Lhxuz3oRK7r3J2Xfo2ATaiFBBae/cxY5qM+BBW8MOrieOX0oQ2eu
X5zffQtSDOO2el6kdM9rL5yjSRSz55WRJ4PANm/axe9YyIA/UbIDe3/Pjwh9Jsgu
B9XSS0iHv970+eNvs5PWBsxRdGp03sEHvqsB042HIkCVGLzgNnJOhrylnniXxEQf
0p88HV/340JcDUo6XC59HhtSwbh+EqpP4HSzmWR+9lUhCVZWkwNO+Az+zJnlmolj
gIRcuyYprisZJjKUdf5Y
=5nIZ
-----END PGP SIGNATURE-----


Reply to: