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 (>= 5.10.0) | libmodule-build-perl (>= 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: