dpkg-deb has been reported to be fragile when running under
debuginfod, whereas bsdtar (libarchive) is happy with all these
flavors of files. Switch to a bsdtar based pipeline, now
equipped with an escaped glob pattern that adapts to a variety
of interior data.tar* compression formats.
No testsuite impact. .ipk format tested with some random openwrt and
kino-extension binaries found on the net. Some of these are built
with out buildid, and hardly any with debuginfo, but whatever, bsdtar
and elfutils extract whatever info is there.
Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
+2021-02-14 Frank Ch. Eigler <fche@redhat.com>
+
+ * debuginfod.cxx (main -U): Use bsdtar unconditionally. Also map
+ the debian-compatible .ipk (openembedded distro family) to same.
+
2021-02-04 Frank Ch. Eigler <fche@redhat.com>
PR27092 low-memory handling
scan_archives[".rpm"]="cat"; // libarchive groks rpm natively
break;
case 'U':
- if (access("/usr/bin/dpkg-deb", X_OK) == 0)
- {
- scan_archives[".deb"]="dpkg-deb --fsys-tarfile";
- scan_archives[".ddeb"]="dpkg-deb --fsys-tarfile";
- }
- else
- {
- scan_archives[".deb"]="(bsdtar -O -x -f - data.tar.xz)<";
- scan_archives[".ddeb"]="(bsdtar -O -x -f - data.tar.xz)<";
- }
+ scan_archives[".deb"]="(bsdtar -O -x -f - data.tar\\*)<";
+ scan_archives[".ddeb"]="(bsdtar -O -x -f - data.tar\\*)<";
+ scan_archives[".ipk"]="(bsdtar -O -x -f - data.tar\\*)<";
// .udeb too?
break;
case 'Z':