Package: release.debian.org Severity: normal User: release.debian....@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 <ni...@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