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

Bug#478930: marked as done ([checks/copyright-file] check for new copyright format)



Your message dated Sat, 10 Sep 2011 10:18:44 +0000
with message-id <E1R2Ke4-0006Or-1g@franck.debian.org>
and subject line Bug#633779: fixed in lintian 2.5.3
has caused the Debian Bug report #633779,
regarding [checks/copyright-file] check for new copyright format
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
633779: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=633779
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: lintian
Version: 1.23.46
Severity: wishlist
Tags: patch

The files add checks for the proposal:
http://wiki.debian.org/Proposals/CopyrightFormat

I hope this implementation will help to clarify things.

To enable, copy:
- copyright-specification to /usr/share/lintian/checks/
- copyright-specification.desc to /usr/share/lintian/checks/
- DebianCopyrightParser.pm to /usr/share/lintian/lib

and check with -I

-- System Information:
Debian Release: lenny/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.18-6-xen-686 (SMP w/2 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages lintian depends on:
ii  binutils            2.18.1~cvs20080103-4 The GNU assembler, linker and bina
ii  diffstat            1.45-2               produces graph of changes introduc
ii  dpkg-dev            1.14.18              package building tools for Debian
ii  file                4.23-2               Determines file type using "magic"
ii  gettext             0.17-2               GNU Internationalization utilities
ii  intltool-debian     0.35.0+20060710.1    Help i18n of RFC822 compliant conf
ii  libparse-debianchan 1.1.1-2              parse Debian changelogs and output
ii  liburi-perl         1.35.dfsg.1-1        Manipulates and accesses URI strin
ii  man-db              2.5.1-3              on-line manual pager
ii  perl [libdigest-md5 5.8.8-12             Larry Wall's Practical Extraction 

lintian recommends no packages.

-- no debconf information
# control-file -- lintian check script -*- perl -*-
#
# Copyright (C) 2004 Marc Brockschmidt
#
# 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 Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, you can find it on the World Wide
# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
# MA 02110-1301, USA.

package Lintian::copyright_specification;
use strict;
use lib "$ENV{'LINTIAN_ROOT'}/checks/";
use common_data;
use Dep;
use DebianCopyrightParser;
use Tags;
use Data::Dumper;

sub run {

	my $pkg = shift;
	my $type = shift;

	#parse the copyright file
	my @data = DebianCopyrightParser::read_dpkg_copyright("unpacked/debian/copyright");
	my $follow_spec = 0;
	#check if it has a format-specification header
	foreach my $section (@data) {
		#next section if this is not an error
		next if $section->{'format-specification'};
		$follow_spec = 1;
		last;
	}

	#don't check other stuff if it doesn't have the format-specification header
	if ($follow_spec == 0) {
		tag "debian-copyright-no-specification", '';
	} else {
		#errors found by the parser
		foreach my $section (@data) {
			#next section if this is not an error
			next if not $section->{error};
			tag "debian-copyright-".$section->{error}, $section->{info};
		}

		# Check that every file in the tree has a license
		my $command = 'cd unpacked && find . -type f -a -not \( -false';
		foreach my $section (@data) {
			next if not $section->{files};
			#patterns are comma separated
			#TODO: manage quoted strings with comma in it
			$command .= ' -o -path ./'.join(' -o -path ./', split m/,\s/, $section->{files});
	
		}
		$command .= ' \) ; cd .. ';
		my $files_without_copyright = `$command`;
		if ($files_without_copyright) {
			foreach my $file (split '\n', $files_without_copyright) {
				tag 'debian-copyright-file-without-copyright', $file;
			}
		}

		# Check that every pattern match something
		foreach my $section (@data) {
			#next section if this is not a files section
			next if not $section->{files};
			#files are comma separated
			#TODO: manage quoted strings (with comma in it)
			my @patterns = split m/,\s/, $section->{files} ;
			foreach my $pattern (@patterns) {
				if (not `ls -l && cd unpacked && find . -type f -a -path $pattern ; cd ..`) {
					tag 'debian-copyright-section-without-match', $pattern ;
				}
			}
		}
	}

}

1;

# vim: syntax=perl sw=4 ts=4 noet shiftround
Check-Script: copyright-specification
Author: Mathieu Parent <math.parent@gmail.com>
Abbrev: csp
Type: source
Unpack-Level: 2

Tag: debian-copyright-no-specification
Type: info
Info: The package contains a copyright file that  that does not follow the
 proposed copyright format. This is not required by the policy.
 .
 More information on how to follow this proposed format at
 http://wiki.debian.org/Proposals/CopyrightFormat

Tag: debian-copyright-unknown-field
Type: warning
Info: The package contains a copyright file that as an unknown field.

Tag: debian-copyright-duplicate-field
Type: warning
Info: The package contains a copyright file whose one section has a duplicated
 field.

Tag: debian-copyright-extra-line
Type: warning
Info: The package contains a copyright file that has non-rfc2822 lines.

Tag: debian-copyright-file-without-copyright
Type: warning
Info: The package contains a copyright file that does match the specified file.

Tag: debian-copyright-section-without-match
Type: warning
Info: The package contains a copyright file which has a section which does
 match any file.

# Hey emacs! This is a -*- Perl -*- script!
# DebianCopyrightParser -- debian copyright parser

# Copyright (C) 1998 Christian Schwarz
# Copyright (C) 2008 Mathieu Parent <math.parent@gmail.com>
#
# 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 Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, you can find it on the World Wide
# Web at http://www.gnu.org/copyleft/gpl.html, or write to the Free
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
# MA 02110-1301, USA.

package DebianCopyrightParser;
use strict;

use Exporter;
our @ISA = qw(Exporter);
our @EXPORT = qw(parse_dpkg_copyright
	read_dpkg_copyright
	get_file_copyright
	fail);

use FileHandle;

# general function to read dpkg copyright files
# arguments:
#    $filehandle 
# output:
#    list of hashes
#    (a hash contains one sections,
#    keys in hash are lower case letters of control fields
#    errors are sections also)
sub parse_dpkg_copyright {
    my ($COPYRIGHT) = @_;

    my @errors;
    my $cur_error = 0;
    my @data;
    my $cur_section = 0;
    my $open_section = 0;
    my $last_tag;
    my $line_number = 0;

    while (<$COPYRIGHT>) {
	chomp;
	$line_number++;

	# empty line? -> force new section
	if (m/^$/) {
	    if ($open_section) { # end of current section
		$cur_section++;
		$open_section = 0;
	    }
	}
	# pgp sig? -> skip until end of signature
	elsif (m/^-----BEGIN PGP SIGNATURE/) {
	    while (<$COPYRIGHT>) {
		$line_number++;
		last if m/^-----END PGP SIGNATURE/o;
	    }
	}
	# other pgp control? -> skip until the next blank line
	elsif (m/^-----BEGIN PGP/) {
	    while (<$COPYRIGHT>) {
		$line_number++;
		last if /^\s*$/o;
	    }
	}
	# new field?
	elsif (m/^(\S+):\s*(.*)$/o) {
	    my ($tag,$value) = (lc $1,$2);
	    #format-specification, files and notice always start a section
	    if($tag =~ /format-specification|files|notice/i) {
		$cur_section++ if $open_section;
	    #license only start a section if the current section already have a license field
	    } elsif ($tag =~ /license/i and $data[$cur_section]->{'license'}) {
		$cur_section++ if $open_section;
	    #other known fields
	    } elsif($tag =~ /debianized-by|debianized-date|original-source-location|upstream-author|copyright|license/i) {
		#do nothing
	    #unknown fields
	    } else {
		$errors[$cur_error]->{error} = 'unknown-field';
	        $errors[$cur_error]->{info} = "$tag";
		$cur_error++;
	    }
	    #fields already parsed for current section
	    if($data[$cur_section]->{$tag}) {
		$errors[$cur_error]->{error} = 'duplicate-field';
	        $errors[$cur_error]->{info} = "$tag in section $cur_section line $line_number";
		$cur_error++;
	    }
	    $open_section = 1;
	    $data[$cur_section]->{$tag} = $value;
	    $last_tag = $tag;
	}
	# continued field?
	elsif (m/^ (.*)$/o and $open_section) {
	    $data[$cur_section]->{$last_tag} .= "\n".$1;
	}
	#everything else	
	else {
	    $errors[$cur_error]->{error} = 'extra-line';
	    $errors[$cur_error]->{info} = "line $line_number";
	    $cur_error++;
	}
    }
    return (@errors,@data);
}

sub read_dpkg_copyright {
    my ($file) = @_;

    if (not _ensure_file_is_sane($file)) {
	return undef;
    }

    my $COPYRIGHT = FileHandle->new;
    open($COPYRIGHT, '<', $file)
	or fail("cannot open copyright file $file for reading: $!");
    my @data = parse_dpkg_copyright($COPYRIGHT);
    close($COPYRIGHT)
	or fail("pipe for copyright file $file exited with status: $?");
    return @data;
}

# not used
sub _file_matches {
    my ($file,$pattern) = @_;
    #TODO: expand patterns
    #find . -path "$PATTERN"
    #$output_string = `find . -path "$pattern"`;
    return $pattern eq $file;
}

# not used
sub _get_complete_license {
    my ($license,@data) = @_;
    foreach my $section (@data) {
	#next section if this is not a license section
	next if $section->{files} or not $section->{license};
	#check that this is the matching license section
	return $section->{license} if $section->{license} =~ /^\s*$license/
    }
    return $license;
}

# not used
sub get_file_copyright {
    my ($file,@data) = @_;
    my $ret= {};
    foreach my $section (@data) {
	next if not $section->{files};
	#files are comma separated
	#TODO: manage quoted strings (with comma in it)
	my @patterns = split m/,\s/, $section->{files} ;
	foreach my $pattern (@patterns) {
	    #TODO: what if it matches several patterns?
	    # the current implementation takes the first match
	    if (_file_matches($file,$pattern)) {
		$ret->{copyright} = $section->{copyright};
		#one term: check for license section
		$ret->{license} = $section->{license};
		$ret->{'matching-pattern'} = $pattern;
		if($ret->{license} =~ /\s*(\S+)\s*/) {
		    $ret->{license} = _get_complete_license($1, @data);
		}
		return $ret;
	    }
	}
    }
    $ret->{license} = "unknown";
    $ret->{copyright} = "unknown";
    return $ret;
}

sub _ensure_file_is_sane {
    my ($file) = @_;

    # if file exists and is not 0 bytes
    if (-f $file and -s $file) {
	return 1;
    }
    return 0;
}

# ------------------------

sub fail {
    my $str = "internal error";
    if (@_) {
	$str .= ": ".join( "\n", @_)."\n";
    } elsif ($!) {
	$str .= ": $!\n";
    } else {
	$str .= ".\n";
    }
    $! = 2; # set return code outside eval()
    die $str;

}

1;

--- End Message ---
--- Begin Message ---
Source: lintian
Source-Version: 2.5.3

We believe that the bug you reported is fixed in the latest version of
lintian, which is due to be installed in the Debian FTP archive:

lintian_2.5.3.dsc
  to main/l/lintian/lintian_2.5.3.dsc
lintian_2.5.3.tar.gz
  to main/l/lintian/lintian_2.5.3.tar.gz
lintian_2.5.3_all.deb
  to main/l/lintian/lintian_2.5.3_all.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 633779@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Niels Thykier <niels@thykier.net> (supplier of updated lintian package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Sat, 10 Sep 2011 11:53:51 +0200
Source: lintian
Binary: lintian
Architecture: source all
Version: 2.5.3
Distribution: unstable
Urgency: low
Maintainer: Debian Lintian Maintainers <lintian-maint@debian.org>
Changed-By: Niels Thykier <niels@thykier.net>
Description: 
 lintian    - Debian package checker
Closes: 474590 574689 580427 584280 607399 613604 617901 617959 622149 624434 629308 633779 634112 634191 636994 637590 637595 637596 637649 637741 637793 637819 638411 639018 639144 639177 639292 639367 639430 639516 639735 639923 639928 639946 640131 640149 640186 640211 640228 640238 640366 640371 640489 640694 640705 640834 640853 640856 640921 640947 640962
Changes: 
 lintian (2.5.3) unstable; urgency=low
 .
   The "Another 51 bites the dust.  169 left to go." release.
 .
   * Summary of tag changes:
     + Added:
       - boilerplate-copyright-format-uri
       - control-file-is-not-a-file
       - comma-separated-files-in-dep5-copyright
       - copyright-has-crs
       - debian-copyright-is-symlink
       - depends-on-packaging-dev
       - dh_installmanpages-is-obsolete
       - missing-field-in-dep5-copyright
       - missing-license-paragraph-in-dep5-copyright
       - missing-license-text-in-dep5-copyright
       - no-debian-copyright
       - obsolete-field-in-dep5-copyright
       - out-of-date-copyright-format-uri
       - package-contains-no-arch-dependent-files
       - perl-module-uses-perl4-libs-without-dep
       - readme-debian-contains-invalid-email-address
       - script-uses-perl4-libs-without-dep
       - syntax-error-in-dep5-copyright
       - unknown-copyright-format-uri
       - unknown-paragraph-in-dep5-copyright
       - unused-license-paragraph-in-dep5-copyright
       - unversioned-copyright-format-uri
       - vim-addon-within-vim-runtime-path
       - wiki-copyright-format-uri
     + Removed:
       - debian-changelog-file-contains-debmake-default-email-address
       - readme-debian-contains-debmake-default-email-address
       - script-calls-init-script-directly
 .
   * checks/*:
     + [NT] Dropped fields from Needs-Info, it is no longer needed.
     + [JW] Use LC_ALL rather than LANG, since LC_ALL overrules
       LANG.  (Closes: #637595)
     + [JW] Removed all whitespace lines to avoid confusing some
       dctrl parsers (notably grep-dctrl).  (Closes: #639928)
     + [JW] Fix a number of broken references in the tag
       descriptions.  (Closes: #639923)
     + [JW] Rewrote Debian Bug references using #nnnnnn notation.
   * checks/binaries.desc:
     + [NT] Remove the reference to the Library Packaging Guide,
       since it is no longer available (in Debian).  (Closes: #640228)
   * checks/changelog-file{,.desc}:
     + [JW] Remove debmake-specific tag in favour of more general
       debian-changelog-file-contains-invalid-email-address.
       (Closes: #639946)
     + [JW,NT] Fixed use of uninitialized value as hash key.
       (Closes: #640238)
     + [NT] Mention that the missing native changelog tag can, in
       some cases, be emitted if it does not look like a Debian
       changelog.
   * checks/{conffile,etcfiles}{,.desc}:
     + [JW] Merged etcfiles into conffile.  (Closes: #637590)
   * checks/conffile:
     + [NT] Skip all checks if "conffiles" is a symlink.
   * checks/control-files{,.desc}:
     + [NT] Check that all members of the control.tar.gz are either
       regular files or directories.
   * checks/copyright-file{,.desc}:
     + [JW] Check for CRLF line endings in copyright files.
       (Closes: #634191)
     + [JW] Extended helper-templates-in-copyright and ensure it is
       only emitted once per package.
   * checks/debhelper{,.desc}:
     + [NT] Recognise /usr/share/R/debian/r-cran.mk as a cdbs-based
       build.  This prevents false-positive "unneeded cdbs" warning.
     + [JW] Check for use of the obsolete dh_installmanpages debhelper
       program.  Thanks to Joey Hess for the report.  (Closes: #634112).
   * checks/debian-readme{,.desc}:
     + [JW] Replace debmake-specific tag with more general
       readme-debian-contains-invalid-email-address.
   * checks/description.desc:
     + [JW] Added references to some tags.  (Closes: #640853)
   * checks/duplicate-files{,.desc}:
     + [NT] Replace the exception for "__init__.py" files by excluding
       all empty files from the check.  The bug (#632789) only requests
       an exception for "empty __init__.py" files and generally empty
       files are unlikely to cause a serious size-waste.
   * checks/fields{,.desc}:
     + [NT] Mention that perl modules included in perl itself should
       be the first dependency if it is only included in the perl
       from experimental.  Thanks to Dominic Hargreaves for the
       report and the patch.  (Closes: #637793)
     + [NT] Warn about (build)depending/recommending on packaging-dev.
       Thanks to Luk Claes for the report and the initial patch.
       (Closes: #629308)
     + [NT] Also emit bad-homepage if the Homepage URL does not seem to
       be using a known protocol (for homepages).  (Closes: #580427)
     + [JW] Bumped the severity of "no-human-maintainers", since it is
       now a Policy "must" directive.  (Closes: #640856)
     + [JW,NT] If superfluous-clutter-in-homepage has been emitted,
       ignore the surrounding "<>" for the rest of the homepage checks.
       (Closes: #640947)
     + [NT] Added check for Build-Depending on libdbX.Y-dev (and related
       packages.  Most packages should be able to use unversioned -dev
       packages.  Thanks to Ondřej Surý for the report and the initial
       tag description.  (Closes: #624434)
   * checks/{filename-length,rules}.desc:
     + [NT] Improved the descriptions of some tags.  (Closes: #639018)
   * checks/files{,.desc}:
     + [NT] Added exceptions to "extra-license-file" for manpages,
       static libraries, .pc-, elf and pyshared-data-files.  This
       covers all the false-positives currently found in the liblicense
       package.  (Closes: #617901)
     + [NT] Ignore non-ELF files in multiarch paths, when checking for
       a missing pre-depends on multiarch-support.  Thanks to Sven
       Joachim for the report.  (Closes: #639735)
     + [NT] Added check for packages that only ships files in /usr/share
       and are not marked "Architecture: all".  Thanks to Evgeni Golov,
       Carl Fürstenberg and Jari Aalto for the suggestions.
       (Closes: #574689)
     + [JW] Do not emit third-party-package-in-python-dir for packages built
       from python{,3}-{stdlib-extensions,profiler,old-doctools} sources.
       Add reference to Python Policy in the tag description.
       (Closes: #640211)
     + [JW] Add check for Vim addons installing files into a directory
       within Vim runtime path.  (Closes: #640371)
     + [NT] Added check for Perl modules using perl4 libs without depending
       on libperl4-core-libs-perl.  Thanks to Dominic Hargreaves for the
       initial patch.
   * checks/menus.desc:
     + [NT] Added reference to the doc-base manual to help people
       find the list of valid doc-base sections.  (Closes: #584280)
   * checks/patch-systems:
     + [NT] Use lsdiff to determine if a patch modifies the debian dir as
       it is more accurate than diffstat for this.  (Closes: #640131)
   * checks/rules:
     + [NT] Do a simple and minimal variable tracking.  In very simple
       cases, it can determine which targets a variable contains (when
       the variable is used as a target).  (Closes: #638411)
   * checks/scripts{,.desc}:
     + [NT] Remove script-calls-init-script-directly.  (Closes: #617959)
     + [NT] Added check for Perl scripts using perl4 libs without depending
       on libperl4-core-libs-perl.  Thanks to Dominic Hargreaves for the
       initial patch.  (Closes: #636994)
   * checks/shared-libs{,.desc}:
     + [JW] Fixed a typo in a tag description.  (Closes: #639177)
     + [NT] Do not emit shlib-calls-exit for libraries that have an
       INTERP section.  (Closes: #607399)
   * checks/source-copyright{,.desc}:
     + [JW] Added check for DEP-5 copyright files.  (Closes: #633779)
   * checks/standards-version:
     + [NT] Made the ancient-standards-version independent of the
       system time.
   * checks/version-substvars{,.desc}:
     + [NT] Also emit the any-depends-all tag if the ">=" relation is
       used.  Thanks to Konstantinos Margaritis and Cyril Brulebois for
       the report and the research.  (Closes: #639144)
 .
   * collection/fields{,.desc}:
     + [NT] Removed, no longer used.
   * collection/changelog-file:
     + [NT] Double check changelogs that does not explicitly contains
       "debian" in the filename.  This should avoid a myriad of syntax
       error tags in some cases (such as perl), where the Debian
       changelog is not present and there is an upstream changelog.
 .
   * data/fields/archive-sections:
     + [NT] Fixed a typo in "otherosfs" section name.  Thanks to
       Stefan Potyra for the report.  (Closes: #637596)
   * data/files/fonts:
     + [NT] Refreshed against sid and now includes packages starting
       with "fonts-" as well.  Thanks to Paul Wise for the patches.
       (Closes: #622149)
   * data/output/ftp-master-{,non}fatal:
     + [NT] Refreshed.
   * data/output/manual-references:
     + [JW] Refreshed.
   * data/rules/known-makefiles:
     + [JW] Added Makefiles from (the future) dpkg.  (Closes: #640921)
   * data/spelling/corrections{,-multiword}:
     + [NT] Added some corrections for "remove" etc.  Thanks to
       Jakub Wilk for spotting those.
     + [JW,NT] Added more corrections.
       (Closes: #639367, #640149, #613604)
 .
   * debian/control:
     + [NT] (Build-)Depends on patchutils for lsdiff.
   * debian/copyright:
     + [NT] Added Jakub Wilk to maintainers.
   * debian/rules:
     + [JW] Use LC_ALL rather than LANG, since LC_ALL overrules
       LANG.
 .
   * doc/lintian.xml:
     + [NT] Removed duplicate "allowed to" in same sentence.
     + [NT] Added a paragraph on some of the constrains in design
       of Lintian.
   * doc/lintianrc.example:
     + [NT] Add an example on how to enable "--quiet" via lintianrc.
   * doc/README.developers:
     + [NT] New file.  Thanks to Jeremiah C. Foster for the initial
       contribution.
 .
   * frontend/lintian:
     + [NT] Lintian now mentions if overrides may have been ignored.
       This happens if a package contains an override for a tag
       that has been marked "non-overridable" by the current vendor
       profile.
     + [NT] Mention ".changes" as a valid file type in the "unknown
       file" error.  Thanks to Michael Gilbert for the report and
       the patch.   (Closes: #639430)
     + [NT] Always display a given tag if requested with --tags
       or --tags-from-file.  Previously, pedantic and experimental
       tags were not shown unless the relevant options were also
       passed.
     + [JW,NT] Fixed a regression where --check-part ignored display
       settings (such as --display-info).  (Closes: #640694)
     + [NT] If both --verbose and --quiet is used together, then use
       the last of them to appear rather than "both at the same time".
       (Closes: #640366)
     + [NT] Accept --quiet in lintianrc as "quiet".  This option may
       not be used together with "verbose" in the config file.
 .
   * lib/Lintian/Check.pm:
     + [NT] Catch "Name <Name <Email>>" as a malformed email address.
       (Closes: #640489)
     + [JW] Catch misspellings of the "Debian QA Group" maintainer
       email (used for orphaned packages).  (Closes: #640834)
   * lib/Lintian/Collect.pm:
     + [JW,NT] Create the source field from the package field if the
       former is not present.  This fixes a number of false-positves
       introduced in 2.5.2.  (Closes: #640186)
   * lib/Lintian/Collect/Source.pm:
     + [NT] Removed a requirement for fields that was not needed.
     + [NT] Fixed "index" method for source packages.
   * lib/Lintian/Collect/Package.pm:
     + [JW,NT] Replace use of fail with croak.  (Closes: #637741)
   * lib/Lintian/Output.pm:
     + [NT] Merged "quiet" and "verbose" into "verbosity_level".
   * lib/Lintian/Profile.pm:
     + [NT] Reject profiles containing an unknown field.
   * lib/Lintian/Tag/Info.pm:
     + [JW] Create links for references pointing to files in html
       output.
     + [JW] Parse "#nnnnnn" references as links to Debian bugs.
   * lib/Lintian/Tag/Override.pm:
     + [NT] New file.
   * lib/Lintian/Tags.pm:
     + [NT] Track which tags had overrides that have been dropped.
     + [NT,RG] Collect override comments and print the comments
       above the overridden tag (with --show-overrides).  Thanks
       to Carl Fürstenberg for the report.  (Closes: #474590)
     + [NT] Remove the "respect-display-level" code.  It is not as
       useful as intended.
   * lib/Text_utils.pm:
     + [NT] Close <p>-tags in dtml_to_html since the output is used
       in xhtml (xml), where all tags must be closed properly.
       (Closes: #639292)
     + [NT] Remove the last new line (if any) before a </pre> in tag
       to reduce the empty space to the next paragraph.
   * lib/Util.pm:
     + [JW] Use LC_ALL rather than LANG, since LC_ALL overrules
       LANG.
     + [JW] Stricten the DCtrl parser to choke on some syntax errors
       that were silently ignored.  (Closes: #639516)
 .
   * man/lintian.pod.in:
     + [JW] Fixed some stray POD markup.  (Closes: #640705)
     + [JW,NT] Clarified that --tags and --tags-from-file ignores
       display settings.
     + [NT] Documented how lintian behaves if --quiet is used together
       with --verbose or --debug.
     + [NT] Documented how --verbose and --quiet can be enabled via
       the config file.  Only one of "verbose" and "quiet" may
       appear in the config file.
 .
   * profiles/debian/ftp-master-auto-reject.profile:
     + [NT] Refreshed to include udeb-uses-non-gzip-data-tarball.
 .
   * private/*:
     + [JW] Use LC_ALL rather than LANG, since LC_ALL overrules
       LANG.
   * private/refresh-manual-refs:
     + [NT] Remove code to refresh refs to the Library Packaging
       Guide.
     + [JW] Added the java-policy and fixed the lintian ref.
     + [JW] Don't strip newlines from titles, but treat them as regular
       whitespace characters.
     + [JW] Strip some superfluous HTML markup from titles.
 .
   * reporting/{config,html_reports,templates/foot.tmpl}:
     + [NT] Added a link to the Lintian source code.
   * reporting/harness:
     + [NT] Added missing import statement.
   * reporting/html_reports:
     + [JW,NT] Create a gzip'ed version of the raw lintian.log.
       (Closes: #637819)
   * reporting/templates/head.tmpl:
     + [NT] Show the list of all tags in the page header.  Thanks to
       Arno Töll for the suggestion and the patch.  (Closes: #640962)
   * reporting/templates/index.tmpl:
     + [NT] Added link to the new gzip'ed lintian.log.
 .
   * t/*:
     + [JW,NT] Fixed test failures caused by unpacking the source
       with a umask different from 0022.  (Closes: #637649)
Checksums-Sha1: 
 f2a83b2df4f95f865d16222c640793b1e3e6c32b 2326 lintian_2.5.3.dsc
 d63b13670c58c7cbc4c1bac41d29fab1dee1deef 988539 lintian_2.5.3.tar.gz
 3af2e260240e600511f198e3975f83a93d2d7251 632516 lintian_2.5.3_all.deb
Checksums-Sha256: 
 0d9d8c13b50ccd9458fdbd7101251426511438f6b698ace7b40d2539f41334bf 2326 lintian_2.5.3.dsc
 9cd1ab4e9d590f631b7fe67a328e2323e6d769a3aed4f85b108e4d48cb6ab186 988539 lintian_2.5.3.tar.gz
 48c3b61ddcd71258b4f435408838f166573c32bdd498d19660259e88354dea1c 632516 lintian_2.5.3_all.deb
Files: 
 a385c26ff614a5af7fbe5248f4338106 2326 devel optional lintian_2.5.3.dsc
 d5625b1605d80e95dc8fa80691b2cbdf 988539 devel optional lintian_2.5.3.tar.gz
 75aa38e1ee030fa209cb03380fb36b2a 632516 devel optional lintian_2.5.3_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)

iQIcBAEBCAAGBQJOazcpAAoJEAVLu599gGRCSXkP/1YkzwMx+Jg/LRx14h6C21K3
eCCwbsqzK/dNO0ShcBB7cJgwLV6k29LowhFiLSpn/jj8KdRhVmaSjaw2/Ud4vJ0a
IiXWVUF+ijHTQT1XYguyatZoP/6e/Wg92vhNBQuCvA6PwwFCicOfuXyr5xPp4EHh
nl9kQF2J6z3Hpr2anPTuIaKor2vPX3M66CKICjVZe333c/kkp217EnqKksVlXYM+
QwDQxkqylYP4W6CoDxYhhQGmXeS06iTLzDAyN3yxMuClekA/hd8wgipJZzVrIqTj
bo4kiY0cG/HlbpgsQQOMvUyu+lvskR+AlNa8/mFk300uXOJvTD0b3SVAmsGQx9XX
NxfoAhifW8lO3SLD0RVfwPgN7dtKh5LO3LXG2e3xRIx3y7+TsMRDkAtuCoJRx+bo
nMBOCt0lDk2HvFxULU4cVRPZO1J3c8ZXkppiWqaaUpXB1JH/gJxUgGlW31/trNfq
Mw5xRHBq3rbzHbN0CCqJBuXV+Prcj2fRBpeaBupjjgp6ureOxBuupc3RSWCLGypp
AtX3lZzNepEGR/Q+TWim8u7ZwAPThprxbKLE1Lo0LoiYwIGbe6WexJNqrlIVbnbs
SqUnDlRGM7QUasM4P2pqExaHEFa4Mjudo5Z3wi8ivTJB/qhPspm/IvOGu3QQcBNE
64epA9lUam43nfEvOR39
=Z1mN
-----END PGP SIGNATURE-----



--- End Message ---

Reply to: