Hi Patrice,
On 2023-05-12 21:34, Patrice Duroux wrote:
I tried to figure out why lintian is not going nicely adding also a
debian/source/lintian-overrides file in my packaging.
$ cat cherrytree/debian/source/lintian-overrides
# Ignore missing sources errors for test files.
source: source-is-missing tests/data_данные/*
$ file cherrytree/debian/source/lintian-overrides
cherrytree/debian/source/lintian-overrides: Unicode text, UTF-8 text
But then faced the following:
$ lintian -v cherrytree_0.99.55+dfsg-1.dsc
E: cherrytree source: source-is-missing
[tests/data_даннÑ?е/test.export.html]
W: cherrytree source: mismatched-override source-is-missing tests/data_данные/*
[debian/source/lintian-overrides:3]
W: cherrytree source: no-nmu-in-changelog [debian/changelog:1]
W: cherrytree source: source-nmu-has-incorrect-version-number 0.99.55+dfsg-1
[debian/changelog:1]
N: 0 hints overridden; 1 unused override
The encoding seems ok regarding the one of the lintian-overrides file.
I observe the same behavior, thanks for confirming it.
Also with the help of Data::Dumper and adding some print in SourceMissing.pm, I
do not see anything strange there.
What is astonishing me is that the Perl code of lintian uses calls to
encode_utf8/decode_uf8 in many places of different modules instead of fixing
utf8 IO once in each.
I finally got lost in translation. 😄
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