Comment 3 for bug 1351380

Revision history for this message
Niels Thykier (niels-thykier) wrote : Re: [Bug 1351380] Lintian crashes with "undefined value" if deb lacks intermediate directories

On 2014-08-01 18:23, Stian Soiland-Reyes wrote:
> Public bug reported:
>
> If I create a deb with install4j that installs to /opt/test/ - then
> lintian crashes:
>
> [...]

Hi,

Thanks for the report and the following analysis of the problem.

Should you run into future crash issues with lintian, please consider
filing the bug against lintian upstream.

I have applied a few patches upstream for this issue:
 * [f89954f] - Fixes the crash
 * [4d6bb4e] - Adds a warning for not having intermediate directories

These are scheduled for inclusion in lintian 2.5.32.

 * I am not maintaining the Ubuntu package, so I /cannot/ comment on
   whether this will be fixed in / backported to your current Ubuntu
   release.

>
> [...]
>
> However no special case is done for the missing intermediate
> directories, and the above does not initialize.
>
> Adding so it ends with:
>
> $idxh{''} = \%cpy;
> $children{''} = [] unless exists $children{''};
> }
>
> Fixes the problem:
>
> [...]

This indeed avoided the crash. However, it would leave the path
structure disconnected causing several checks to report incorrect
results (in particular in Lintian/2.5.28).

Therefore I have solved this differently by constructing all missing
intermediate directories (see [f89954f]), which also trivially allowed
for us to discover/report the missing intermediate directories.

Once again, thanks for the report and the following analysis.

Thanks,
~Niels

[f89954f]:
https://anonscm.debian.org/cgit/lintian/lintian.git/commit/?id=f89954f8e87515c839849c59568261be256c7081
[4d6bb4e]:
https://anonscm.debian.org/cgit/lintian/lintian.git/commit/?id=4d6bb4edd26d74f675fb5bcad853d6e05e7fca3f

Bug handling:
 bug 1351380
 tag patch
 status fixcommitted