On Thu, 2026-01-29 at 21:01:22 +0530, Nilesh Patra wrote: > > On 29 Jan 2026, at 1:04 PM, Guillem Jover <[email protected]> wrote: > >> On Wed, 2026-01-28 at 16:51:42 -0500, Louis-Philippe Véronneau wrote: > >> I'm not sure I understand what a "nationally encoded email" is and > >> how using a non-ascii email leads to creating a non-compatible > >> .changes? > > Basically, if you use email like "Foo Bar <föo@bår.org>” (which > guillem mentioned in [1]) the .changes file preserves this. > Lintian sees this and the uf8 parsing fails here, saying this is > “nationally” encoded string.
I think then this might perhaps be a problem in your environment? If I set a similar address in say pci.ids in both the debian/control and debian/changelog, when building with dpkg-buildpackage with LANG=C.UTF-8, I get this output: ,--- $ dpkg-buildpackage --no-sign dpkg-buildpackage: info: source package pci.ids dpkg-buildpackage: info: source version 0.0~2025.12.16-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Güillem Jöver <güillem@debiån.org> dpkg-buildpackage: info: host architecture amd64 […] dpkg-deb: building package 'pci.ids' in '../pci.ids_0.0~2025.12.16-1_all.deb'. dpkg-genbuildinfo -O../pci.ids_0.0~2025.12.16-1_amd64.buildinfo dpkg-genchanges -O../pci.ids_0.0~2025.12.16-1_amd64.changes dpkg-genchanges: info: including full source code in upload dpkg-source --after-build . dpkg-buildpackage: info: full upload (original source is included) lintian ../pci.ids_0.0~2025.12.16-1_amd64.changes E: pci.ids source: bogus-mail-host Maintainer güillem@debiån.org E: pci.ids: bogus-mail-host Maintainer güillem@debiån.org E: pci.ids changes: bogus-mail-host Changed-By güillem@debiån.org E: pci.ids changes: bogus-mail-host Maintainer güillem@debiån.org E: pci.ids: bogus-mail-host-in-debian-changelog güillem@debiån.org (for version 0.0~2025.12.16-1) [usr/share/doc/pci.ids/changelog.Debian.gz:1] I: pci.ids source: unused-override override_dh_auto_test-does-not-check-DEB_BUILD_OPTIONS [debian/rules:*] [debian/source/lintian-overrides:4] N: 0 hints overridden; 1 unused override dpkg-buildpackage: error: lintian ../pci.ids_0.0~2025.12.16-1_amd64.changes subprocess failed with exit status 2 `--- Where lintian does not accept the UTF-8 domain, but can parse it correctly as UTF-8. So the checks in lib/Lintian/Check/Files/Encoding.pm for non-UTF-8 do not trigger, but the checks for is_domain() in lib/Lintian/Check/Debian/Changelog.pm and lib/Lintian/Check/Fields/MailAddress.pm do trigger. I think the is_domain() check is not correct, because that checks for a domain name as would be part of say a DNS query (after encoding in PunyCode), but it does not support IDN which is what people would use in this context. > > So, unless I'm missing something, I'd still consider closing this one? > > Mh… since lintian had a check for this and dpkg used to allow ansi > escaped emails in .changes, I don’t understand how this is not a > regression. The check seems to have been prompted by the Debian Policy bug #962277, which has not seen wording not seconds. The current Debian Policy seems to disallow this (§5.6.2). So, while strictly speaking dpkg not doing any validation before and doing it now, can be considered a regression, I think in the Debian context this does not really count, because of what Debian Policy says anyway, and in the dpkg upstream context I think allowing ANSI escapes sequences (while cute) is a really bad idea. > I’d agree that this is an edge case, though. If you > however feel like closing this bug report, I don’t have a problem. > But we ought to mention somewhere that Maintainers/Uploaders Email > needs to be a standardised address. I think this is covered already by Debian Policy, and in the proposed bug reports #401452, #852677 and #962277. But the dpkg documentation should be certainly updated to match at least its own current expectations. Thanks, I'll do that with this report. Regards, Guillem

