Bug#656885: lintian: Separate tag for no "d/compat"

2012-01-22 Thread Joey Hess
Niels Thykier wrote:
> I noticed that you are making d/compat the "only" source of a
> debhelper compat[1].  Would you like us to add a tag for missing
> compat file (with use of debhelper)?

Absolutely. 

There are potentially some packages that use DH_COMPAT to set their
compat level, rather than debian/compat; this makes it unnecessarily
hard to determine what level is being used. Also, it means that a naive
new debhelper user gets compat 1, the worst possible choice, by default.
My plan is to make debhelper fail with no debian/compat, so a naive user
is forced to pick one.

Other packages will use "DH_COMPAT=N dh_foo" in order to avoid some
compat level change. Not my favorite thing since it makes grepping for
usage of old compat levels, but still ok to do.

-- 
see shy jo


signature.asc
Description: Digital signature


[SCM] Debian package checker branch, master, updated. 2.5.4-102-g6ac8805

2012-01-22 Thread Niels Thykier
The following commit has been merged in the master branch:
commit 6ac880570102a2b6443fc9719da1863a7e879a99
Author: Niels Thykier 
Date:   Sun Jan 22 22:13:39 2012 +0100

Added pod to L::Collect::Group and fixed copyright

Signed-off-by: Niels Thykier 

diff --git a/lib/Lintian/Collect/Group.pm b/lib/Lintian/Collect/Group.pm
index ff61e2d..717f9a5 100644
--- a/lib/Lintian/Collect/Group.pm
+++ b/lib/Lintian/Collect/Group.pm
@@ -1,7 +1,7 @@
 # -*- perl -*-
 # Lintian::Collect::Group -- interface to group data collections
 
-# Copyright (C) 2008 Russ Allbery
+# Copyright (C) 2011 Niels Thykier
 #
 # This program is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by the Free
@@ -19,11 +19,46 @@
 # This is a "Lintian::Collect"-like interace (as in "not quite a
 # Lintian::Collect").
 package Lintian::Collect::Group;
+
 use strict;
 use warnings;
 
 use Carp qw(croak);
 
