Hello, One of the packages I maintain, cherrytree, has a file 'tests/data_данные/test.export.html' which invokes source-is-missing lintian error. However, Unicode symbols in lintian output are shown broken: $ lintian cherrytree_0.99.53+dfsg-1.dsc E: cherrytree source: source-is-missing [tests/data_даннÑ?е/test.export.html] Not sure if this is related, but LC_ALL for me is 'en_US.UTF-8' and setting it to 'C' does not help either. Seeing broken Unicode I am not sure lintian will understand the name of this file in lintian override. Andrius
Hello, Maintainer of cherrytree here. This is still an issue. I attempted to override lintian error with adding the following to debian/source/lintian-overrides: cherrytree source: source-is-missing [tests/data_данные/test.export.html] However, it seems that lintian is unable to match these two Unicode containing strings, thus this override is reported as mismatched. I think this is a bug in lintian, either the same as #1030743 or a different one. [file list cut for brevity] Lintian considers all files in the source distribution. In case of this particular file it is most likely a very long line length triggers lintian into thinking this is not a source file. As this file is used for testing, lintian error is false-positive and should normally be overridden. Right, but source distribution should not contain non-source files. This is due to "preferable form of modification" requirement in Debian policy. Best, Andrius
Hi Patrice,
I observe the same behavior, thanks for confirming it.
There might be reasons for such usage we are not aware of. Nevertheless
lintian should output correct Unicode and use it for override matching.
I suspect there is double encoding problem somewhere, as when I replace
line 74 of /usr/share/lintian/lib/Lintian/Pointer/Item.pm with
my $text = decode_utf8($self->item->name);
I no longer have either source-is-missing nor mismatched-override.
Please keep the bug email in CC.
Best,
Andrius
Hello,
failures:
> Test Summary Report
> -------------------
>
debian/test-out/eval/checks/documentation/manual/manpage-errors-from-man/generic.t
(Wstat: 256 (exited 1)
Tests: 1 Failed: 1)
> Failed test: 1
> Non-zero exit status: 1
>
debian/test-out/eval/checks/documentation/manual/manpages-general/generic.t
(Wstat: 256
(exited 1) Tests: 1 Failed: 1)
> Failed test: 1
> Non-zero exit status: 1
>
debian/test-out/eval/checks/documentation/manual/surplus-manpage/generic.t
(Wstat: 256
(exited 1) Tests: 1 Failed: 1)
> Failed test: 1
> Non-zero exit status: 1
I cannot see how the above are related to my change.
> debian/test-out/eval/checks/files/names/files-general/generic.t
(Wstat:
65280 (exited 255) Tests: 0 Failed: 0)
> Non-zero exit status: 255
> Parse errors: Bad plan. You planned 1 tests but ran 0.
> debian/test-out/eval/checks/files/names/legacy-filenames/generic.t
(Wstat:
65280 (exited 255) Tests: 0 Failed: 0)
> Non-zero exit status: 255
> Parse errors: Bad plan. You planned 1 tests but ran 0.
>
debian/test-out/eval/checks/files/names/national-encoding-in-orig/generic.t
(Wstat: 65280
(exited 255) Tests: 0 Failed: 0)
> Non-zero exit status: 255
> Parse errors: Bad plan. You planned 1 tests but ran 0.
>
debian/test-out/eval/checks/files/unicode/trojan/exe-vs-gif-in-patched-filename/generic.t
(Wstat: 256 (exited 1) Tests:
1 Failed: 1)
> Failed test: 1
> Non-zero exit status: 1
> Files=1486, Tests=63476, 1441 wallclock secs (10.63 usr 6.15 sys +
4448.39 cusr 876.07 csys = 5341.24 CPU)
> Result: FAIL
These seem to show that lintian intentionally omits decode_utf8() to
catch and process various ill-formatted utf8 octet sequences.
Nevertheless I would suggest calling decode_utf8() in try/catch block
reverting to the old behavior should the decoding fail. I will try that
and report how it goes.
Best,
Andrius