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

Bug#640238: [checks/changelog-file] uninitialized value in hash element



On 2011-09-03 16:39, Jakub Wilk wrote:
> Package: lintian
> Version: 2.5.2
> 
> $ lintian -C changelog-file perl_5.12.4-4_i386.deb
> O: perl: debian-changelog-file-missing-or-wrong-name
> O: perl: syntax-error-in-debian-changelog line 1 "badly formatted
> heading line"
> O: perl: syntax-error-in-debian-changelog line 2 "found blank line where
> expected first heading"
> [snip - even more syntax-error-in-debian-changelog tags]
> O: perl: syntax-error-in-debian-changelog line 70 "found eof where
> expected more change data or trailer"
> Use of uninitialized value in hash element at
> /usr/share/lintian/checks/changelog-file line 279.
> 

Lintian picks up the upstream changelog and Parse::DebianChangelog
chokes horribly on that because it is completely unlike any Debian
changelog.
  The uninitialized value happens because Lintian gets a
Parse::DebianChangelog::Entry without a version.  Using Data::Dumper, I
learned it consists only of an error and "Items".

The actual error is from the snippet below:

    for my $entry (@entries) {
	if ($entry->Maintainer) {
	    if ($entry->Maintainer =~ /<([^>\@]+\@[^>.]*)>/) {
		tag 'debian-changelog-file-contains-[...];
	    }
	}
	$versions{$entry->Version} = 1;
                  ^^^^^^^^^^^^^^^

(line 277 in HEAD atm)

~Niels




Reply to: