Add support for zstd compression (Closes: #1010465)

This commit is contained in:
Anton Gladky
2022-05-18 16:32:36 +02:00
parent 4ab22a5fc5
commit 814ee037d3
4 changed files with 54 additions and 0 deletions
+7
View File
@@ -1,3 +1,10 @@
aptly (1.4.0+ds1-7) unstable; urgency=medium
* Team upload.
* Add support for zstd compression (Closes: #1010465)
-- Anton Gladky <gladk@debian.org> Tue, 17 May 2022 22:42:29 +0200
aptly (1.4.0+ds1-6) unstable; urgency=medium
* Conflict on gpgv1 (Closes: #990821)
+1
View File
@@ -17,6 +17,7 @@ Build-Depends: debhelper-compat (= 12),
golang-github-smira-flag-dev,
golang-github-smira-commander-dev,
golang-gopkg-cheggaaa-pb.v1-dev,
golang-github-klauspost-compress-dev,
golang-github-mattn-go-shellwords-dev,
golang-github-smira-go-aws-auth-dev,
golang-github-wsxiaoys-terminal-dev,
+1
View File
@@ -1,3 +1,4 @@
Fix-UUID-struct-field-not-encoded-in-msgpack.patch
Fix-time.Time-msgpack-decoding-backwards-compatibili.patch
s3-etag.patch
zstd.patch
+45
View File
@@ -0,0 +1,45 @@
Description: Add support for zst compression
Origin: https://github.com/aptly-dev/aptly/pull/1050/files/e686753656b340abbb80c593f43879bfc9806cfd
Reviewed-By: Anton Gladky <gladk@debian.org>
Last-Update: 2022-04-29
Index: aptly/deb/deb.go
===================================================================
--- aptly.orig/deb/deb.go
+++ aptly/deb/deb.go
@@ -16,6 +16,7 @@ import (
"github.com/aptly-dev/aptly/pgp"
"github.com/kjk/lzma"
+ "github.com/klauspost/compress/zstd"
"github.com/smira/go-xz"
)
@@ -74,6 +75,13 @@ func GetControlFileFromDeb(packageFile s
}
defer unxz.Close()
tarInput = unxz
+ case "control.tar.zst":
+ unzstd, err := zstd.NewReader(bufReader)
+ if err != nil {
+ return nil, errors.Wrapf(err, "unable to unzstd %s from %s", header.Name, packageFile)
+ }
+ defer unzstd.Close()
+ tarInput = unzstd
default:
return nil, fmt.Errorf("unsupported tar compression in %s: %s", packageFile, header.Name)
}
@@ -189,6 +197,13 @@ func GetContentsFromDeb(file io.Reader,
unlzma := lzma.NewReader(bufReader)
defer unlzma.Close()
tarInput = unlzma
+ case "data.tar.zst":
+ unzstd, err := zstd.NewReader(bufReader)
+ if err != nil {
+ return nil, errors.Wrapf(err, "unable to unzstd %s from %s", header.Name, packageFile)
+ }
+ defer unzstd.Close()
+ tarInput = unzstd
default:
return nil, fmt.Errorf("unsupported tar compression in %s: %s", packageFile, header.Name)
}