Bug#1014156: lintian: very-long-line-length-in-source-file for non-text source files

2022-07-25 Thread Peter B

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

2022-07-07 Thread Axel Beckert
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

2022-07-04 Thread Peter B




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

2022-07-02 Thread Axel Beckert
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

2022-07-01 Thread Peter B

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

2022-06-30 Thread Daniel Kahn Gillmor
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