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: