]> git.proxmox.com Git - dab.git/commitdiff
handle .xz compressed Packages file from Bullseye
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 13 Mar 2020 15:02:08 +0000 (16:02 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Fri, 13 Mar 2020 15:05:33 +0000 (16:05 +0100)
the security one did not have a fallback .gz, so just adapt already.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
DAB.pm

diff --git a/DAB.pm b/DAB.pm
index 86e7f8865f42dd2aeaf9e25cf07a6b4f886954d5..9f5fcbcc892c602282935e4b27d338819ed5bf2a 100644 (file)
--- a/DAB.pm
+++ b/DAB.pm
@@ -596,6 +596,18 @@ sub initialize {
     my $logfd = $self->{logfd} = IO::File->new (">$self->{logfile}") ||
        die "unable to open log file";
 
+    # FIXME: seems a bit like a hacky way??
+    my $COMPRESSOR = {
+       ext => 'gz',
+       decomp => 'gzip -d',
+    };
+    if ($self->{config}->{suite} eq 'bullseye') {
+       $COMPRESSOR = {
+           ext => 'xz',
+           decomp => 'xz -d',
+       };
+    }
+
     foreach my $ss (@{$self->{sources}}) {
        my $src = $ss->{mirror} || $ss->{source};
        my $path = "dists/$ss->{suite}/Release";
@@ -610,12 +622,13 @@ sub initialize {
            print $logfd $@; 
            warn "Release info ignored\n";
        };
+
        foreach my $comp (@{$ss->{comp}}) {
-           $path = "dists/$ss->{suite}/$comp/binary-$arch/Packages.gz";
+           $path = "dists/$ss->{suite}/$comp/binary-$arch/Packages.$COMPRESSOR->{ext}";
            $target = "$infodir/" . __url_to_filename ("$ss->{source}/$path");
            my $pkgsrc = "$src/$path";
            $self->download ($pkgsrc, $target);
-           $self->run_command ("gzip -d '$target'");
+           $self->run_command ("$COMPRESSOR->{decomp} '$target'");
        }
     }
 }