Bug#1014156: lintian: very-long-line-length-in-source-file for non-text source files
Hi Axel, I'm also seeing reports on qosmic https://udd.debian.org/lintian/?qosmic for file types qm & ts ts> file qosmic_fr.qm qosmic_fr.qm: Qt Translation file ts> ts> file qosmic_fr.ts qosmic_fr.ts: XML 1.0 document, Unicode text, UTF-8 text, with very long lines (808) ts> qm files are binary. ts files are XML, which often have long lines. Cheers, Peter
Bug#1014156: lintian: very-long-line-length-in-source-file for non-text source files
Hi Peter, Peter B wrote: > > The suffix "icns" is already in the blacklist since 2.115.2. With > > which version of Lintian did you generate that list? > > I use Testing, so it was 2.115.1 It is indeed fixed in 2.115.2 Yay! Thanks for the reply. :-) > Trying on duma, I got several hits on binary files (with 2.115.1 & 2.115.2) > > P: duma source: very-long-line-length-in-source-file 1628 > 512 > [win32-msvc.net/detoursexample1/detoursexample1.suo:2] > P: duma source: very-long-line-length-in-source-file 2810 > 512 > [win32-msvc.2005/example2/example2.suo:7] > P: duma source: very-long-line-length-in-source-file 2938 > 512 > [win32-msvc.2005/example1/example1.suo:8] > P: duma source: very-long-line-length-in-source-file 6371 > 512 > [win32-msvc.2005/dumadll/dumadll.aps:5] > P: duma source: very-long-line-length-in-source-file 6371 > 512 > [win32-msvc.net/dumadll/dumadll.aps:5] Ok, all .suo and .aps files in the duma package seem to be binary. I though have never heard of these file formats. Added nevertheless: https://salsa.debian.org/lintian/lintian/-/commit/5b70ce07fdc10b81a99049b6a2be50cbe4ae7009 > P: duma source: very-long-line-length-in-source-file 5025 > 512 > [docs-data/Data/SymbolTable.nd:6] > P: duma source: very-long-line-length-in-source-file 814 > 512 > [kduma/docs-data/Data/SymbolTable.nd:18] Only some of the .nd files in duma seem to be binary, others seem to be text. So I'm not declaring these suffixes as (always) being binary files. Regards, Axel -- ,''`. | Axel Beckert , https://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Bug#1014156: lintian: very-long-line-length-in-source-file for non-text source files
I'm also seeing this with strawberry. Several hits from binary sound files in it's test suite. Thanks for that list as well. One item though caught my eye: P: strawberry source: very-long-line-length-in-source-file 3435 > 512 [dist/macos/strawberry.icns:5678] The suffix "icns" is already in the blacklist since 2.115.2. With which version of Lintian did you generate that list? Hi Axel, I use Testing, so it was 2.115.1 It is indeed fixed in 2.115.2 Trying on duma, I got several hits on binary files (with 2.115.1 & 2.115.2) P: duma source: very-long-line-length-in-source-file 1628 > 512 [win32-msvc.net/detoursexample1/detoursexample1.suo:2] P: duma source: very-long-line-length-in-source-file 2810 > 512 [win32-msvc.2005/example2/example2.suo:7] P: duma source: very-long-line-length-in-source-file 2938 > 512 [win32-msvc.2005/example1/example1.suo:8] P: duma source: very-long-line-length-in-source-file 5025 > 512 [docs-data/Data/SymbolTable.nd:6] P: duma source: very-long-line-length-in-source-file 6371 > 512 [win32-msvc.2005/dumadll/dumadll.aps:5] P: duma source: very-long-line-length-in-source-file 6371 > 512 [win32-msvc.net/dumadll/dumadll.aps:5] P: duma source: very-long-line-length-in-source-file 814 > 512 [kduma/docs-data/Data/SymbolTable.nd:18] Cheers, Peter
Bug#1014156: lintian: very-long-line-length-in-source-file for non-text source files
Control: tag -1 + confirmed Control: clone -1 -2 Control: retitle -2 lintian: very-long-line-length-in-source-file should use file/magic to distinguish text from binary files Control: submitter -2 Matt Barry Control: severity -2 wishlist Control: clone -1 -3 Control: retitle -2 lintian: very-long-line-length-in-source-file should ignore lines starting with INSERT or SELECT (i.e. commonly long SQL statements) Control: submitter -2 Peter B Hi, Daniel Kahn Gillmor wrote: > lintian 2.115.2 complains (in --pedantic) in the following way about > these non-text files in the gnupg2 sources: Thanks for this list. >From my point of view while many of these binary files might not be in the preferred representation (especially for the .gmo files I'd expect a plain text file to be the source), very-long-line-length-in-source-file should not be emitted for binary files. > I'd prefer it if lintian instead just wouldn't flag non-text source > files with this tag. Correct. Currently this is handled via a blacklist of common binary file suffixes. > - some of them are GNU message catalogs -- compiled output of .po files >that upstream prefers to ship in the tarball for folks building the >package without l10n toolchains. we rebuild them in debian, but i'd >still rather ship the upstream tarball if possible. Yep. Do expect that there will be a future lintian tag for these kind of files which is meant to be overriden if and only if the build system rebuilds them at build time. Matt Barry wrote: > Looking at the check, it seems there is an exemption for SVG files > built in; At least not at the suffix list. > would it make any sense to search for a text/* mime type > instead (ala libfile-libmagic-perl)? Yes, that would probably make more sense than manually curating a list of suffixes. Also the performance impact should be low as Lintian seems to run "file" over nearly every file anyways. That's nevertheless not a short term fix. Cloning this bug report into a new one to track this separately. Peter B wrote: > On 01/07/2022 06:08, Daniel Kahn Gillmor wrote: > > Package: lintian > > Version: 2.115.2 > > Severity: minior > > Control: affects -1 src:gnupg2 > > > > lintian 2.115.2 complains (in --pedantic) in the following way about > > these non-text files in the gnupg2 sources: > > > > P: gnupg2 source: very-long-line-length-in-source-file 1008 > 512 > > [po/eo.gmo:7] Please refrain from doing fullquotes in the Debian bug tracking system unless really necessary. Thanks! > I'm also seeing this with strawberry. Several hits from binary sound > files in it's test suite. Thanks for that list as well. One item though caught my eye: > > P: strawberry source: very-long-line-length-in-source-file 3435 > 512 > > [dist/macos/strawberry.icns:5678] The suffix "icns" is already in the blacklist since 2.115.2. With which version of Lintian did you generate that list? > > P: strawberry source: very-long-line-length-in-source-file 543 > 512 > > [CMakeLists.txt:535] > > P: strawberry source: very-long-line-length-in-source-file 687 > 512 > > [3rdparty/SPMediaKeyTap/README.md:4] > > P: strawberry source: very-long-line-length-in-source-file 756 > 512 > > [3rdparty/SPMediaKeyTap/LICENSE:8] These are likely a valid cases. > > P: strawberry source: very-long-line-length-in-source-file 559 > 512 > > [data/schema/schema-8.sql:587] > > P: strawberry source: very-long-line-length-in-source-file 566 > 512 > > [data/schema/schema-11.sql:235] These are corner cases IMHO. Not really binary files, but also files where long lines are very common, especially for INSERT and SELECT. I tend to write code which explicitly ignores lines starting with INSERT or SELECT for that. Regards, Axel -- ,''`. | Axel Beckert , https://people.debian.org/~abe/ : :' : | Debian Developer, ftp.ch.debian.org Admin `. `' | 4096R: 2517 B724 C5F6 CA99 5329 6E61 2FF9 CD59 6126 16B5 `-| 1024D: F067 EA27 26B9 C3FC 1486 202E C09E 1D89 9593 0EDE
Bug#1014156: lintian: very-long-line-length-in-source-file for non-text source files
On 01/07/2022 06:08, Daniel Kahn Gillmor wrote: Package: lintian Version: 2.115.2 Severity: minior Control: affects -1 src:gnupg2 lintian 2.115.2 complains (in --pedantic) in the following way about these non-text files in the gnupg2 sources: P: gnupg2 source: very-long-line-length-in-source-file 1008 > 512 [po/eo.gmo:7] P: gnupg2 source: very-long-line-length-in-source-file 1092 > 512 [po/hu.gmo:14] P: gnupg2 source: very-long-line-length-in-source-file 1128 > 512 [po/id.gmo:10] P: gnupg2 source: very-long-line-length-in-source-file 1240 > 512 [po/pt.gmo:12] P: gnupg2 source: very-long-line-length-in-source-file 1372 > 512 [po/fi.gmo:14] P: gnupg2 source: very-long-line-length-in-source-file 1488 > 512 [po/sk.gmo:7] P: gnupg2 source: very-long-line-length-in-source-file 1544 > 512 [po/ca.gmo:15] P: gnupg2 source: very-long-line-length-in-source-file 1555 > 512 [g10/t-keydb-get-keyblock.gpg:1091] P: gnupg2 source: very-long-line-length-in-source-file 1819 > 512 [po/ro.gmo:39] P: gnupg2 source: very-long-line-length-in-source-file 2016 > 512 [po/et.gmo:14] P: gnupg2 source: very-long-line-length-in-source-file 2116 > 512 [po/gl.gmo:15] P: gnupg2 source: very-long-line-length-in-source-file 2832 > 512 [po/el.gmo:11] P: gnupg2 source: very-long-line-length-in-source-file 2921 > 512 [po/sv.gmo:1671] P: gnupg2 source: very-long-line-length-in-source-file 3272 > 512 [po/zh_TW.gmo:54] P: gnupg2 source: very-long-line-length-in-source-file 3508 > 512 [po/da.gmo:62] P: gnupg2 source: very-long-line-length-in-source-file 3663 > 512 [po/ja.gmo:1530] P: gnupg2 source: very-long-line-length-in-source-file 3667 > 512 [po/e...@boldquot.gmo:1555] P: gnupg2 source: very-long-line-length-in-source-file 3667 > 512 [po/e...@quot.gmo:1550] P: gnupg2 source: very-long-line-length-in-source-file 3772 > 512 [po/zh_CN.gmo:103] P: gnupg2 source: very-long-line-length-in-source-file 4054 > 512 [po/cs.gmo:2986] P: gnupg2 source: very-long-line-length-in-source-file 4227 > 512 [po/de.gmo:3034] P: gnupg2 source: very-long-line-length-in-source-file 4235 > 512 [po/pl.gmo:3016] P: gnupg2 source: very-long-line-length-in-source-file 4264 > 512 [po/nb.gmo:83] P: gnupg2 source: very-long-line-length-in-source-file 4285 > 512 [po/it.gmo:2998] P: gnupg2 source: very-long-line-length-in-source-file 4324 > 512 [po/fr.gmo:2628] P: gnupg2 source: very-long-line-length-in-source-file 4344 > 512 [po/ru.gmo:3005] P: gnupg2 source: very-long-line-length-in-source-file 4564 > 512 [po/uk.gmo:2931] P: gnupg2 source: very-long-line-length-in-source-file 4628 > 512 [po/tr.gmo:41] P: gnupg2 source: very-long-line-length-in-source-file 4900 > 512 [po/es.gmo:74] P: gnupg2 source: very-long-line-length-in-source-file 520 > 512 [tests/gpgsm/cert_dfn_pca15.der:5] P: gnupg2 source: very-long-line-length-in-source-file 536 > 512 [tests/openpgp/tofu/cross-sigs/871C2247-2.gpg:5] P: gnupg2 source: very-long-line-length-in-source-file 536 > 512 [tests/openpgp/tofu/cross-sigs/871C2247-3.gpg:7] P: gnupg2 source: very-long-line-length-in-source-file 536 > 512 [tests/openpgp/tofu/cross-sigs/871C2247-4.gpg:8] P: gnupg2 source: very-long-line-length-in-source-file 544 > 512 [tests/openpgp/tofu/conflicting/BE04EB2B-secret.gpg:11] P: gnupg2 source: very-long-line-length-in-source-file 562 > 512 [tests/openpgp/tofu/cross-sigs/EC38277E-1.gpg:3] P: gnupg2 source: very-long-line-length-in-source-file 562 > 512 [tests/openpgp/tofu/cross-sigs/EC38277E-2.gpg:4] P: gnupg2 source: very-long-line-length-in-source-file 570 > 512 [tests/openpgp/tofu/conflicting/1C005AF3-secret.gpg:2] P: gnupg2 source: very-long-line-length-in-source-file 585 > 512 [tests/openpgp/tofu/conflicting/B662E42F.gpg:6] P: gnupg2 source: very-long-line-length-in-source-file 610 > 512 [tests/openpgp/tofu/cross-sigs/EC38277E-secret.gpg:6] P: gnupg2 source: very-long-line-length-in-source-file 687 > 512 [tests/openpgp/tofu/conflicting/B662E42F-secret.gpg:8] P: gnupg2 source: very-long-line-length-in-source-file 692 > 512 [build-aux/speedo/w32/gnupg-logo-150x57.bmp:1] P: gnupg2 source: very-long-line-length-in-source-file 719 > 512 [g10/t-keydb-keyring.kbx:1] P: gnupg2 source: very-long-line-length-in-source-file 925 > 512 [build-aux/speedo/w32/gnupg-logo-164x314.bmp:1] I could add some overrides, but it doesn't really make sense to do so. I'd prefer it if lintian instead just wouldn't flag non-text source files with this tag. We could argue about whether upstream *should* be including non-text files in source, of course, but there are some not-implausible reasons: - some of these files are test vectors (OpenPGP certificates in binary form, DER-formatted X.509 certificates, kbx files) - some of them are graphics files (gnupg-logo-*.bmp) - some of them are GNU message catalogs -- compiled output of .po files that upstream prefers to ship in the tarball for folks building the package without l10n toolchains. we rebuild them in debian, but i'd still rather
Bug#1014156: lintian: very-long-line-length-in-source-file for non-text source files
Package: lintian Version: 2.115.2 Severity: minior Control: affects -1 src:gnupg2 lintian 2.115.2 complains (in --pedantic) in the following way about these non-text files in the gnupg2 sources: P: gnupg2 source: very-long-line-length-in-source-file 1008 > 512 [po/eo.gmo:7] P: gnupg2 source: very-long-line-length-in-source-file 1092 > 512 [po/hu.gmo:14] P: gnupg2 source: very-long-line-length-in-source-file 1128 > 512 [po/id.gmo:10] P: gnupg2 source: very-long-line-length-in-source-file 1240 > 512 [po/pt.gmo:12] P: gnupg2 source: very-long-line-length-in-source-file 1372 > 512 [po/fi.gmo:14] P: gnupg2 source: very-long-line-length-in-source-file 1488 > 512 [po/sk.gmo:7] P: gnupg2 source: very-long-line-length-in-source-file 1544 > 512 [po/ca.gmo:15] P: gnupg2 source: very-long-line-length-in-source-file 1555 > 512 [g10/t-keydb-get-keyblock.gpg:1091] P: gnupg2 source: very-long-line-length-in-source-file 1819 > 512 [po/ro.gmo:39] P: gnupg2 source: very-long-line-length-in-source-file 2016 > 512 [po/et.gmo:14] P: gnupg2 source: very-long-line-length-in-source-file 2116 > 512 [po/gl.gmo:15] P: gnupg2 source: very-long-line-length-in-source-file 2832 > 512 [po/el.gmo:11] P: gnupg2 source: very-long-line-length-in-source-file 2921 > 512 [po/sv.gmo:1671] P: gnupg2 source: very-long-line-length-in-source-file 3272 > 512 [po/zh_TW.gmo:54] P: gnupg2 source: very-long-line-length-in-source-file 3508 > 512 [po/da.gmo:62] P: gnupg2 source: very-long-line-length-in-source-file 3663 > 512 [po/ja.gmo:1530] P: gnupg2 source: very-long-line-length-in-source-file 3667 > 512 [po/e...@boldquot.gmo:1555] P: gnupg2 source: very-long-line-length-in-source-file 3667 > 512 [po/e...@quot.gmo:1550] P: gnupg2 source: very-long-line-length-in-source-file 3772 > 512 [po/zh_CN.gmo:103] P: gnupg2 source: very-long-line-length-in-source-file 4054 > 512 [po/cs.gmo:2986] P: gnupg2 source: very-long-line-length-in-source-file 4227 > 512 [po/de.gmo:3034] P: gnupg2 source: very-long-line-length-in-source-file 4235 > 512 [po/pl.gmo:3016] P: gnupg2 source: very-long-line-length-in-source-file 4264 > 512 [po/nb.gmo:83] P: gnupg2 source: very-long-line-length-in-source-file 4285 > 512 [po/it.gmo:2998] P: gnupg2 source: very-long-line-length-in-source-file 4324 > 512 [po/fr.gmo:2628] P: gnupg2 source: very-long-line-length-in-source-file 4344 > 512 [po/ru.gmo:3005] P: gnupg2 source: very-long-line-length-in-source-file 4564 > 512 [po/uk.gmo:2931] P: gnupg2 source: very-long-line-length-in-source-file 4628 > 512 [po/tr.gmo:41] P: gnupg2 source: very-long-line-length-in-source-file 4900 > 512 [po/es.gmo:74] P: gnupg2 source: very-long-line-length-in-source-file 520 > 512 [tests/gpgsm/cert_dfn_pca15.der:5] P: gnupg2 source: very-long-line-length-in-source-file 536 > 512 [tests/openpgp/tofu/cross-sigs/871C2247-2.gpg:5] P: gnupg2 source: very-long-line-length-in-source-file 536 > 512 [tests/openpgp/tofu/cross-sigs/871C2247-3.gpg:7] P: gnupg2 source: very-long-line-length-in-source-file 536 > 512 [tests/openpgp/tofu/cross-sigs/871C2247-4.gpg:8] P: gnupg2 source: very-long-line-length-in-source-file 544 > 512 [tests/openpgp/tofu/conflicting/BE04EB2B-secret.gpg:11] P: gnupg2 source: very-long-line-length-in-source-file 562 > 512 [tests/openpgp/tofu/cross-sigs/EC38277E-1.gpg:3] P: gnupg2 source: very-long-line-length-in-source-file 562 > 512 [tests/openpgp/tofu/cross-sigs/EC38277E-2.gpg:4] P: gnupg2 source: very-long-line-length-in-source-file 570 > 512 [tests/openpgp/tofu/conflicting/1C005AF3-secret.gpg:2] P: gnupg2 source: very-long-line-length-in-source-file 585 > 512 [tests/openpgp/tofu/conflicting/B662E42F.gpg:6] P: gnupg2 source: very-long-line-length-in-source-file 610 > 512 [tests/openpgp/tofu/cross-sigs/EC38277E-secret.gpg:6] P: gnupg2 source: very-long-line-length-in-source-file 687 > 512 [tests/openpgp/tofu/conflicting/B662E42F-secret.gpg:8] P: gnupg2 source: very-long-line-length-in-source-file 692 > 512 [build-aux/speedo/w32/gnupg-logo-150x57.bmp:1] P: gnupg2 source: very-long-line-length-in-source-file 719 > 512 [g10/t-keydb-keyring.kbx:1] P: gnupg2 source: very-long-line-length-in-source-file 925 > 512 [build-aux/speedo/w32/gnupg-logo-164x314.bmp:1] I could add some overrides, but it doesn't really make sense to do so. I'd prefer it if lintian instead just wouldn't flag non-text source files with this tag. We could argue about whether upstream *should* be including non-text files in source, of course, but there are some not-implausible reasons: - some of these files are test vectors (OpenPGP certificates in binary form, DER-formatted X.509 certificates, kbx files) - some of them are graphics files (gnupg-logo-*.bmp) - some of them are GNU message catalogs -- compiled output of .po files that upstream prefers to ship in the tarball for folks building the package without l10n toolchains. we rebuild them in debian, but i'd still rather ship the upstream tarball if possible. And i'd rather not