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

Bug#682976: unblock: lintian/2.5.10.1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock

Hi,

I would like to upload a minor bug fix version of Lintian to sid
targeting wheezy.  Attached is the intended source debdiff for that
upload as generated by [1].

~Niels

unblock lintian/2.5.10.1


[1]
 $ debdiff --diffstat lintian_2.5.10.dsc lintian_2.5.10.1.dsc \
    | filterdiff -x '**/vendors/debian/ftp-master-auto-reject/data/**' 

The filterdiff removes a duplicate caused by debdiff following
symlinks.  (i.e. data/ is a symlink pointing to
vendors/debian/ftp-master-auto-reject/data.)
diffstat for lintian-2.5.10 lintian-2.5.10.1

 checks/fields.desc                                                |    6 
 checks/manpages                                                   |    2 
 data/binaries/embedded-libs                                       |    2 
 data/doc-base/sections                                            |    3 
 data/spelling/corrections                                         |   11 +
 debian/changelog                                                  |   48 +++++
 frontend/lintian                                                  |    2 
 lib/Lintian/Architecture.pm                                       |   83 ++++++++--
 lib/Lintian/Path.pm                                               |    9 -
 lib/Lintian/Relation.pm                                           |    3 
 lib/Lintian/Tag/Info.pm                                           |    6 
 vendors/debian/ftp-master-auto-reject/data/binaries/embedded-libs |    2 
 vendors/debian/ftp-master-auto-reject/data/doc-base/sections      |    3 
 vendors/debian/ftp-master-auto-reject/data/spelling/corrections   |   11 +
 14 files changed, 162 insertions(+), 29 deletions(-)

diff -Nru lintian-2.5.10/checks/fields.desc lintian-2.5.10.1/checks/fields.desc
--- lintian-2.5.10/checks/fields.desc	2012-06-26 16:05:38.000000000 +0200
+++ lintian-2.5.10.1/checks/fields.desc	2012-07-27 16:28:54.000000000 +0200
@@ -941,6 +941,9 @@
  should come second.
  .
  Example: libextutils-parsexs-perl (>= 2.210000) | perl (>= 5.14)
+ .
+ Running <tt>cme fix dpkg -from control -filter Depends</tt> should be able
+ to update these dependencies.
 Ref: policy 7.5
 
 Tag: package-superseded-by-perl
@@ -962,6 +965,9 @@
  versioned dependency a secondary one.
  .
  Example: perl (&gt;= 5.10.0) | libmodule-build-perl (&gt;= 0.26)
+ .
+ Running <tt>cme fix dpkg -from control -filter Depends</tt> should be able
+ to update these dependencies.
 Ref: policy 7.5
 
 Tag: vcs-field-uses-not-recommended-uri-format
