Bug#934899: lintian tries and fail to unpack non ar archives

2019-08-16 Thread Felix Lechner
Hi,

According to 'git bisect' I introduced this bug when I provided a
defective implementation of `safe_qx` based on IO::Async in commit
39cd0295by, and unwittingly fixed it in commit 0d8ed5fa. The fix was
committed a few hours before the bug was filed. It was just-in-time
development!

The earlier version of 'safe_qx' raised an exception when 'ar'
returned with an error in `collection/ar-info` here :

https://salsa.debian.org/lintian/lintian/blob/master/collection/ar-info#L67

Now the error is ignored again, in a brittle way, by parsing the
output and adding to the list of archives presumably non-sensical
entries that are discarded later. My preference would be to apply the
merge request on top of it.

I am just not sure that the /^current ar archive/ regex is broad
enough. Any ideas?

Kind regards
Felix



Bug#934899: lintian tries and fail to unpack non ar archives

2019-08-16 Thread Felix Lechner
Hi Aurelien,

On Fri, Aug 16, 2019 at 2:39 AM Aurelien Jarno  wrote:
>
> lintian should probably check the type of the file before trying to
> unpack it, as already done for .so files.

I wrote a merge request for it:

https://salsa.debian.org/lintian/lintian/merge_requests/249

but oddly, the error no longer occurs in master. We are figuring out why.

Kind regards

Felix Lechner



Bug#934899: lintian tries and fail to unpack non ar archives

2019-08-16 Thread Aurelien Jarno
Package: lintian
Version: 2.18.0
Severity: normal

Running lintian on the libc6-dev package leads to the following error:

| Command ar t usr/lib/x86_64-linux-gnu/libm.a exited with status 1: ar: 
usr/lib/x86_64-linux-gnu/libm.a: file format not recognized
| warning: collect info ar-info about package libc6-dev failed (512)
| warning: skipping check of binary package libc6-dev

This libm.a file is actually not an ar archive, but a linker script:

| /* GNU ld script
| */
| OUTPUT_FORMAT(elf64-x86-64)
| GROUP ( /usr/lib/x86_64-linux-gnu/libm-2.28.a 
/usr/lib/x86_64-linux-gnu/libmvec.a )

lintian should probably check the type of the file before trying to
unpack it, as already done for .so files.

-- System Information:
Debian Release: bullseye/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-5-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE=fr 
(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.32.51.20190727-1
ii  bzip21.0.6-9.2
ii  diffstat 1.62-1+b1
ii  dpkg 1.19.7
ii  dpkg-dev 1.19.7
ii  file 1:5.37-5
ii  gettext  0.19.8.1-9
ii  gpg  2.2.17-3
ii  intltool-debian  0.35.0+20060710.5
ii  libapt-pkg-perl  0.1.36+b1
ii  libarchive-zip-perl  1.64-1
ii  libcapture-tiny-perl 0.48-1
ii  libcgi-pm-perl   4.44-1
ii  libclass-accessor-perl   0.51-1
ii  libclone-perl0.41-1+b1
pn  libdigest-sha-perl   
ii  libdpkg-perl 1.19.7
ii  libemail-valid-perl  1.202-1
ii  libfile-basedir-perl 0.08-1
ii  libfile-find-rule-perl   0.34-1
ii  libio-async-loop-epoll-perl  0.20-1
ii  libio-async-perl 0.74-1
ii  libipc-run-perl  20180523.0-1
ii  liblist-compare-perl 0.53-1
ii  liblist-moreutils-perl   0.416-1+b4
ii  libmoo-perl  2.003004-2
ii  libpath-tiny-perl0.108-1
ii  libtext-levenshtein-perl 0.13-1
ii  libtimedate-perl 2.3000-2
ii  libtry-tiny-perl 0.30-1
ii  libtype-tiny-perl1.004004-1
ii  liburi-perl  1.76-1
ii  libxml-simple-perl   2.25-1
ii  libyaml-libyaml-perl 0.79+repack-2
ii  man-db   2.8.6.1-1
ii  patchutils   0.3.4-2+b1
ii  perl 5.28.1-6
ii  t1utils  1.41-3
ii  xz-utils 5.2.4-1

Versions of packages lintian recommends:
ii  libperlio-gzip-perl  0.19-1+b5

Versions of packages lintian suggests:
pn  binutils-multiarch 
ii  libhtml-parser-perl3.72-3+b3
ii  libtext-template-perl  1.55-1

-- no debconf information