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: