Re: Status on Lintian 2.5.0~rc3

2011-04-19 Thread Steve Langasek
Hi Niels,

On Sat, Apr 09, 2011 at 02:36:17PM +0200, Niels Thykier wrote:
> I thought I would bring a little update on the progress on Lintian
> 2.5.0~rc3.  I have CC'ed Steve Langasek and Vincent Fourmond because I
> last I heard from you, you were working on patches for bugs I am
> considering for the 2.5.0~rc3 release (and I was not sure if you were
> subscribed).

> Status/summery
> ==
> Since my last update [LU], I have fixed #618587 (armhf support), #621667
> (Add S-V 3.9.2), #621658 (add/use --dump-logs in tests[1]),
> #621681 (disable pkgbinarymangler during tests[2]) and #621667 (add
> spelling mistakes/corrections).  I also fixed the uninitialized variable
> errors mentioned in #621006.
> 
> On my TODO list I still have the merge of infra-513663 into master
> (scheduled for Tuesday), inclusion of more java checks (#600829, waiting
> for tests) and some multi-arch related checks (bug/patch no yet, waiting
> for vorlon). I may also include #620120 (confusion about dash
> essentialness) in 2.5.0~rc3.

Sorry for the delays getting this to you.  The attached patches take care of
the most critical multiarch checks.  Along the way I found that
data/binaries/multiarch was being used to incorrectly suppress warnings
about files forbidden by policy, so the first patch removes this wrong file;
and that data/files/triplets is already used for per-architecture filesystem
paths, so I've updated this to use the final multiarch paths based on
DEB_HOST_MULTIARCH instead of DEB_HOST_GNU_TYPE (second patch).

The third patch in the series adds the new check for multiarch-support, the
one we need in place to make sure developers aren't breaking the world as
they upload libraries.  I strongly believe this should be an archive check,
fwiw.

The fourth patch fixes up the test suite for binaries-multiarch - since
i486-linux-gnu is no longer treated as a multiarch directory (because it
isn't), the test case fails to trigger the error.  We may want an additional
test case later to warn about /usr/lib/i486-linux-gnu in general, but that's
a lower priority.

I'm sorry to say I haven't included a test suite change yet to go with patch
#3.  I'll work on that, but can't promise when I'll have it done.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org
From 0ec0dea6f448387b35b097d91ced04cbda0e266e Mon Sep 17 00:00:00 2001
From: Steve Langasek 
Date: Mon, 18 Apr 2011 01:07:14 -0700
Subject: [PATCH 1/4] Drop wrong checks for multiarch directories

Architecture: all packages and packages of a different architecture are not
allowed to install libraries to the multiarch directories.  Drop these wrong
exclusions.
---
 checks/binaries |   20 
 data/binaries/multiarch |   18 --
 debian/changelog|4 
 3 files changed, 8 insertions(+), 34 deletions(-)
 delete mode 100644 data/binaries/multiarch

diff --git a/checks/binaries b/checks/binaries
index eda994a..626934d 100644
--- a/checks/binaries
+++ b/checks/binaries
@@ -115,8 +115,6 @@ our %EMBEDDED_LIBRARIES = (
 	'libpcap'	=> qr'(?:pcap_activate: The "any" device isn\'t supported|corrupted frame on kernel ring mac offset)',
 );
 
-our $MULTIARCH;
-
 sub run {
 
 my $pkg = shift;
@@ -239,16 +237,9 @@ foreach my $file (@{$info->sorted_file_info}) {
 # binary or object file?
 next unless ($fileinfo =~ m/^[^,]*\bELF\b/) or ($fileinfo =~ m/\bcurrent ar archive\b/);
 
-# Warn about Architecture: all packages that contain shared libraries, but
-# only if those libraries aren't installed in a multiarch directory.  The
-# package may be a support package for cross-compiles.
+# Warn about Architecture: all packages that contain shared libraries.
 if ($arch eq 'all') {
-	my ($arch_path) = ($file =~ m,^(?:usr/)?lib/([^/]+)/,);
-	$MULTIARCH = Lintian::Data->new('binaries/multiarch')
-	unless defined($MULTIARCH);
-	unless ($arch_path and $MULTIARCH->known($arch_path)) {
-	tag 'arch-independent-package-contains-binary-or-object', $file;
-	}
+	tag 'arch-independent-package-contains-binary-or-object', $file;
 }
 
 # ELF?
@@ -263,7 +254,7 @@ foreach my $file (@{$info->sorted_file_info}) {
 }
 
 if ($arch ne 'all' and $fileinfo !~ m/$ARCH_REGEX{$arch}/) {
-	if ($file =~ m,(?:^|/)lib(\d{2})/, or $file =~ m,^emul/ia(\d{2}),) {
+ 	if ($file =~ m,(?:^|/)lib(\d{2})/, or $file =~ m,^emul/ia(\d{2}),) {
 	tag 'binary-from-other-architecture', $file
 		unless ($fileinfo =~ m/$ARCH_REGEX{$1}/);
 	} elsif ($arch eq 'amd64' and $fileinfo =~ m/$ARCH_REGEX{i386}/) {
@@ -273,10 +264,7 @@ foreach my $file (@{$info->sorted_file_info}) {
 	and $file =~ m,^lib/modules/,) {
 	# Allow amd64 kernel modules to be installed on i386.
 	} else {
-	  

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

2011-04-19 Thread Jeremiah C. Foster
On Tue, Apr 19, 2011 at 06:14:25PM +0200, Niels Thykier wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA256
> 
> Hi
> 
> Considering that #513663 will be closed in 2.5.0~rc3, I figured it was
> time to start a new branch. XD

w00t!

>   I was considering to do either Vendor-based customization or support
> third party checks (e.g. Lintian "extra"), as the subject suggests I
> think I will start with Vendor-based Lintian.
>   However if you think third party checks should be given priority, let
> me know - this decision is not set in stone. :)

I strongly feel vendor based customizations should be the Next Big Thing.
I started a fork of lintian in Maemo, called maemian, but it quickly bogged
down due to the complexities you mention in Ubuntu. 

The point is that I think this would be welcome amongst derivatives and 
improve the quality of derivative package and ultimately Debian. 

I'm very glad that you're looking into doing this Niels - thank you. And 
thank you for your work on lintian. To be honest, I've rarely seen more
productive programmers than yourself!

Thanks!

Jeremiah


-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110419210251.GA7526@localhost



Processed: submitter 623390

2011-04-19 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> submitter 623390 vinc4...@gmail.com
Bug #623390 [lintian] lintian: Please add Ruby-Versions to known binary/dsc 
fields
Changed Bug submitter to 'vinc4...@gmail.com' from 'Niels Thykier 
'
> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
623390: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=623390
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems


-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/handler.s.c.130324285120644.transcr...@bugs.debian.org



[SCM] Debian package checker branch, master, updated. 2.5.0-rc2-148-g0cd4f45

2011-04-19 Thread Niels Thykier
The following commit has been merged in the master branch:
commit 0cd4f455b7bfb754f372472b20b94b0c94bbe3da
Author: Niels Thykier 
Date:   Tue Apr 19 22:00:46 2011 +0200

Revert "Added breaks on emdebian-crush and xdeb due to unpack removal"

This reverts commit c577bd2316d6ff16af598ad508998dd1d53571f7.
Per request of Neil Williams for emdebian-crush and also made a
compelling argument for removing it for xdeb.

diff --git a/debian/changelog b/debian/changelog
index 963e384..3012d31 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -90,9 +90,6 @@ lintian (2.5.0~rc3) UNRELEASED; urgency=low
 + [NT] Bumped Standards-Version to 3.9.2.
 + [NT] Updated Build-Depends for debiandoc -> docbook change of
   the manual.
-+ [NT] Added a breaks on emdebian-crush and xdeb, since their
-  checks will most likely not work without bumping their
-  Needs-Info for the checks.
   * debian/{docs,rules}:
 + [NT] Updated to use/install docbook instead of debiandoc.
 
diff --git a/debian/control b/debian/control
index a83d2d4..5bd9be0 100644
--- a/debian/control
+++ b/debian/control
@@ -71,7 +71,6 @@ Depends: ${misc:Depends},
  perl,
  unzip
 Suggests: binutils-multiarch, libtext-template-perl, man-db (>= 2.5.1-1)
-Breaks: emdebian-crush (<= 2.2.15), xdeb (<= 0.6.4)
 Description: Debian package checker
  Lintian dissects Debian packages and reports bugs and policy
  violations. It contains automated checks for many aspects of Debian

-- 
Debian package checker


-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1qch90-0008fi...@alioth.debian.org



[SCM] Debian package checker branch, master, updated. 2.5.0-rc2-148-g0cd4f45

2011-04-19 Thread Niels Thykier
The following commit has been merged in the master branch:
commit ab6c18ad620ad9c8f6129d603a5c89556f8b827d
Author: Niels Thykier 
Date:   Tue Apr 19 22:00:18 2011 +0200

Revert "Revert "Fixed test failure with d/changelog""

This reverts commit 5179c8040fca90825dd9397ce201a524cbd5b3d9.

Reverted the wrong commit

diff --git a/debian/changelog b/debian/changelog
index 9a605ba..963e384 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -39,7 +39,7 @@ lintian (2.5.0~rc3) UNRELEASED; urgency=low
 + [NT] Added dir-or-file-in-run tag.  (Closes: #623031)
   * checks/java{,.desc}:
 + [NT] Added file based on patches submitted by Vicent Fourmond.
-  - This new file checks for jar files in weird locations.
+  This new file checks for jar files in weird locations.
   (Closes: #620829, #575447)
   * checks/manpages:
 + [NT] Fixed false-positive binary-without-manpage when the

-- 
Debian package checker


-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1qch8z-0008ds...@alioth.debian.org



[SCM] Debian package checker branch, master, updated. 2.5.0-rc2-146-g5179c80

2011-04-19 Thread Niels Thykier
The following commit has been merged in the master branch:
commit 5179c8040fca90825dd9397ce201a524cbd5b3d9
Author: Niels Thykier 
Date:   Tue Apr 19 21:57:51 2011 +0200

Revert "Fixed test failure with d/changelog"

This reverts commit 7e3e4fafa130ee7ea0c1445491aedf21c935a9e7.
Per request of Neil Williams for emdebian-crush and also made a
compelling argument for removing it for xdeb.

diff --git a/debian/changelog b/debian/changelog
index 963e384..9a605ba 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -39,7 +39,7 @@ lintian (2.5.0~rc3) UNRELEASED; urgency=low
 + [NT] Added dir-or-file-in-run tag.  (Closes: #623031)
   * checks/java{,.desc}:
 + [NT] Added file based on patches submitted by Vicent Fourmond.
-  This new file checks for jar files in weird locations.
+  - This new file checks for jar files in weird locations.
   (Closes: #620829, #575447)
   * checks/manpages:
 + [NT] Fixed false-positive binary-without-manpage when the

-- 
Debian package checker


-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1qch7h-00078y...@alioth.debian.org



Bug#623390: lintian: Please add Ruby-Versions to known binary/dsc fields

2011-04-19 Thread Niels Thykier
Package: lintian
Severity: wishlist


On 2011-04-19 20:32, Vincent Carmona wrote:
> 2011/4/9 Vincent Carmona :
>> Hi lintian team.
>>
>> Ruby packaging is changing (see 
>> http://wiki.debian.org/Teams/Ruby/RubyInWheezy).
>> When checking my dsc file lintian return a warning:
>> ruby-globalhotkeys source: unknown-field-in-dsc ruby-versions
>>
>> In d/control I have XS-Ruby-Versions and XB-Ruby-Versions defined.
>>
>> They should be defined for all ruby packages in wheezy. Could you add
>> an exception to supress warnings ?
>>
>> --
>> Vincent Carmona
>>
> 
> I forget to say that I am not subscribed to this mailling list. Can
> you please cc me ?
> I do not see any response yet. If I am wrong please correct me.
> 
> 

I do not see a reply to it yet either, so I am opening a bug for it.

~Niels




-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dade41a.6080...@thykier.net



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

2011-04-19 Thread Neil Williams
On Tue, 19 Apr 2011 21:02:27 +0200
Niels Thykier  wrote:

> > Emdebian tried this and came up against a few hidden assumptions in
> > lintian which we discussed with the lintian maintainers at the time. We
> > experimented with an emdebian checks file and desc file:
> > 
> > http://packages.debian.org/sid/all/emdebian-crush/filelist
> > 
> > If this proposal completes the final stage of that process, I will be
> > v.happy. :-)
> 
> Do you have a link to that debate; unfortunately I believe it was before
> my involvement with Lintian, so I do not believe I have seen it (unless
> it is covered in the DC10 notes from the BoF).

Not really. I did describe some of the results to the Emdebian folks:

http://lists.debian.org/debian-embedded/2008/04/msg3.html

http://lists.debian.org/debian-embedded/2009/12/msg00032.html

The other discussions with Russ were mostly direct email and/or
discussions at DebConf9.

-- 


Neil Williams
=
http://www.linux.codehelp.co.uk/



pgpKvBnkJLj0z.pgp
Description: PGP signature


[SCM] Debian package checker branch, master, updated. 2.5.0-rc2-145-gc577bd2

2011-04-19 Thread Niels Thykier
The following commit has been merged in the master branch:
commit c577bd2316d6ff16af598ad508998dd1d53571f7
Author: Niels Thykier 
Date:   Tue Apr 19 21:21:08 2011 +0200

Added breaks on emdebian-crush and xdeb due to unpack removal

We removed some scripts in unpack/ so old checks relying on
(e.g.) fields being present will fail in wierd ways if their
Needs-Info are not updated.

diff --git a/debian/changelog b/debian/changelog
index 3012d31..963e384 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -90,6 +90,9 @@ lintian (2.5.0~rc3) UNRELEASED; urgency=low
 + [NT] Bumped Standards-Version to 3.9.2.
 + [NT] Updated Build-Depends for debiandoc -> docbook change of
   the manual.
++ [NT] Added a breaks on emdebian-crush and xdeb, since their
+  checks will most likely not work without bumping their
+  Needs-Info for the checks.
   * debian/{docs,rules}:
 + [NT] Updated to use/install docbook instead of debiandoc.
 
diff --git a/debian/control b/debian/control
index 5bd9be0..a83d2d4 100644
--- a/debian/control
+++ b/debian/control
@@ -71,6 +71,7 @@ Depends: ${misc:Depends},
  perl,
  unzip
 Suggests: binutils-multiarch, libtext-template-perl, man-db (>= 2.5.1-1)
+Breaks: emdebian-crush (<= 2.2.15), xdeb (<= 0.6.4)
 Description: Debian package checker
  Lintian dissects Debian packages and reports bugs and policy
  violations. It contains automated checks for many aspects of Debian

-- 
Debian package checker


-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1qcgxy-0008ue...@alioth.debian.org



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

2011-04-19 Thread Niels Thykier
-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  wrote:
> 
>>> [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.
>>>  * Add vendor/3rd party checks [Deferred]:
>>>- A profile may include new checks/collections not present in the
>>>  Lintian package itself.
>>>  * 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.
> 
> Emdebian tried this and came up against a few hidden assumptions in
> lintian which we discussed with the lintian maintainers at the time. We
> experimented with an emdebian checks file and desc file:
> 
> http://packages.debian.org/sid/all/emdebian-crush/filelist
> 
> If this proposal completes the final stage of that process, I will be
> v.happy. :-)
> 

Do you have a link to that debate; unfortunately I believe it was before
my involvement with Lintian, so I do not believe I have seen it (unless
it is covered in the DC10 notes from the BoF).

> Another common requirement at work is to switch off the lintian warning
> about "unsupported distributions" as we're trying to build
> lintian-clean packages for our own internal repositories and it makes
> apt pinning a lot easier to *not* use stable, testing, unstable or any
> of the Debian ToyStory codenames.
> 
> If that can be done with a simple file which applies across all
> packages, it will just be so much easier.
> 

Indeed :)

>>> Rationale for deferring "Add checks": Fixing this is effectively to fix
>>> the "third party checks" problem and this adds complexity like "how to
>>> handle name clashing with checks/collections".  We will have that debate
>>> eventually.  It is my belief that it will be easier for us to add the
>>> third party checks on top on the profile system than the other way
>>> around (infrastructure wise).
> 
> That makes the third-party responsible for avoiding clashes - which is,
> IMHO, the way it should work.
> 

Maybe - I am still reluctant to include third party checks in this
specification; partly because the current development has changed the
below mentioned check/collection "API" and partly to keep the "size" of
this specification down.

>>>   Also, as soon as we add third party checks our current collections as
>>> well as our check interface becomes part of our API.  Changing any of
>>> these could possibly break other packages.
>>>
>>> Proposed solution
>>> -
>>> We add a new directory to the Lintian root called "profiles" with the
>>> structure:
>>>
>>>  profiles/
>>>debian/
>>>  main.profile
>>>  ftp-auto-reject.profile
>>>ubuntu/
>>>  main.profile
>>>$other_vendor/
>>>  some.profile
>>>default
> 
> 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.
> 
>>> Profiles should be specified with a new command line argument --profile
>>>  or the environment/lintianrc variable LINTIAN_PROFILE=.
> 
> IMHO DEB_VENDOR is a better fit.
> 

Hmm, dpkg-vendor/DEB_VENDOR could be a valid alternative, but I think I
would like to keep LINTIAN_PROFILE as well.  This would allow
users/sysadmins to set their own profile that is completely unrelated to
any known vendor without breaking DEB_VENDOR sensitive
applications/build tools.

>>> 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.
> 
> Any patches?
> :-)
> 

Unfortunately not at the moment; I wanted a bit of feedback before I
started working on this.  But when I start the work, I will push a
branch to the lintian git.

~Niels

-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCAAGBQJNrdxDAAoJEAVLu599gGRCjkcQAJGuBLAd3Wiuuv2++4VQQPUn
b3Kj1RrTD9tUSXQY/TsJoOngHOY8XMwwpoECn11ZBYsttA26Pi47wokRljpYALEJ
R5KfMgBXOC04F7bxSgof1ZsQY5yuv8srO/tlRZHkSdwgYuNbCj2pSGeTSAPsR6Su
7X7rxJQEijZWTQwxzdZsch2BLXX2P8C0NC4ZlTthjram48Io/r512KBw2Bkn4M04
FTbj4zMWnMbR4uN2fiVmbaC2EgxuF6nc5b2S0nSZA7aGGTX/x/7vFuZ98mgmVCSf
ZDvdeA2C8tOFvShKYfajIOKmni56MBq6YKrrNrbU5IBQLgHCtI3Iiab2oxqTEtp0
lGadM439nkGc8IbBLDmJeB2Z8KffxAhrjD

Re: New fields for ruby packaging

2011-04-19 Thread Vincent Carmona
2011/4/9 Vincent Carmona :
> Hi lintian team.
>
> Ruby packaging is changing (see 
> http://wiki.debian.org/Teams/Ruby/RubyInWheezy).
> When checking my dsc file lintian return a warning:
> ruby-globalhotkeys source: unknown-field-in-dsc ruby-versions
>
> In d/control I have XS-Ruby-Versions and XB-Ruby-Versions defined.
>
> They should be defined for all ruby packages in wheezy. Could you add
> an exception to supress warnings ?
>
> --
> Vincent Carmona
>

I forget to say that I am not subscribed to this mailling list. Can
you please cc me ?
I do not see any response yet. If I am wrong please correct me.


-- 
Vincent Carmona


-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/banlktimffg12mqoj13gm_fguo0kz7oc...@mail.gmail.com



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

2011-04-19 Thread Neil Williams
On Tue, 19 Apr 2011 20:04:47 +0200
Niels Thykier  wrote:

> > [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.
> >  * Add vendor/3rd party checks [Deferred]:
> >- A profile may include new checks/collections not present in the
> >  Lintian package itself.
> >  * 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.

Emdebian tried this and came up against a few hidden assumptions in
lintian which we discussed with the lintian maintainers at the time. We
experimented with an emdebian checks file and desc file:

http://packages.debian.org/sid/all/emdebian-crush/filelist

If this proposal completes the final stage of that process, I will be
v.happy. :-)

Another common requirement at work is to switch off the lintian warning
about "unsupported distributions" as we're trying to build
lintian-clean packages for our own internal repositories and it makes
apt pinning a lot easier to *not* use stable, testing, unstable or any
of the Debian ToyStory codenames.

If that can be done with a simple file which applies across all
packages, it will just be so much easier.

> > Rationale for deferring "Add checks": Fixing this is effectively to fix
> > the "third party checks" problem and this adds complexity like "how to
> > handle name clashing with checks/collections".  We will have that debate
> > eventually.  It is my belief that it will be easier for us to add the
> > third party checks on top on the profile system than the other way
> > around (infrastructure wise).

That makes the third-party responsible for avoiding clashes - which is,
IMHO, the way it should work.

> >   Also, as soon as we add third party checks our current collections as
> > well as our check interface becomes part of our API.  Changing any of
> > these could possibly break other packages.
> > 
> > Proposed solution
> > -
> > We add a new directory to the Lintian root called "profiles" with the
> > structure:
> > 
> >  profiles/
> >debian/
> >  main.profile
> >  ftp-auto-reject.profile
> >ubuntu/
> >  main.profile
> >$other_vendor/
> >  some.profile
> >default

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.

> > Profiles should be specified with a new command line argument --profile
> >  or the environment/lintianrc variable LINTIAN_PROFILE=.

IMHO DEB_VENDOR is a better fit.

> > 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.

Any patches?
:-)

-- 


Neil Williams
=
http://www.linux.codehelp.co.uk/



pgpsoi6oCLH7K.pgp
Description: PGP signature


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

2011-04-19 Thread Niels Thykier
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Hi (again for some)

I realised after sending my proposal that it would probably be a good
idea to (ab)use the d-derivatives list to get more opinions on this
proposal (quoted in full below).
  I have set Reply-To to lintian-maint@d.o as I would like the debate on
this topic to stay on the lintian list.  The web-archive for the
proposal starts at [1].

Thank you in advance,
~Niels

[1] http://lists.debian.org/debian-lint-maint/2011/04/msg00277.html

On 2011-04-19 18:14, Niels Thykier wrote:
> Hi
> 
> Considering that #513663 will be closed in 2.5.0~rc3, I figured it was
> time to start a new branch. XD
>   I was considering to do either Vendor-based customization or support
> third party checks (e.g. Lintian "extra"), as the subject suggests I
> think I will start with Vendor-based Lintian.
>   However if you think third party checks should be given priority, let
> me know - this decision is not set in stone. :)
> 
> 
> Introduction
> 
> The general idea of this has been to allow Debian derivatives or/and
> Debian blends to use Lintian without modifying the code.  Currently
> Ubuntu has to patch Lintian  every time they import because their
> requirements are slightly different than Debians.
>   In the past it was just to remove a line of code here or there in the
> checks. However, now that the test-suite has been enabled they have also
> been required to update some of the tests to match these changes.
> 
> If it sounds familiar then it is probably because the particular idea
> has been debated before at DebConf10[DC10] (and possibly at other times
> and places).
> 
> 
> Requirements
> 
> This is a list of things that the solution should handle (the "how"-part
> comes later).  If you feel the requirements are not reflecting what is
> really needed, do object.  These requirements should form the basis for
> any suggested solution.
> 
> [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.
>  * Add vendor/3rd party checks [Deferred]:
>- A profile may include new checks/collections not present in the
>  Lintian package itself.
>  * 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.
> 
> [Optional/Extra/Ideas]
>  * Allow profiles to mark tags as "cannot be overridden"/"not
>overwritable".
>- Support FTP-master auto-reject as a profile.
>  * Allow profiles to alter severity (but not certainty).
>- What is serious to us may be minor to others.
>- The --display-level argument should operate in terms of active
>  profile's severity and not original severity
>  * Allow current tag selection command arguments to affect the profile.
>- suppress-tags{,-from-file} suppresses tags even if the current
>  profile would have included them.
> 
> 
> Rationale for deferring "Add checks": Fixing this is effectively to fix
> the "third party checks" problem and this adds complexity like "how to
> handle name clashing with checks/collections".  We will have that debate
> eventually.  It is my belief that it will be easier for us to add the
> third party checks on top on the profile system than the other way
> around (infrastructure wise).
>   Also, as soon as we add third party checks our current collections as
> well as our check interface becomes part of our API.  Changing any of
> these could possibly break other packages.
> 
> Original solution
> -
> The original solution involved tagging each tag with the profiles it was
> a part of (mentioned in the follow up for [DC10]).  Personally I think
> the solution suffers from a few problems.
> 
>  - Users/System admins cannot make their own profile without messing in
>LINTIAN_ROOT/checks/*.desc, which is usually root/root unless you use
>--root (or LINTIAN_ROOT=)/some/where/writable.
>  - It does not appear to be easy to extend/reuse an existing profile
>without altering said profile.
>  - Vendors may have merge conflicts if profiles are added or extended
>further up in the "food chain".
> 
> 
> Proposed solution
> -
> We add a new directory to the Lintian root called "profiles" with the
> structure:
> 
>  profiles/
>debian/
>  main.profile
>  ftp-auto-reject.profile
>ubuntu/
>  main.profile
>$other_vendor/
>  some.profile
>default
> 
> profiles/default would be a symlink to the current default vendor. The
> symlink should probably be generated at build time or install time
> (probably 

Re: [Pkg-fonts-devel] Lintian error with new font package name convention

2011-04-19 Thread Rogério Brito
Hi, Nicolas.

Thanks for the reply.

On Apr 19 2011, Nicolas Spalinger wrote:
> On 13/02/11 02:27, Rogério Brito wrote:
> > Nicolas, do you have anything written already? I'm not sure if the best
> > thing would be to have it on a repository or on a Wiki.
> 
> Hi Rogério and other fellow pkg-fonts team members, a quick note to
> mention that I've had to be offline and focusing on other projects for a
> while and I apologize for my lack of involvement in the recent threads.
> 
> I'm hoping to be available again soon.

OK. I've also had to had an hiatus for some personal reasons and I may be
coming soon again.

> I'll quickly mention that on the issue of fonts, their sources and
> requiring or recreating a fully Debian-specific buildpath there are
> plenty of posts from me on the issues in the archives of this list
> though (in the huge amount of spam but that's another story), please
> take a moment to look through them.

Yes, I am more malleable now :-) and I think that I will incorporate the
language of RFC 2119 in our policy.

With that, I think that some of the MUST will be changed to
SHOULD/RECOMMENDED so that some flexibility is allowed.


Regards,

-- 
Rogério Brito : rbrito@{ime.usp.br,gmail.com} : GPG key 4096R/BCFC
http://rb.doesntexist.org : Packages for LaTeX : algorithms.berlios.de
DebianQA: http://qa.debian.org/developer.php?login=rbrito%40ime.usp.br


--
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110419161256.ga2...@ime.usp.br



Vendor-based customization of Lintian (or profiles)

2011-04-19 Thread Niels Thykier
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

Hi

Considering that #513663 will be closed in 2.5.0~rc3, I figured it was
time to start a new branch. XD
  I was considering to do either Vendor-based customization or support
third party checks (e.g. Lintian "extra"), as the subject suggests I
think I will start with Vendor-based Lintian.
  However if you think third party checks should be given priority, let
me know - this decision is not set in stone. :)


Introduction
- 
The general idea of this has been to allow Debian derivatives or/and
Debian blends to use Lintian without modifying the code.  Currently
Ubuntu has to patch Lintian  every time they import because their
requirements are slightly different than Debians.
  In the past it was just to remove a line of code here or there in the
checks. However, now that the test-suite has been enabled they have also
been required to update some of the tests to match these changes.

If it sounds familiar then it is probably because the particular idea
has been debated before at DebConf10[DC10] (and possibly at other times
and places).


Requirements
- 
This is a list of things that the solution should handle (the "how"-part
comes later).  If you feel the requirements are not reflecting what is
really needed, do object.  These requirements should form the basis for
any suggested solution.

[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.
 * Add vendor/3rd party checks [Deferred]:
   - A profile may include new checks/collections not present in the
 Lintian package itself.
 * 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.

[Optional/Extra/Ideas]
 * Allow profiles to mark tags as "cannot be overridden"/"not
   overwritable".
   - Support FTP-master auto-reject as a profile.
 * Allow profiles to alter severity (but not certainty).
   - What is serious to us may be minor to others.
   - The --display-level argument should operate in terms of active
 profile's severity and not original severity
 * Allow current tag selection command arguments to affect the profile.
   - suppress-tags{,-from-file} suppresses tags even if the current
 profile would have included them.


Rationale for deferring "Add checks": Fixing this is effectively to fix
the "third party checks" problem and this adds complexity like "how to
handle name clashing with checks/collections".  We will have that debate
eventually.  It is my belief that it will be easier for us to add the
third party checks on top on the profile system than the other way
around (infrastructure wise).
  Also, as soon as we add third party checks our current collections as
well as our check interface becomes part of our API.  Changing any of
these could possibly break other packages.

Original solution
- -
The original solution involved tagging each tag with the profiles it was
a part of (mentioned in the follow up for [DC10]).  Personally I think
the solution suffers from a few problems.

 - Users/System admins cannot make their own profile without messing in
   LINTIAN_ROOT/checks/*.desc, which is usually root/root unless you use
   --root (or LINTIAN_ROOT=)/some/where/writable.
 - It does not appear to be easy to extend/reuse an existing profile
   without altering said profile.
 - Vendors may have merge conflicts if profiles are added or extended
   further up in the "food chain".


Proposed solution
- -
We add a new directory to the Lintian root called "profiles" with the
structure:

 profiles/
   debian/
 main.profile
 ftp-auto-reject.profile
   ubuntu/
 main.profile
   $other_vendor/
 some.profile
   default

profiles/default would be a symlink to the current default vendor. The
symlink should probably be generated at build time or install time
(probably the former is the easiest).
  The absence of the default symlink should imply debian as default
vendor to keep git clones functional.

Profiles should be specified with a new command line argument --profile
 or the environment/lintianrc variable LINTIAN_PROFILE=.
   should be specified as $VENDOR/$profile or $VENDOR.  The
latter being short for $VENDOR/main. The actual file name of the profile
will be $VENDOR/$profile.profile and should be located in:

  ~/.lintian/profiles/
  /etc/lintian/profiles/
  $LINTIAN_ROOT/profiles/

All of these directories (if they exist) are expected to have the same
layout (as described above).  Profile names cannot contain ".".

Profile file format
- 

Re: [Pkg-fonts-devel] Lintian error with new font package name convention

2011-04-19 Thread Nicolas Spalinger
On 13/02/11 02:27, Rogério Brito wrote:
> Hi there.
> 
> On Feb 11 2011, Nicolas Spalinger wrote:
>> I'll draft over the next few days.
> 
> Nicolas, do you have anything written already? I'm not sure if the best
> thing would be to have it on a repository or on a Wiki.

Hi Rogério and other fellow pkg-fonts team members, a quick note to
mention that I've had to be offline and focusing on other projects for a
while and I apologize for my lack of involvement in the recent threads.

I'm hoping to be available again soon.

I'll quickly mention that on the issue of fonts, their sources and
requiring or recreating a fully Debian-specific buildpath there are
plenty of posts from me on the issues in the archives of this list
though (in the huge amount of spam but that's another story), please
take a moment to look through them.

> Seeing as everything is still *very* rough on the edges, I would prefer it
> to not be available to the public until it is, at least, not
> embarrassing. :-)
> 
> 
> Regards,

Cheers,


-- 
Nicolas Spalinger,
SIL NRSI volunteer - http://scripts.sil.org
Debian fonts task force -  http://pkg-fonts.alioth.debian.org
Open font community - http://planet.open-fonts.org



--
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/4dada655.5020...@sil.org



[SCM] Debian package checker branch, master, updated. 2.5.0-rc2-144-g7e3e4fa

2011-04-19 Thread Niels Thykier
The following commit has been merged in the master branch:
commit 7e3e4fafa130ee7ea0c1445491aedf21c935a9e7
Author: Niels Thykier 
Date:   Tue Apr 19 14:15:05 2011 +0200

Fixed test failure with d/changelog

diff --git a/debian/changelog b/debian/changelog
index 8379ffa..3012d31 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -39,7 +39,7 @@ lintian (2.5.0~rc3) UNRELEASED; urgency=low
 + [NT] Added dir-or-file-in-run tag.  (Closes: #623031)
   * checks/java{,.desc}:
 + [NT] Added file based on patches submitted by Vicent Fourmond.
-  - This new file checks for jar files in weird locations.
+  This new file checks for jar files in weird locations.
   (Closes: #620829, #575447)
   * checks/manpages:
 + [NT] Fixed false-positive binary-without-manpage when the

-- 
Debian package checker


-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1qc9uu-ew...@alioth.debian.org



[SCM] Debian package checker branch, master, updated. 2.5.0-rc2-144-g7e3e4fa

2011-04-19 Thread Niels Thykier
The following commit has been merged in the master branch:
commit c5880b0fadd3fed72adf9f91f1032bc89c6596c4
Author: Niels Thykier 
Date:   Tue Apr 19 14:09:50 2011 +0200

Throw away info objects when checks are done

This avoids memory being used by info-caches that will never be
used again.  This are thrown out when the entire group has been
processed.

diff --git a/frontend/lintian b/frontend/lintian
index ff73cc7..1fff26e 100755
--- a/frontend/lintian
+++ b/frontend/lintian
@@ -1037,7 +1037,10 @@ my %overrides;
 foreach my $gname (sort $pool->get_group_names()) {
 my $group = $pool->get_group($gname);
 unpack_group($group);
-process_group($group) if $action eq 'check';
+if ($action eq 'check'){
+   process_group($group);
+   clear_group_cache($group);
+}
 }
 
 $TAGS->file_end();
@@ -1528,6 +1531,18 @@ sub process_group {
 return 1;
 }
 
+
+# cleans the cache of all elements in this group - this avoids
+# memory being hogged by packages/groups that have been checked
+# and will not be checked again.
+sub clear_group_cache {
+my ($group) = @_;
+foreach my $proc ($group->get_processables()){
+   $proc->clear_cache;
+}
+return 1;
+}
+
 # }}}
 
 # {{{ Exit handler.
diff --git a/lib/Lintian/Processable.pm b/lib/Lintian/Processable.pm
index 5fd4948..21ba8a2 100644
--- a/lib/Lintian/Processable.pm
+++ b/lib/Lintian/Processable.pm
@@ -144,6 +144,18 @@ sub info{
 return $info;
 }
 
+=item $proc->clear_cache()
+
+Discard the info element, so the memory used by it can be reclaimed.
+Mostly useful when checking a lot of packages (e.g. on lintian.d.o).
+
+=cut
+
+sub clear_cache {
+my ($self) = @_;
+delete $self->{info};
+}
+
 =item $proc->lab_pkg([$lpkg])
 
 Returns or sets the L element for this processable.

-- 
Debian package checker


-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1qc9tx-sv...@alioth.debian.org



Bug#623310: lintian: newer-standards-version reports older policy than what is current

2011-04-19 Thread Jari Aalto
Package: lintian
Version: 2.5.0~rc2
Severity: minor


Whiel making Debian package and running lintian I see:

  W: winetricks source: newer-standards-version 3.9.2 (current is 3.9.1)

But, the latest 3.9.2 is installed:

$ apt-cache policy debian-policy

debian-policy:
  Installed: 3.9.2.0
  Candidate: 3.9.2.0
  Package pin: 3.9.2.0
  Version table:
 *** 3.9.2.0 1001
990 http://ftp.se.debian.org/debian/ testing/main amd64 Packages
500 http://ftp.fi.debian.org/debian/ unstable/main amd64 Packages
100 /var/lib/dpkg/status

-- System Information:
Debian Release: wheezy/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.38-1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_DK.UTF-8, LC_CTYPE=en_DK.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages lintian depends on:
ii  binutils   2.21.0.20110327-3 The GNU assembler, linker and bina
ii  diffstat   1.54-1produces graph of changes introduc
ii  dpkg-dev   1.16.0.2  Debian package development tools
ii  file   5.04-5+b1 Determines file type using "magic"
ii  gettext0.18.1.1-3GNU Internationalization utilities
ii  intltool-debian0.35.0+20060710.1 Help i18n of RFC822 compliant conf
ii  libapt-pkg-perl0.1.24+b1 Perl interface to libapt-pkg
ii  libclass-accessor-perl 0.34-1Perl module that automatically gen
ii  libemail-valid-perl0.184-1   Perl module for checking the valid
ii  libipc-run-perl0.89-1Perl module for running processes
ii  libparse-debianchangel 1.2.0-1   parse Debian changelogs and output
ii  libtimedate-perl   1.2000-1  collection of modules to manipulat
ii  liburi-perl1.58-1module to manipulate and access UR
ii  locales2.11.2-11 Embedded GNU C Library: National L
ii  man-db 2.5.9-4   on-line manual pager
ii  perl [libdigest-sha-pe 5.10.1-19 Larry Wall's Practical Extraction 

lintian recommends no packages.

Versions of packages lintian suggests:
pn  binutils-multiarch (no description available)
ii  libtext-template-perl 1.45-2 Text::Template perl module
ii  man-db2.5.9-4on-line manual pager

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/20110419080723.9052.80601.report...@websvn.cante.net



Processed: forcibly merging 621667 623310

2011-04-19 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> forcemerge 621667 623310
Bug#621667: lintian: update for Policy 3.9.2.0 needed
Bug#623310: lintian: newer-standards-version reports older policy than what is 
current
Forcibly Merged 621667 623310.

> thanks
Stopping processing here.

Please contact me if you need assistance.
-- 
621667: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=621667
623310: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=623310
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems


-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/handler.s.c.130320070815652.transcr...@bugs.debian.org