Package: lintian Version: 2.78.0 Severity: normal Steps to reproduce: * apt-get source gnome-shell-extension-bluetooth-quick-connect=10-3 * apt-get download gnome-shell-extension-bluetooth-quick-connect=10-3 * lintian -Ii gnome-shell-extension-bluetooth-quick-connect_10-3.dsc * lintian -Ii gnome-shell-extension-bluetooth-quick-connect_10-3_all.deb
Expected result: * No warnings about the copyright file in either case (it's very simple, see https://tracker.debian.org/media/packages/g/gnome-shell-extension-bluetooth-quick-connect/copyright-10-3) Actual result: * No warnings for the .dsc * Warning for the .deb: gnome-shell-extension-bluetooth-quick-connect: copyright-without-copyright-notice In particular, I think this is a valid copyright notice: """ Files: * Copyright: © 2018 Bartosz Jaroszewski License: GPL-2+ """ Possibly the problem is that the regex looks for © as the two bytes of its UTF-8 encoding, \302\251 (\xc2\xa9), rather than as a single Unicode character U+00A9 (\x{00A9} or even \N{COPYRIGHT SIGN} in Perl-speak)? If my admittedly hazy recollection of Perl Unicode semantics is correct, the regex needs to contain \302\251 or \xc2\xa9 if the file is interpreted as a byte sequence, but it needs to contain \x{00A9} or \N{COPYRIGHT SIGN} if the file is interpreted as a Unicode codepoint sequence. This does seem to work: --------- diff --git a/checks/debian/copyright.pm b/checks/debian/copyright.pm index 27435c3db..14db475f2 100644 --- a/checks/debian/copyright.pm +++ b/checks/debian/copyright.pm @@ -1208,7 +1208,7 @@ qr/GNU (?:Lesser|Library) General Public License|(?-i:\bLGPL\b)/i if ($found && !$linked) { $self->tag('copyright-without-copyright-notice') unless $contents - =~ /(?:Copyright|Copr\.|\302\251)(?:.*|[\(C\):\s]+)\b\d{4}\b + =~ /(?:Copyright|Copr\.|\x{00A9})(?:.*|[\(C\):\s]+)\b\d{4}\b |\bpublic(?:\s+|-)domain\b/xi; } --------- -- System Information: Debian Release: bullseye/sid APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'stable-debug'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.6.0-2-amd64 (SMP w/2 CPU cores) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages lintian depends on: ii binutils 2.34-8 ii bzip2 1.0.8-3 ii diffstat 1.63-1 ii dpkg 1.19.7 ii dpkg-dev 1.19.7 ii file 1:5.38-5 ii gettext 0.19.8.1-10 ii gpg 2.2.20-1 ii intltool-debian 0.35.0+20060710.5 ii libapt-pkg-perl 0.1.36+b3 ii libarchive-zip-perl 1.68-1 ii libcapture-tiny-perl 0.48-1 ii libclass-xsaccessor-perl 1.19-3+b4 ii libclone-perl 0.45-1 ii libconfig-tiny-perl 2.24-1 ii libcpanel-json-xs-perl 4.19-1 ii libdevel-size-perl 0.83-1+b1 ii libdpkg-perl 1.19.7 ii libemail-address-xs-perl 1.04-1+b2 ii libemail-valid-perl 1.202-1 ii libfile-basedir-perl 0.08-1 ii libfile-find-rule-perl 0.34-1 ii libfont-ttf-perl 1.06-1 ii libhtml-parser-perl 3.72-5 ii libio-async-loop-epoll-perl 0.20-1 ii libio-async-perl 0.75-1 ii libjson-maybexs-perl 1.004002-1 ii liblist-compare-perl 0.53-1 ii liblist-moreutils-perl 0.416-1+b5 ii liblist-utilsby-perl 0.11-1 ii libmoo-perl 2.004000-1 ii libmoox-aliases-perl 0.001006-1 ii libnamespace-clean-perl 0.27-1 ii libpath-tiny-perl 0.112-1 ii libsereal-decoder-perl 4.011+ds-1 ii libsereal-encoder-perl 4.011+ds-1 ii libtext-levenshtein-perl 0.13-1 ii libtimedate-perl 2.3300-1 ii libtry-tiny-perl 0.30-1 ii libtype-tiny-perl 1.010001-1 ii libunicode-utf8-perl 0.62-1+b1 ii liburi-perl 1.76-2 ii libxml-libxml-perl 2.0134+dfsg-2 ii libxml-writer-perl 0.625-1 ii libyaml-libyaml-perl 0.82+repack-1 ii man-db 2.9.1-1 ii patchutils 0.3.4-2+b1 ii perl [libdigest-sha-perl] 5.30.2-1 ii t1utils 1.41-4 ii xz-utils 5.2.4-1+b1 Versions of packages lintian recommends: ii libperlio-gzip-perl 0.19-1+b6 Versions of packages lintian suggests: ii binutils-multiarch 2.34-8 ii libtext-template-perl 1.58-1 -- no debconf information