+=head1 NAME
+
+Lintian::Collect::Group - Lintain interface to group data collection
+
+=head1 SYNOPSIS
+
+ my $group = Lintian::ProcessableGroup->new ('lintian_2.5.0_i386.changes');
+ my $ginfo = Lintian::Collect::Group->new ($group);
+ 
+ foreach my $bin ($group->get_binary_processables) {
+my $pkg_name = $bin->pkg_name;
+foreach my $dirdep ($ginfo->direct_dependencies ($pkg_name)) {
+print "$pkg_name (pre-)depends on $dirdep (which is also in this 
group)\n";
+}
+ }
+
+=head1 DESCRIPTION
+
+Lintian::Collect::Group is a "group" variant of the Lintian::Collect
+modules.  It attempts to expose a similar interface as these and
+provide useful information about the processable group (or members of
+it).
+
+=head1 CLASS METHODS
+
+=over 4
+
+=item Lintian::Collect::Group->new ($group)
+
+Creates a new object to provide information about
+L<$group|Lintian::ProcessableGroup>.
+
+=cut
+
 sub new {
 my ($class, $group) = @_;
 my $self = {
@@ -32,12 +67,20 @@ sub new {
 return bless $self, $class;
 }
 
-# Returns the direct strong dependendencies for a package
-# that are available in the group.
-# (strong dependencies are "Depends" and "Pre-Depends")
-#
-# Note: "Self-dependencies" (if any) are *not* included.
-#
+=item $ginfo->direct_dependencies ($pkg_name)
+
+If $pkg_name is a part of the underlying processable group, this
+method returns a listref containing all the direct dependencies of
+$pkg_name.  If $pkg_name is not a part of the group, this returns
+undef.
+
+Note: Only strong dependencies (Pre-Depends and Depends) are
+considered.
+
+Note: Self-dependencies (if any) are I included in the result.
+
+=cut
+
 # sub direct_dependencies Needs-Info <>
 sub direct_dependencies {
 my ($self, $p) = @_;
@@ -67,6 +110,12 @@ sub direct_dependencies {
 return $deps;
 }
 
+=item $ginfo->type
+
+Return the type of this collect object (which is the string 'group').
+
+=cut
+
 # Return the package type.
 # sub type Needs-Info <>
 sub type {
@@ -74,6 +123,19 @@ sub type {
 return 'group';
 }
 
+=back
+
+=head1 AUTHOR
+
+Originally written by Niels Thykier  for Lintian.
+
+=head1 SEE ALSO
+
+lintian(1), Lintian::Collect::Binary(3), Lintian::Collect::Changes(3),
+Lintian::Collect::Source(3)
+
+=cut
+
 1;
 __END__;
 
diff --git a/t/scripts/pod-coverage.t b/t/scripts/pod-coverage.t
index a0a8f2a..e8d5169 100755
--- a/t/scripts/pod-coverage.t
+++ b/t/scripts/pod-coverage.t
@@ -15,6 +15,7 @@ our %MODULES =
 (
  'Lintian::Check'  => [],
  'Lintian::Collect'=> [],
+ 'Lintian::Collect::Group' => [],
  'Lintian::Command'=> [],
  'Lintian::Command::Simple'=> [],
  'Lintian::Data'   => [],

-- 
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/e1rp4kt-ba...@vasks.debian.org



Bug#656882: lintian: false-positive package-relation-with-self

2012-01-22 Thread Russ Allbery
Niels Thykier  writes:

> By the looks of it [1], Lintian does not handle self relations too
> well with Replaces + Provides.

> The observation done so far is that xabacus (Provides, Conflicts and
> Replaces itself) is correctly done (in terms of §7.6.2).

> The apache2-suexec package does not provide itself (but it has
> Conflicts and Replaces on itself).  The question is whether or not it
> needs the provide itself explicitly.

I don't think it should, although the dpkg maintainers would know for
sure.  But I suspect Lintian should say that's fine in the case where the
virtual package name is the same as the real package name, as it is in
this case.

> Also not sure what is up with nvidia-kernel-dkms.  By the looks of it,
> it is using §7.6.2, but missing a replaces.  Russ, is that correctly
> asserted of me?

Yes, that looks correct.  I think that set of packages should all have
Replaces as well.

-- 
Russ Allbery (r...@debian.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/87wr8j1osl@windlord.stanford.edu



Bug#656885: lintian: Separate tag for no "d/compat"

2012-01-22 Thread Niels Thykier
Package: lintian
Version: 2.5.4
Severity: wishlist

Hi Joey (CC'ed),

I noticed that you are making d/compat the "only" source of a
debhelper compat[1].  Would you like us to add a tag for missing
compat file (with use of debhelper)?

~Niels

[1] http://packages.qa.debian.org/d/debhelper/news/20120115T191738Z.html



-- 
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/20120122165011.2327.12342.report...@mangetsu.thykier.net



Bug#656882: lintian: false-positive package-relation-with-self

2012-01-22 Thread Niels Thykier
Package: lintian
Version: 2.5.4
Severity: normal

By the looks of it [1], Lintian does not handle self relations too
well with Replaces + Provides.

The observation done so far is that xabacus (Provides, Conflicts and
Replaces itself) is correctly done (in terms of §7.6.2).

The apache2-suexec package does not provide itself (but it has
Conflicts and Replaces on itself).  The question is whether or not it
needs the provide itself explicitly.

Also not sure what is up with nvidia-kernel-dkms.  By the looks of it,
it is using §7.6.2, but missing a replaces.  Russ, is that correctly
asserted of me?

~Niels

[1] http://lintian.debian.org/tags/package-relation-with-self.html



--
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/20120122164013.2250.492.report...@mangetsu.thykier.net



[SCM] Debian package checker branch, master, updated. 2.5.4-101-g7d5b230

2012-01-22 Thread Niels Thykier
The following commit has been merged in the master branch:
commit 7d5b23003a94767a8873024452ccc32df79a0e41
Author: Niels Thykier 
Date:   Sun Jan 22 15:29:01 2012 +0100

Improved the documentation of Lintian::Lab

Also forbid an empty "Layout" field in L::Lab::open.

Signed-off-by: Niels Thykier 

diff --git a/lib/Lintian/Lab.pm b/lib/Lintian/Lab.pm
index 6cd9751..19f012e 100644
--- a/lib/Lintian/Lab.pm
+++ b/lib/Lintian/Lab.pm
@@ -53,9 +53,6 @@ my %SUPPORTED_TYPES = (
 'udeb'=> 1,
 );
 
-
-
-# Export now due to cicular depends between Lab and Lab::Package.
 our (@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
 
 BEGIN {
@@ -153,8 +150,8 @@ sub new {
 Returns the absolute path to the base of the lab.
 
 Note: This may return the empty string if either the lab has been
-deleted or this is a temporary lab that has not been created yet.
-In the latter case, $lab->create should be run to get a
+deleted or this is a temporary lab that has not been created yet.  In
+the latter case, $lab->create or $lab->open should be run to get a
 non-empty value from this method.
 
 =item $lab->is_open
@@ -197,16 +194,16 @@ Fetches an existing package from the lab.
 The first argument can be a L.  In that
 case all other arguments are ignored.
 
-If the first calling convention is used then this method will by
-default search for an existing package.  The @extra argument can be
-used to narrow the search or even to add a new entry.
+If the first calling convention is used then this method will search
+for an existing package.  The @extra argument can be used to narrow
+the search or even to add a new entry.
 
 @extra consists of (in order):
  - version
  - arch (Ignored if $pkg_type is "source")
 
-If version or arch is omitted (or undef) then that search parameter is
-consider a wildcard for "any".  Example:
+If version or arch is omitted (or if it is undef) then that search
+parameter is consider a wildcard for "any".  Example:
 
  # Returns all eclipse-platform packages with architecture i386 regardless
  # of their version (if any)
@@ -222,6 +219,12 @@ consider a wildcard for "any".  Example:
 In list context, this returns a list of matches.  In scalar context
 this returns the first match (if any).
 
+If the second calling convention is used, then this method will search
+for an entry matching the the processable passed.  If such an entry
+does not exists, an new "non-existing" L
+will be returned.  This entry can be created by using the "create"
+method on the entry.
+
 =cut
 
 sub get_package {
@@ -301,6 +304,10 @@ sub get_package {
 Passes each lab entry to $visitor.  If $pkg_type is passed, then only
 entries of that type are passed.
 
+The visitor is given a reference to the L,
+the package name, the package version and the package architecture
+(may be undef for source packages).
+
 =cut
 
 sub visit_packages {
@@ -404,10 +411,9 @@ sub _pool_path {
 Each member of @lists must be a Lintian::Lab::Manifest.
 
 The lab will generate a diff between the given member and its state
-for the given package type.  The diffs are returned in the same order
-as they appear in @lists.
+for the given package type.
 
-The diffs are valid until the original list is modified or a package
+The diffs are valid until the original manifest is modified or a package
 is added or removed to the lab.
 
 =cut
@@ -434,6 +440,9 @@ Creates a new lab.  It will create $lab->dir if it does not 
exist.
 It will also create a basic empty lab.  If this is a temporary
 lab, this method will also setup the temporary dir for the lab.
 
+The $lab will I be opened by this method.  This should be done
+afterwards by invoking the open method.
+
 B<$opts> (if present) is a hashref containing options.  The following
 options are accepted:
 
@@ -478,8 +487,7 @@ sub create {
 my $topts = { CLEAN => !$keep, TMPDIR => 1 };
 my $t = tempdir ('temp-lintian-lab-XX', $topts);
 $dir = Cwd::abs_path ($t);
-# Should the croak() be using $t rather than $dir?
-croak "Could not resolve $dir: $!" unless $dir;
+croak "Could not resolve $t: $!" unless $dir;
 $self->{'dir'} = $dir;
 $self->{'keep-lab'} = $keep;
 } else {
@@ -549,11 +557,11 @@ sub create {
 =item $lab->open
 
 Opens the lab and reads the contents into caches.  If the lab is
-temporary this will create a temporary dir to store the contents of
-the lab.
+temporary and does not exists, this method will call create to
+initialize the temporary lab.
 
 This will croak if the lab is already open.  It may also croak for
-the same reasons as $lab->create if this is a temporary lab.
+the same reasons as $lab->create if the lab is temporary (see above).
 
 Note: for static labs, $lab->dir must point to an existing consistent
 lab or this will croak.  To open a new lab, please use
@@ -561,7 +569,7 @@ $lab->create.
 
 Note: It is not possible to pass options to the creation of the
 temporary lab.  If s

Bug#656801: License short name should not be empty in DEP5 copyright file

2012-01-22 Thread Jakub Wilk

* Aron Xu , 2012-01-22, 04:15:
License short name should not be empty in DEP5 copyright file, either 
in a single license paragraph or in a paragraph with other keys and 
values, for example the following situation should not exist:


License:
SOMETHING TRULY BRAIN DAMAGED

Instead, it should be like this:

License: whatever-shortname
SOMETHING TRULY BRAIN DAMAGED



Right. This is something that was allowed in early DEP-5 versions 
(around r135) and probably many people didn't notice that it's not 
permitted anymore when bumping format version. Definitely it's worth 
checking.


--
Jakub Wilk



--
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/20120122132050.gb3...@jwilk.net



Bug#654523: Please implement source-contains-waf-binary tag

2012-01-22 Thread Luca Falavigna
It seems I omitted footnotes, here they are:

[0] http://code.google.com/p/waf/
[1] Yes, that phrase originates from the GPL, nevertheless Debian uses
it as definiton of "source".
[2] http://wiki.debian.org/UnpackWaf



-- 
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/4f1c0c60.7080...@debian.org



[SCM] Debian package checker branch, master, updated. 2.5.4-100-gd78e791

2012-01-22 Thread Niels Thykier
The following commit has been merged in the master branch:
commit d78e7918b7a9fa93049b5c4fe4d78110ae597aae
Author: Niels Thykier 
Date:   Sun Jan 22 14:10:04 2012 +0100

Removed dh_dhelp-is-deprecated tag

The debhelper package no longer ships dh_dhelp (not even in Squeeze).
According to lintian.d.o, the tag is no longer emitted.

Signed-off-by: Niels Thykier 

diff --git a/checks/debhelper b/checks/debhelper
index 09fa822..d14f2b8 100644
--- a/checks/debhelper
+++ b/checks/debhelper
@@ -100,9 +100,6 @@ while () {
 if (m/^\s+-?(dh_\S+)/) {
 my $dhcommand = $1;
 
-if ($dhcommand eq 'dh_dhelp') {
-tag 'dh_dhelp-is-deprecated', "line $.";
-}
 if ($dhcommand eq 'dh_suidregister') {
 tag 'dh_suidregister-is-obsolete', "line $.";
 }
diff --git a/checks/debhelper.desc b/checks/debhelper.desc
index c35a4a2..5c8da88 100644
--- a/checks/debhelper.desc
+++ b/checks/debhelper.desc
@@ -63,17 +63,6 @@ Info: This package contains debian/*.ex and/or debian/ex.* 
files
  package's details and renamed for use by various debhelper commands.
  If they are not being used, they should be removed.
 
-Tag: dh_dhelp-is-deprecated
-Severity: normal
-Certainty: certain
-Info: This package calls dh_dhelp in its debian/rules file.
- dh_dhelp is deprecated as it is not part of the canonical debhelper suite
- and due to be removed since it supports only one single documentation
- system (dhelp).
- .
- Simply use dh_installdocs, which creates doc-base files and supports all of
- the documentation systems that way.
-
 Tag: dh_suidregister-is-obsolete
 Severity: normal
 Certainty: certain
diff --git a/debian/changelog b/debian/changelog
index 3e8f104..fa2ecf9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,7 @@ lintian (2.5.5) UNRELEASED; urgency=low
   - preinst-uses-dpkg-maintscript-helper-without-predepends
   - shlib-in-multi-arch-foreign-package
 + Removed:
+  - dh_dhelp-is-deprecated
   - maintainer-script-calls-deprecated-wm-menu-config
   - maintainer-script-does-not-check-for-existence-of-wm-menu-config
   - uploader-address-missing
@@ -36,7 +37,7 @@ lintian (2.5.5) UNRELEASED; urgency=low
   * checks/debconf:
 + [RA] Recognize Perl uses of debconf templates via metaget or
   settitle.
-  * checks/debhelper:
+  * checks/debhelper{,.desc}:
 + [NT] Do not check executable debhelper files for brace
   expansion if compat is 9 (or greater).  It may be allowed by
   tool interpreting the file.
@@ -45,6 +46,9 @@ lintian (2.5.5) UNRELEASED; urgency=low
   reports.  (Closes: #651572, #651330)
 + [NT] Added various dh-exec related checks.  Thanks to Gergely
   Nagy for the patches.  (Closes: #653071)
++ [NT] Removed tag for using dh_dhelp.  It is not shipped in
+  debhelper anymore (not even Squeeze) and the tag is not
+  emitted anymore (according to lintian.d.o).
   * checks/fields{,.desc}:
 + [JW] Properly handle uploader names with commas.
   (Closes: #485705)
diff --git a/t/COVERAGE b/t/COVERAGE
index c2690f9..7f0c7c4 100644
--- a/t/COVERAGE
+++ b/t/COVERAGE
@@ -1,5 +1,5 @@
 Last generated 2012-01-22
-Coverage: 789/957 (82.45%), w. legacy tests: 895/957 (93.52%)
+Coverage: 788/956 (82.43%), w. legacy tests: 894/956 (93.51%)
 
 The following tags are not tested by the test suite:
 
diff --git a/t/tests/debhelper-deprecated/debian/debian/rules 
b/t/tests/debhelper-deprecated/debian/debian/rules
index 7efe7b3..9b0f6e8 100755
--- a/t/tests/debhelper-deprecated/debian/debian/rules
+++ b/t/tests/debhelper-deprecated/debian/debian/rules
@@ -23,7 +23,6 @@ binary-indep:
dh_installdocs
dh_installmanpages
dh_desktop
-   -dh_dhelp
dh_scrollkeeper
-dh_python # Should trigger a tag
-dh_python$(VERSION) # This should not
diff --git a/t/tests/debhelper-deprecated/desc 
b/t/tests/debhelper-deprecated/desc
index 1dda2b9..cd996b0 100644
--- a/t/tests/debhelper-deprecated/desc
+++ b/t/tests/debhelper-deprecated/desc
@@ -4,7 +4,6 @@ Version: 1.0
 Description: Test for use of deprecated dh_* commands
 Test-For:
  dh_desktop-is-deprecated
- dh_dhelp-is-deprecated
  dh_installmanpages-is-obsolete
  dh_pycentral-is-obsolete
  dh_python-is-obsolete
diff --git a/t/tests/debhelper-deprecated/tags 
b/t/tests/debhelper-deprecated/tags
index 5f05181..e74a6f7 100644
--- a/t/tests/debhelper-deprecated/tags
+++ b/t/tests/debhelper-deprecated/tags
@@ -1,8 +1,7 @@
 W: debhelper-deprecated source: dh_desktop-is-deprecated line 25
-W: debhelper-deprecated source: dh_dhelp-is-deprecated line 26
 W: debhelper-deprecated source: dh_installmanpages-is-obsolete line 24
-W: debhelper-deprecated source: dh_pycentral-is-obsolete line 31
-W: debhelper-deprecated source: dh_python-is-obsolete line 28
-W: debhelper-deprecated source: dh_scrollkeeper-is-deprecated line 27
-W: debhelper-deprecated source: dh_suidregister-is-obsolete line 41
-W: de

Re: RFC: Profile as check/tag loader

2012-01-22 Thread Jeremiah C. Foster
On Wed, Jan 18, 2012 at 11:03:58PM +0100, Niels Thykier wrote:
> Hi,

Hi,
 
> I have been coding a bit and I got an idea that I would like to share
> before just merging my branch (at [1]).  I originally wanted to start on
> the vendor-specific data files, but it turned into some rather large
> structural changes.  Hench this mail.

I've been rather quiet recently - my apologies. I thought I would
quickly jump in here to say thanks for your detailed emails and yes I
agree with this plan moving forward. I hope to implement a new vendor
file in 2012 so this functionality that you've described below is
something I'll use.

Regards,

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/20120122130303.ga3...@shadowfax.dlinkddns.com



[SCM] Debian package checker branch, master, updated. 2.5.4-99-gc82d7f2

2012-01-22 Thread Niels Thykier
The following commit has been merged in the master branch:
commit c82d7f2311454924eba49b085ca55ae7beaafc2b
Author: Niels Thykier 
Date:   Sun Jan 22 13:54:57 2012 +0100

Removed two tags related to wm-menu{,-config}

The menu package no longer ships these executables (not even in
Squeeze).  According to lintian.d.o, the tags are no longer
emitted.

Signed-off-by: Niels Thykier 

diff --git a/checks/menus b/checks/menus
index d641b18..b0ae559 100644
--- a/checks/menus
+++ b/checks/menus
@@ -583,7 +583,7 @@ sub delink {
 
 sub check_script {
 my ($pkg, $spath, $script, $pres) = @_;
-my ($no_check_menu,$no_check_installdocs,$no_check_wmmenu,$calls_wmmenu);
+my ($no_check_menu,$no_check_installdocs);
 my $interp;
 
 open(IN, '<', $spath) or
@@ -612,8 +612,8 @@ sub check_script {
 s/\#.*$//o;
 
 ##
-# either update-menus or wm-menu-config will satisfy
-# the checks that the menu file installed is properly used
+# update-menus will satisfy the checks that the menu file
+# installed is properly used
 ##
 
 # does the script check whether update-menus exists?
@@ -636,24 +636,6 @@ sub check_script {
 }
 }
 
-# does the script check whether wm-menu-config exists?
-if (s/-x\s+\S*wm-menu-config//o or /(?:which|type)\s+wm-menu-config/o
-or s/command\s+.*?wm-menu-config//o) {
-# yes, it does.
-$pres->{'checks-for-wmmenuconfig'} = 1;
-}
-
-# does the script call wm-menu-config?
-if 
(m/(?:^\s*|[;&|]\s*|(?:then|do)\s+)(?:\/usr\/sbin\/)?wm-menu-config(?:\s|[;&|<>]|$)/)
 {
-# yes, it does.
-tag 'maintainer-script-calls-deprecated-wm-menu-config', 
"$script:$." unless $calls_wmmenu++;
-
-# checked first?
-if (not $pres->{'checks-for-wmmenuconfig'} and $pkg ne 'menu') {
-tag 
'maintainer-script-does-not-check-for-existence-of-wm-menu-config', 
"$script:$." unless $no_check_wmmenu++;
-}
-}
-
 # does the script set a link in /usr/doc?
 # does the script remove a link in /usr/doc?
 if ($interp eq 'sh') {
diff --git a/checks/menus.desc b/checks/menus.desc
index affe594..c8e2c45 100644
--- a/checks/menus.desc
+++ b/checks/menus.desc
@@ -23,16 +23,6 @@ Info: The maintainer script calls the update-menus 
command without
  For example, use the following code in your maintainer script:
   if [ -x /usr/bin/update-menus ] ; then update-menus ; fi
 
-Tag: maintainer-script-does-not-check-for-existence-of-wm-menu-config
-Severity: important
-Certainty: possible
-Info: The maintainer script calls the wm-menu-config command without
- checking for existence first. (The menu package which provides
- the command is not marked as "essential" package.)
- .
- For example, use the following code in your maintainer script:
-  if [ -x /usr/sbin/wm-menu ]; then /usr/sbin/wm-menu-config; fi
-
 Tag: maintainer-script-does-not-check-for-existence-of-installdocs
 Severity: important
 Certainty: possible
@@ -45,13 +35,6 @@ Info: The maintainer script calls the install-docs 
command without
 /usr/sbin/install-docs -i /usr/share/doc-base/
   fi
 
-Tag: maintainer-script-calls-deprecated-wm-menu-config
-Severity: normal
-Certainty: possible
-Info: The use of the wm-menu-config script is deprecated because its design
- had some serious flaws.
-Ref: menu 5
-
 Tag: preinst-calls-updatemenus
 Severity: important
 Certainty: certain
diff --git a/debian/changelog b/debian/changelog
index 23b7be6..3e8f104 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,8 @@ lintian (2.5.5) UNRELEASED; urgency=low
   - preinst-uses-dpkg-maintscript-helper-without-predepends
   - shlib-in-multi-arch-foreign-package
 + Removed:
+  - maintainer-script-calls-deprecated-wm-menu-config
+  - maintainer-script-does-not-check-for-existence-of-wm-menu-config
   - uploader-address-missing
 
   * checks/*:
@@ -64,6 +66,11 @@ lintian (2.5.5) UNRELEASED; urgency=low
 + [NT] Allow fonts in packages starting with "fonts-".  This
   completes the fix for #646838.  Thanks to أحمد المحمودي
   for the follow up report.  (Closes: #651045)
+  * checks/menus{,.desc}:
++ [NT] Remove obsolete checks for wm-menu/wm-menu-config use in
+  maintainer scripts.  The executables are not shipped in menu
+  in Squeeze nor sid.  Furthermore the tags are not emitted in
+  any package (according to lintian.d.o).
   * checks/group-check{,.desc}:
 + [NT] Check for file conflicts in binaries built from the same
   source package.  (Closes: #293838)
diff --git a/t/COVERAGE b/t/COVERAGE
index 0479a0b..c2690f9 100644
--- a/t/COVERAGE
+++ b/t/COVERAGE
@@ -1,5 +1,5 @@
-Last generated 2011-12-21
-Coverage: 784/954 (82.18%), w. legacy tests: 892/954 (93.50%)
+Last generated 2012-01-22
+Coverage: 789/957 (82.45%), w. legacy t

[SCM] Debian package checker branch, master, updated. 2.5.4-98-g5b423b9

2012-01-22 Thread Niels Thykier
The following commit has been merged in the master branch:
commit 5b423b96dd9b314ac7eb28f2aa8cb3589ed7faaf
Author: Niels Thykier 
Date:   Sun Jan 22 12:51:16 2012 +0100

Removed reference to the removed "unpack" dir in README.dev

Signed-off-by: Niels Thykier 

diff --git a/doc/README.developers b/doc/README.developers
index 7df6038..fd2ae6d 100644
--- a/doc/README.developers
+++ b/doc/README.developers
@@ -88,10 +88,6 @@ the new test suite
 
 the legacy test suite
 
-=item unpack
-
-deprecated; used to contain unpack tools (see collection above)
-
 =back
 
 =head2 Core concepts in Lintian

-- 
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/e1rovxn-0004i6...@vasks.debian.org



[SCM] Debian package checker branch, master, updated. 2.5.4-97-gd377481

2012-01-22 Thread Niels Thykier
The following commit has been merged in the master branch:
commit d377481abfafefc20fe58215454c2ebaa63929ab
Author: Niels Thykier 
Date:   Sun Jan 22 12:14:32 2012 +0100

c/cruft: properly handle unpacked being a symlink

Signed-off-by: Niels Thykier 

diff --git a/checks/cruft b/checks/cruft
index 6fd9d39..ecd647e 100644
--- a/checks/cruft
+++ b/checks/cruft
@@ -137,8 +137,10 @@ if ($format =~ /^\s*2\.0\s*\z/ or $format =~ 
/^\s*3\.0\s*\(quilt\)/) {
 check_diffstat($info->diffstat, \%warned);
 }
 my $uroot = $info->unpacked;
-my $wanted = sub { find_cruft($pkg, $info, qr/\Q$uroot\E/, \%warned, $atdinbd, 
$ltinbd) };
-find($wanted, $info->unpacked);
+my $abs = Cwd::abs_path ("$uroot/") or fail "abs_path $uroot: $!";
+$abs =~ s,/$,,; # remove the trailing slash if any
+my $wanted = sub { find_cruft($pkg, $info, qr/\Q$abs\E/, \%warned, $atdinbd, 
$ltinbd) };
+find($wanted, $abs);
 
 # Look for cruft based on file's results, but allow cruft in test directories
 # where it may be part of a test suite.
diff --git a/debian/changelog b/debian/changelog
index 926f9bc..23b7be6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -30,6 +30,7 @@ lintian (2.5.5) UNRELEASED; urgency=low
   Felix Geyer for the report.  (Closes: #650325)
 + [NT] Accepted patch from Paul Wise to detect COFF object
   files as Win32 binaries.
++ [NT] Properly handle unpacked being a symlink.
   * checks/debconf:
 + [RA] Recognize Perl uses of debconf templates via metaget or
   settitle.

-- 
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/e1rovzm-0001dp...@vasks.debian.org



[SCM] Debian package checker branch, master, updated. 2.5.4-97-gd377481

2012-01-22 Thread Niels Thykier
The following commit has been merged in the master branch:
commit 647b80e96ba60947e4e8dba9fe49862edbb7cedb
Author: Niels Thykier 
Date:   Sun Jan 22 11:26:27 2012 +0100

Removed assumption unpacked being a regular dir in some colls

Signed-off-by: Niels Thykier 

diff --git a/collection/ar-info b/collection/ar-info
index 20f99c4..a512e15 100755
--- a/collection/ar-info
+++ b/collection/ar-info
@@ -32,14 +32,16 @@ my $pkg = shift;
 my $type = shift;
 
 unlink('ar-info');
-chdir('unpacked')
-or fail("cannot chdir to unpacked directory: $!");
 
-open(INDEX, '<', '../index')
+# Open before chdir, as unpacked may be a symlink
+open(INDEX, '<', 'index')
 or fail("cannot open index file: $!");
-open(OUT, '>', '../ar-info')
+open(OUT, '>', 'ar-info')
 or fail("cannot open ar-info file: $!");
 
+chdir('unpacked')
+or fail("cannot chdir to unpacked directory: $!");
+
 while () {
 chomp;
 next unless /\.a$/;
diff --git a/collection/md5sums b/collection/md5sums
index 316ddff..f695efc 100755
--- a/collection/md5sums
+++ b/collection/md5sums
@@ -22,6 +22,7 @@
 use strict;
 use warnings;
 
+use Cwd();
 use FileHandle;
 use lib "$ENV{'LINTIAN_ROOT'}/lib";
 use Lintian::Command qw(spawn reap);
@@ -30,17 +31,18 @@ use Util;
 ($#ARGV == 1) or fail('syntax: md5sums  ');
 my $pkg = shift;
 my $type = shift;
+my $dir = Cwd::cwd();
 
 unlink('md5sums');
 chdir('unpacked')
 or fail("cannot chdir to unpacked directory: $!");
 
 my %opts = ( pipe_in => FileHandle->new,
- out => '../md5sums',
+ out => "$dir/md5sums",
  fail => 'error' );
 spawn(\%opts, ['xargs', '-0r', 'md5sum'] );
 $opts{pipe_in}->blocking(1);
-open(INDEX, '<', '../index')
+open(INDEX, '<', "$dir/index")
 or fail("cannot open index file: $!");
 while () {
 next unless m/^-/;
diff --git a/debian/changelog b/debian/changelog
index da71ec1..926f9bc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -89,11 +89,15 @@ lintian (2.5.5) UNRELEASED; urgency=low
 + [NT] Ignore langpack symlinks if they appear to be consistent.
   Thanks to Evan Broder for the report.  (Closes: #650793)
 
+  * collection/ar-info:
++ [NT] Properly handle unpacked being a symlink.
   * collection/index:
 + [NT] Use Lintian::Processable::Package to determine source
   name and version.
   * collection/file-info-helper:
 + [NT] Do not open non-files when double-checking gzip files.
+  * collection/md5sums:
++ [NT] Properly handle unpacked being a symlink.
   * collection/source-control-file{,.desc}:
 + [NT] Removed as they are no longer needed.  They have been
   replaced by a smarter Lintian::Collect.

-- 
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/e1rovzk-0001co...@vasks.debian.org