diff -Nru lintian-2.5.10/checks/manpages lintian-2.5.10.1/checks/manpages
--- lintian-2.5.10/checks/manpages	2012-06-26 16:51:47.000000000 +0200
+++ lintian-2.5.10.1/checks/manpages	2012-07-27 16:28:54.000000000 +0200
@@ -262,7 +262,7 @@
             # ignore wrapping failures if they contain URLs (.UE is an
             # extension for marking the end of a URL).
             next if /:(\d+): warning \[.*\]: (can\'t break|cannot adjust) line/
-                and (   $manfile[$1 - 1] =~ m,(?:https?|ftp)://.+,i
+                and (   $manfile[$1 - 1] =~ m,(?:https?|ftp|file)://.+,i
                      or $manfile[$1 - 1] =~ m,^\s*\.\s*UE\b,);
             # ignore common undefined macros from pod2man << Perl 5.10
             next if /warning: (?:macro )?\`(Tr|IX)\' not defined/;
diff -Nru lintian-2.5.10/data/binaries/embedded-libs lintian-2.5.10.1/data/binaries/embedded-libs
--- lintian-2.5.10/data/binaries/embedded-libs	2012-06-26 16:47:31.000000000 +0200
+++ lintian-2.5.10.1/data/binaries/embedded-libs	2012-07-27 12:39:32.000000000 +0200
@@ -54,7 +54,7 @@
 libmng    ||TERM misplaced during creation of MNG stream
 libmsn    ||The MSN server has terminated the connection with an unknown reason code\.
 libmikmod ||APUN \(APlayer\) and UNI \(MikMod\)
-libmysqlclient ||source-regex=mysql-\d.* ||MySQL client ran out of memory
+libmysqlclient ||source-regex=mysql(?:-\d.*)? ||MySQL client ran out of memory
 libpcap   ||(?:pcap_activate: The "any" device isn\'t supported|corrupted frame on kernel ring mac offset)
 libpng    ||(?m)^Potential overflow in png_zalloc
 libpostproc ||source=libav||using npp filters 0x%X/0x%X\n
diff -Nru lintian-2.5.10/data/doc-base/sections lintian-2.5.10.1/data/doc-base/sections
--- lintian-2.5.10/data/doc-base/sections	2012-06-26 16:05:40.000000000 +0200
+++ lintian-2.5.10.1/data/doc-base/sections	2012-07-27 11:10:33.000000000 +0200
@@ -1,6 +1,6 @@
 # Taken from /usr/share/doc-base/data/sections.list.
 #
-# Last synchronized with doc-base 0.9.5 (2009-10-27).
+# Last synchronized with doc-base 0.10.4 (2012-07-10).
 
 Accessibility
 Amateur Radio
@@ -31,6 +31,7 @@
 Network/Communication
 Network/File Transfer
 Network/Monitoring
+Network/Remote Access
 Network/Web Browsing
 Network/Web News
 Office
diff -Nru lintian-2.5.10/data/spelling/corrections lintian-2.5.10.1/data/spelling/corrections
--- lintian-2.5.10/data/spelling/corrections	2012-06-26 16:51:47.000000000 +0200
+++ lintian-2.5.10.1/data/spelling/corrections	2012-07-27 12:39:31.000000000 +0200
@@ -93,6 +93,7 @@
 asuming||assuming
 asycronous||asynchronous
 atomatically||automatically
+attachement||attachment
 attemps||attempts
 attruibutes||attributes
 authentification||authentication
@@ -117,6 +118,7 @@
 bahavior||behavior
 baloon||balloon
 baloons||balloons
+bandwith||bandwidth
 batery||battery
 becomming||becoming
 becuase||because
@@ -165,6 +167,7 @@
 connnection||connection
 connnections||connections
 consistancy||consistency
+consistant||consistent
 containes||contains
 containts||contains
 contence||contents
@@ -249,6 +252,7 @@
 explicitely||explicitly
 expresion||expression
 exprimental||experimental
+extensability||extensibility
 extention||extension
 extracter||extractor
 failuer||failure
@@ -315,12 +319,15 @@
 jave||java
 langage||language
 langauage||language
+langauge||language
 langugage||language
 lauch||launch
+leightweight||lightweight
 lenght||length
 lesstiff||lesstif
 libaries||libraries
 libary||library
+librairies||libraries
 libraris||libraries
 licenceing||licencing
 loggging||logging
@@ -334,6 +341,7 @@
 malplace||misplace
 malplaced||misplaced
 managable||manageable
+managment||management
 manoeuvering||maneuvering
 mathimatical||mathematical
 mathimatic||mathematic
@@ -415,6 +423,7 @@
 primative||primitive
 princliple||principle
 priorty||priority
+priviledge||privilege
 procceed||proceed
 proccesors||processors
 proces||process
@@ -493,6 +502,7 @@
 setts||sets
 similiar||similar
 simliar||similar
+softwares||software
 speach||speech
 speciefied||specified
 specifed||specified
@@ -529,6 +539,7 @@
 syncronizing||synchronizing
 syncronus||synchronous
 syste||system
+sytem||system
 sythesis||synthesis
 taht||that
 targetted||targeted
diff -Nru lintian-2.5.10/debian/changelog lintian-2.5.10.1/debian/changelog
--- lintian-2.5.10/debian/changelog	2012-06-30 17:22:06.000000000 +0200
+++ lintian-2.5.10.1/debian/changelog	2012-07-27 16:32:29.000000000 +0200
@@ -1,3 +1,45 @@
+lintian (2.5.10.1) unstable; urgency=low
+
+  * checks/fields.desc:
+    + [NT] Mention that cme can automate fixing some perl
+      related tags.  Thanks to gregor herrmann for the report
+      and patch.  (Closes: #680446)
+  * checks/manpages:
+    + [NT] Ignore wrapping issues on lines containing "file://" as
+      those are probably also URLs.  Thanks to Faheem Mitha for the
+      report.  (Closes: #682701)
+
+  * data/binaries/embedded-libs:
+    + [NT] Update source-regex for libmysqlclient.  Thanks to
+      Nicholas Bamber for the report.  (Closes: #682022)
+  * data/doc-base/sections:
+    + [NT] Update section list.  (Closes: #678650)
+  * data/spelling/corrections:
+    + [NT] Add new corrections.  Thanks to Justin B Rye.
+      (Closes: #681527)
+
+  * debian/changelog:
+    + [NT] Fix some typos in earlier entries.
+
+  * frontend/lintian:
+    + [NT] Fix synopsis for --no-cfg option in the help output.
+
+  * lib/Lintian/Architecture.pm:
+    + [NT] Properly handle cases like "linux-amd64" being an
+      alias of "amd64".
+  * lib/Lintian/Path.pm:
+    + [NT] Always resolve hardlinks relative to the package
+      root.
+  * lib/Lintian/Relation.pm:
+    + [NT] Fix handling of VISIT_OR_CLAUSE_FULL bit mask in a
+      condition.
+  * lib/Lintian/Tag/Info.pm:
+    + [NT] Fix poor error message due to the wrong variable
+      being unused.  Thanks to Christoph Biedl for the report
+      (Closes: #682941)
+
+ -- Niels Thykier <niels@thykier.net>  Fri, 27 Jul 2012 16:32:26 +0200
+
 lintian (2.5.10) unstable; urgency=low
 
   * Summary of tag changes:
@@ -61,7 +103,7 @@
     + [NT] Improve Lintian's job scheduler to schedule unpacking
       jobs on a group level rather than just a package level.
 
-  * lib/Lintian/Collect/[Binary,Package}.pm:
+  * lib/Lintian/Collect/{Binary,Package}.pm:
     + [NT] Use new gzip decompressor from L::Util.
   * lib/Lintian/CollScript.pm:
     + [NT] New file.
@@ -1052,7 +1094,7 @@
     + [NT] Fixed an "uninitialized variable" warning if no tarballs were
       present or the tarball is empty.  (Closes: #645660, LP: #886487)
     + [NT] Fixed deprecation warning when using perl 5.14.
-  * collcetion/debfiles:
+  * collection/debfiles:
     + [NT] Bail if the debian dir is a symlink.
 
   * data/changelog-file/debian-dists:
@@ -1107,7 +1149,7 @@
       name"-based search.
 
   * lib/Lab{,/Package}.pm:
-    + [NT] Removed, replaced by Lintian::Package{,::Entry}.
+    + [NT] Removed, replaced by Lintian::Lab{,::Entry}.
   * lib/Lintian/Check.pm:
     + [JW] Merged with common_data.pm.
   * lib/Lintian/Collect/Group.pm:
diff -Nru lintian-2.5.10/frontend/lintian lintian-2.5.10.1/frontend/lintian
--- lintian-2.5.10/frontend/lintian	2012-06-30 17:03:20.000000000 +0200
+++ lintian-2.5.10.1/frontend/lintian	2012-07-27 16:28:54.000000000 +0200
@@ -208,7 +208,7 @@
     --area AREA               scan packages in this archive area (e.g. main)
     --archivedir ARCHIVEDIR   location of Debian archive to scan for packages
     --cfg CONFIGFILE          read CONFIGFILE for configuration
-    --no-cfg CONFIGFILE       do not read any CONFIGFILE
+    --no-cfg                  do not read any config files
     --dist DIST               scan packages in this distribution (e.g. sid)
     -j X, --jobs X            limit the number of parallel unpacking jobs to X
     --lab LABDIR              use LABDIR as permanent laboratory
diff -Nru lintian-2.5.10/lib/Lintian/Architecture.pm lintian-2.5.10.1/lib/Lintian/Architecture.pm
--- lintian-2.5.10/lib/Lintian/Architecture.pm	2012-06-26 16:05:38.000000000 +0200
+++ lintian-2.5.10.1/lib/Lintian/Architecture.pm	2012-07-27 16:28:54.000000000 +0200
@@ -55,7 +55,30 @@
 =head1 DESCRIPTION
 
 Lintian API for checking and expanding architectures and architecture
-wildcards.
+wildcards.  The functions are backed by a L<data|Lintian::Data> file,
+so it may be out of date (use private/refresh-archs to update it).
+
+Generally all architecture names are in the format "$os-$arch" and
+wildcards are "$os-any" or "any-$cpu", though there are exceptions:
+
+=over 4
+
+=item * "all" is the "architecture independent" architecture.
+
+Source: Policy §5.6.8 (v3.9.3)
+
+=item * "any" is a wildcard matching any architecture except "all".
+
+Source: Policy §5.6.8 (v3.9.3)
+
+=item * All other cases of "$arch" are short for "linux-$arch"
+
+Source: Policy §11.1 (v3.9.3)
+
+=back
+
+Note that the architecture and cpu name are not always identical
+(example architecture "armhf" has cpu name "arm").
 
 =head1 FUNCTIONS
 
@@ -69,15 +92,42 @@
 
 # Valid architecture wildcards.
 my %ARCH_WILDCARDS = ();
+# Maps aliases to the "original" arch name.
+# (e.g. "linux-amd64" => "amd64")
+my %ALT_ARCH_NAMES = ();
 
 sub _parse_arch {
     my ($archstr, $raw) = @_;
-    my ($os, $arch) = split /\s++/o, $raw;
+    # NB: "$os-$cpu" ne $archstr in some cases
+    my ($os, $cpu) = split /\s++/o, $raw;
     # map $os-any (e.g. "linux-any") and any-$arch (e.g. "any-amd64") to
     # the relevant architectures.
     $ARCH_WILDCARDS{"$os-any"}->{$archstr} = 1;
-    $ARCH_WILDCARDS{"any-$arch"}->{$archstr} = 1;
+    $ARCH_WILDCARDS{"any-$cpu"}->{$archstr} = 1;
     $ARCH_WILDCARDS{'any'}->{$archstr} = 1;
+    if ($os eq 'linux') {
+        my ($long, $short);
+        # Per Policy §11.1 (3.9.3):
+        #
+        #"""[architecture] strings are in the format "os-arch", though
+        # the OS part is sometimes elided, as when the OS is Linux."""
+        #
+        # i.e. "linux-amd64" and "amd64" are aliases, so handle them
+        # as such.  Currently, dpkg-architecture -L gives us "amd64"
+        # but in case it changes to "linux-amd64", we are prepared.
+        if ($archstr =~ m/^linux-/) {
+            # It may be temping to use $cpu here, but it does not work
+            # for (e.g.) arm based architectures.  Instead extract the
+            # "short" architecture name from $archstr
+            (undef, $short) = split m/-/, $archstr, 2;
+            $long = $archstr;
+        } else {
+            $short = $archstr;
+            $long = "$os-$short";
+        }
+        $ALT_ARCH_NAMES{$short} = $archstr;
+        $ALT_ARCH_NAMES{$long} = $archstr;
+    }
 }
 
 my $ARCH_RAW = Lintian::Data->new ('common/architectures', qr/\s*+\Q||\E\s*+/o,
@@ -85,7 +135,7 @@
 
 =item is_arch_wildcard ($wc)
 
-Returns a truth value if $wc is an architecture wildcard.
+Returns a truth value if $wc is a known architecture wildcard.
 
 Note: 'any' is considered a wildcard and not an architecture.
 
@@ -99,17 +149,19 @@
 
 =item is_arch ($arch)
 
-Returns a truth value if $arch is an architecture (but not an
-architecture wildcard).
-
-Note that 'any' is considered a wildcard and not an architecture.
+Returns a truth value if $arch is (an alias of) a Debian machine
+architecture OR the special value "all".  It returns a false value for
+architecture wildcards (including "any") and unknown architectures.
 
 =cut
 
 sub is_arch {
     my ($arch) = @_;
-    return 1 if $arch eq 'all';
-    return ($arch ne 'any' && $ARCH_RAW->known($arch)) ? 1 : 0;
+    return 0 if $arch eq 'any';
+    return 1 if $arch eq 'all'
+        or $ARCH_RAW->known ($arch)
+        or exists $ALT_ARCH_NAMES{$arch};
+    return 0;
 }
 
 =item is_arch_or_wildcard ($arch)
@@ -136,7 +188,10 @@
 
 Note: This list is based on the architectures in Lintian's data file.
 However, many of these are not supported or used in Debian or any of
-its derivaties.
+its derivatives.
+
+The returned values matches the list generated by dpkg-architecture -L,
+so the returned list may use (e.g.) "amd64" for "linux-amd64".
 
 =cut
 
@@ -148,7 +203,7 @@
     return keys %{ $ARCH_WILDCARDS{$wc} };
 }
 
-=item wildcard_include_arch ($wc, $arch)
+=item wildcard_includes_arch ($wc, $arch)
 
 Returns a truth value if $arch is included in the list of
 architectures that $wc expands to.
@@ -157,12 +212,16 @@
 
   grep { $_ eq $arch } expand_arch_wildcard ($wc)
 
+It also properly handles cases like "linux-amd64" and "amd64" being
+aliases.
+
 =cut
 
 sub wildcard_includes_arch {
     my ($wc, $arch) = @_;
     # Load the wildcards if it has not been done yet.
     $ARCH_RAW->known ('any') unless %ARCH_WILDCARDS;
+    $arch = $ALT_ARCH_NAMES{$arch} if exists $ALT_ARCH_NAMES{$arch};
     return exists $ARCH_WILDCARDS{$wc}->{$arch} ? 1 : 0;
 }
 
diff -Nru lintian-2.5.10/lib/Lintian/Path.pm lintian-2.5.10.1/lib/Lintian/Path.pm
--- lintian-2.5.10/lib/Lintian/Path.pm	2012-06-26 16:51:47.000000000 +0200
+++ lintian-2.5.10.1/lib/Lintian/Path.pm	2012-07-27 12:39:33.000000000 +0200
@@ -24,7 +24,6 @@
 use base qw(Class::Accessor);
 
 use Carp qw(croak);
-use File::Basename qw(dirname);
 
 use Lintian::Util qw(resolve_pkg_path);
 
@@ -118,8 +117,7 @@
 
 If the path is a symlink this method can be used to determine if the
 symlink is relative or absolute.  This is I<not> true for hardlinks,
-as the hardlink normalization may change a relative link into an
-absolute link.
+where the link target is always relative to the root.
 
 NB: Even for symlinks, a leading "./" will be stripped.
 
@@ -244,7 +242,10 @@
     my $name = $self->name;
     my $link = $self->link;
     croak "$name is not a link" unless defined $link;
-    my $target = resolve_pkg_path (dirname ($name), $link);
+    my $dir = $self->dirname;
+    # hardlinks are always relative to the package root
+    $dir = '/' if $self->is_hardlink;
+    my $target = resolve_pkg_path ($dir, $link);
     if ($target) {
         # map "." to ''.
         $target = '' if $target eq '.';
diff -Nru lintian-2.5.10/lib/Lintian/Relation.pm lintian-2.5.10.1/lib/Lintian/Relation.pm
--- lintian-2.5.10/lib/Lintian/Relation.pm	2012-06-26 16:05:39.000000000 +0200
+++ lintian-2.5.10.1/lib/Lintian/Relation.pm	2012-07-27 11:11:15.000000000 +0200
@@ -806,7 +806,8 @@
         $against = $self->unparse ($relation) if $flags & VISIT_PRED_FULL;
         local $_ = $against;
         return $code->($against);
-    } elsif (($flags & VISIT_OR_CLAUSE_FULL) and $relation->[0] eq 'OR') {
+    } elsif (($flags & VISIT_OR_CLAUSE_FULL) == VISIT_OR_CLAUSE_FULL and
+             $relation->[0] eq 'OR') {
         my $against = $self->unparse ($relation);
         local $_ = $against;
         return $code->($against);
diff -Nru lintian-2.5.10/lib/Lintian/Tag/Info.pm lintian-2.5.10.1/lib/Lintian/Tag/Info.pm
--- lintian-2.5.10/lib/Lintian/Tag/Info.pm	2012-06-26 16:51:47.000000000 +0200
+++ lintian-2.5.10.1/lib/Lintian/Tag/Info.pm	2012-07-27 12:39:32.000000000 +0200
@@ -87,8 +87,8 @@
     $self = \%copy;
     croak "Missing Tag field" unless $self->{'tag'};
     $tagname = $self->{'tag'};
-    croak "Missing Severity field for $tag" unless $self->{'severity'};
-    croak "Missing Certainity field for $tag" unless $self->{'certainty'};
+    croak "Missing Severity field for $tagname" unless $self->{'severity'};
+    croak "Missing Certainty field for $tagname" unless $self->{'certainty'};
     $self->{'info'} = '' unless $self->{'info'};
     $self->{'script'} = $sn;
     $self->{'script-type'} = $st;
@@ -100,7 +100,7 @@
     # certainty is wrong (or we introduced a new one but forgot to add
     # it to %CODES).
     unless ($self->code) {
-        croak "Cannot determine the code of $tag (severity:"
+        croak "Cannot determine the code of $tagname (severity:"
             . " $self->{'severity'}, certainity: $self->{'certainty'}).\n";
     }
 
diff -Nru lintian-2.5.10/vendors/debian/ftp-master-auto-reject/data/binaries/embedded-libs lintian-2.5.10.1/vendors/debian/ftp-master-auto-reject/data/binaries/embedded-libs
diff -Nru lintian-2.5.10/vendors/debian/ftp-master-auto-reject/data/doc-base/sections lintian-2.5.10.1/vendors/debian/ftp-master-auto-reject/data/doc-base/sections
diff -Nru lintian-2.5.10/vendors/debian/ftp-master-auto-reject/data/spelling/corrections lintian-2.5.10.1/vendors/debian/ftp-master-auto-reject/data/spelling/corrections

Reply to: