aboutsummaryrefslogtreecommitdiffstats
path: root/debuginfod
diff options
context:
space:
mode:
authorFrank Ch. Eigler <fche@redhat.com>2020-03-25 10:55:53 -0400
committerFrank Ch. Eigler <fche@redhat.com>2020-03-26 15:50:53 -0400
commitbde8d7ec3fb1780f8178586533d76a959bde89ab (patch)
tree1e4278fabbdb89ef43274b730df9ad10f11a384e /debuginfod
parent6ae21361ab8b9ba0b18d55d595d9b20dedfcb132 (diff)
downloadplatform_external_elfutils-bde8d7ec3fb1780f8178586533d76a959bde89ab.tar.gz
platform_external_elfutils-bde8d7ec3fb1780f8178586533d76a959bde89ab.tar.bz2
platform_external_elfutils-bde8d7ec3fb1780f8178586533d76a959bde89ab.zip
PR25583: debuginfod: prefer bsdtar to dpkg for .deb handling
It turns out a bsdtar subshell can do the job of dpkg-deb. bsdtar comes from/with libarchive so it should be available everywhere. Signed-off-by: Frank Ch. Eigler <fche@redhat.com>
Diffstat (limited to 'debuginfod')
-rw-r--r--debuginfod/ChangeLog5
-rw-r--r--debuginfod/debuginfod.cxx5
2 files changed, 8 insertions, 2 deletions
diff --git a/debuginfod/ChangeLog b/debuginfod/ChangeLog
index 60d912a3..5e19db51 100644
--- a/debuginfod/ChangeLog
+++ b/debuginfod/ChangeLog
@@ -1,3 +1,8 @@
+2020-03-25 Frank Ch. Eigler <fche@redhat.com>
+
+ * debuginfod.cxx (parse_opt): Associate a bsdtar subshell with
+ the .deb & .ddeb extensions, instead of dpkg-deb.
+
2020-03-26 Frank Ch. Eigler <fche@redhat.com>
* debuginfod-client.c (debuginfod_query_server): Don't
diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx
index 2f28a877..c03bbf92 100644
--- a/debuginfod/debuginfod.cxx
+++ b/debuginfod/debuginfod.cxx
@@ -429,8 +429,9 @@ parse_opt (int key, char *arg,
scan_archives[".rpm"]="cat"; // libarchive groks rpm natively
break;
case 'U':
- scan_archives[".deb"]="dpkg-deb --fsys-tarfile";
- scan_archives[".ddeb"]="dpkg-deb --fsys-tarfile";
+ scan_archives[".deb"]="(bsdtar -O -x -f - data.tar.xz)<";
+ scan_archives[".ddeb"]="(bsdtar -O -x -f - data.tar.xz)<";
+ // .udeb too?
break;
case 'Z':
{