[packages/tar] - rel 2; backport zstd support from upstream
arekm
arekm at pld-linux.org
Mon Aug 6 10:31:57 CEST 2018
commit e64d3ec0c99c4dbc4392d901a326bc8a073eb228
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Mon Aug 6 10:31:50 2018 +0200
- rel 2; backport zstd support from upstream
tar.spec | 4 +-
zstd.patch | 199 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 202 insertions(+), 1 deletion(-)
---
diff --git a/tar.spec b/tar.spec
index 96b9edd..a7ae6ef 100644
--- a/tar.spec
+++ b/tar.spec
@@ -11,7 +11,7 @@ Summary(pt_BR.UTF-8): GNU Tape Archiver (tar)
Summary(tr.UTF-8): Yaygın kullanılan yedekleyici
Name: tar
Version: 1.30
-Release: 1
+Release: 2
Epoch: 1
License: GPL v3+
Group: Applications/Archiving
@@ -21,6 +21,7 @@ Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-ma
# Source1-md5: 4e4b1655fe42c27a4eb5d7bcd82e74ac
Patch0: %{name}-info.patch
Patch1: %{name}-zero-block.patch
+Patch2: zstd.patch
URL: http://www.gnu.org/software/tar/tar.html
BuildRequires: autoconf >= 2.63
BuildRequires: automake >= 1:1.11
@@ -140,6 +141,7 @@ z pakietu dump.
%setup -q
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%{__rm} po/stamp-po
diff --git a/zstd.patch b/zstd.patch
new file mode 100644
index 0000000..5421723
--- /dev/null
+++ b/zstd.patch
@@ -0,0 +1,199 @@
+From 3d45373d3b192d7342d49524193497598818d36d Mon Sep 17 00:00:00 2001
+From: Adam Borowski <kilobyte at angband.pl>
+Date: Sun, 18 Mar 2018 10:24:13 +0200
+Subject: Add support for zstd compression
+
+* configure.ac (zstd): Register compression program.
+* doc/tar.1: Mention --zstd.
+* doc/tar.texi: Document zstd support.
+* src/buffer.c: Register zstd compression.
+* src/suffix.c: Add suffixes zst and tzst.
+* src/tar.c: New compression option --zstd.
+---
+ configure.ac | 1 +
+ doc/.gitignore | 1 +
+ doc/tar.1 | 4 ++++
+ doc/tar.texi | 29 +++++++++++++++++++++--------
+ src/buffer.c | 5 ++++-
+ src/suffix.c | 2 ++
+ src/tar.c | 12 +++++++++++-
+ 7 files changed, 44 insertions(+), 10 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0bddbeb..354e787 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -250,6 +250,7 @@ TAR_COMPR_PROGRAM(lzip)
+ TAR_COMPR_PROGRAM(lzma)
+ TAR_COMPR_PROGRAM(lzop)
+ TAR_COMPR_PROGRAM(xz)
++TAR_COMPR_PROGRAM(zstd)
+
+ AC_MSG_CHECKING(for default archive format)
+
+diff --git a/doc/tar.1 b/doc/tar.1
+index ddf4fdc..0663525 100644
+--- a/doc/tar.1
++++ b/doc/tar.1
+@@ -831,6 +831,10 @@ Filter the archive through
+ \fB\-Z\fR, \fB\-\-compress\fR, \fB\-\-uncompress\fR
+ Filter the archive through
+ .BR compress (1).
++.TP
++\fB\-\-zstd\fR
++Filter the archive through
++.BR zstd (1).
+ .SS Local file selection
+ .TP
+ \fB\-\-add\-file\fR=\fIFILE\fR
+diff --git a/doc/tar.texi b/doc/tar.texi
+index a56b9fb..1362216 100644
+--- a/doc/tar.texi
++++ b/doc/tar.texi
+@@ -3713,6 +3713,9 @@ only attributes from the user namespace.
+ @itemx -J
+ Use @command{xz} for compressing or decompressing the archives. @xref{gzip}.
+
++ at item --zstd
++Use @command{zstd} for compressing or decompressing the archives. @xref{gzip}.
++
+ @end table
+
+ @node Short Option Summary
+@@ -9520,6 +9523,7 @@ switch to @samp{posix}.
+ @cindex lzma
+ @cindex lzop
+ @cindex compress
++ at cindex zstd
+ @GNUTAR{} is able to create and read compressed archives. It supports
+ a wide variety of compression programs, namely: @command{gzip},
+ @command{bzip2}, @command{lzip}, @command{lzma}, @command{lzop},
+@@ -9530,14 +9534,21 @@ compression programs at footnote{It also had patent problems in the past.}.
+
+ Creating a compressed archive is simple: you just specify a
+ @dfn{compression option} along with the usual archive creation
+-commands. The compression option is @option{-z} (@option{--gzip}) to
+-create a @command{gzip} compressed archive, @option{-j}
+-(@option{--bzip2}) to create a @command{bzip2} compressed archive,
+- at option{--lzip} to create an @asis{lzip} compressed archive,
+- at option{-J} (@option{--xz}) to create an @asis{XZ} archive,
+- at option{--lzma} to create an @asis{LZMA} compressed
+-archive, @option{--lzop} to create an @asis{LZOP} archive, and
+- at option{-Z} (@option{--compress}) to use @command{compress} program.
++commands. Available compression options are summarized in the
++table below:
++
++ at multitable @columnfractions 0.4 0.2 0.4
++ at headitem Long @tab Short @tab Archive format
++ at item @option{--gzip} @tab @option{-z} @tab @command{gzip}
++ at item @option{--bzip2} @tab @option{-j} @tab @command{bzip2}
++ at item @option{--xz} @tab @option{-J} @tab @command{xz}
++ at item @option{--lzip} @tab @tab @command{lzip}
++ at item @option{--lzma} @tab @tab @command{lzma}
++ at item @option{--lzop} @tab @tab @command{lzop}
++ at item @option{--zstd} @tab @tab @command{zstd}
++ at item @option{--compress} @tab @option{-Z} @tab @command{compress}
++ at end multitable
++
+ For example:
+
+ @smallexample
+@@ -9730,6 +9741,8 @@ suffix. The following suffixes are recognized:
+ @item @samp{.tlz} @tab @command{lzma}
+ @item @samp{.lzo} @tab @command{lzop}
+ @item @samp{.xz} @tab @command{xz}
++ at item @samp{.zst} @tab @command{zstd}
++ at item @samp{.tzst} @tab @command{zstd}
+ @end multitable
+
+ @anchor{use-compress-program}
+diff --git a/src/buffer.c b/src/buffer.c
+index 51f299f..063e1be 100644
+--- a/src/buffer.c
++++ b/src/buffer.c
+@@ -281,7 +281,8 @@ enum compress_type {
+ ct_lzip,
+ ct_lzma,
+ ct_lzop,
+- ct_xz
++ ct_xz,
++ ct_zstd
+ };
+
+ static enum compress_type archive_compression_type = ct_none;
+@@ -310,6 +311,7 @@ static struct zip_magic const magic[] = {
+ { ct_lzma, 6, "\xFFLZMA" },
+ { ct_lzop, 4, "\211LZO" },
+ { ct_xz, 6, "\xFD" "7zXZ" },
++ { ct_zstd, 4, "\x28\xB5\x2F\xFD" },
+ };
+
+ #define NMAGIC (sizeof(magic)/sizeof(magic[0]))
+@@ -325,6 +327,7 @@ static struct zip_program zip_program[] = {
+ { ct_lzma, XZ_PROGRAM, "-J" },
+ { ct_lzop, LZOP_PROGRAM, "--lzop" },
+ { ct_xz, XZ_PROGRAM, "-J" },
++ { ct_zstd, ZSTD_PROGRAM, "--zstd" },
+ { ct_none }
+ };
+
+diff --git a/src/suffix.c b/src/suffix.c
+index 47027e7..66b5694 100644
+--- a/src/suffix.c
++++ b/src/suffix.c
+@@ -46,6 +46,8 @@ static struct compression_suffix compression_suffixes[] = {
+ { S(lzo, LZOP) },
+ { S(xz, XZ) },
+ { S(txz, XZ) }, /* Slackware */
++ { S(zst, ZSTD) },
++ { S(tzst, ZSTD) },
+ { NULL }
+ #undef S
+ #undef __CAT2__
+diff --git a/src/tar.c b/src/tar.c
+index 3f844a8..02fa561 100644
+--- a/src/tar.c
++++ b/src/tar.c
+@@ -348,7 +348,8 @@ enum
+ WARNING_OPTION,
+ XATTR_OPTION,
+ XATTR_EXCLUDE,
+- XATTR_INCLUDE
++ XATTR_INCLUDE,
++ ZSTD_OPTION,
+ };
+
+ static char const doc[] = N_("\
+@@ -682,6 +683,7 @@ static struct argp_option options[] = {
+ {"lzma", LZMA_OPTION, 0, 0, NULL, GRID+1 },
+ {"lzop", LZOP_OPTION, 0, 0, NULL, GRID+1 },
+ {"xz", 'J', 0, 0, NULL, GRID+1 },
++ {"zstd", ZSTD_OPTION, 0, 0, NULL, GRID+1 },
+ #undef GRID
+
+ #define GRID 100
+@@ -1129,6 +1131,10 @@ tar_help_filter (int key, const char *text, void *input)
+ s = xasprintf (_("filter the archive through %s"), XZ_PROGRAM);
+ break;
+
++ case ZSTD_OPTION:
++ s = xasprintf (_("filter the archive through %s"), ZSTD_PROGRAM);
++ break;
++
+ case ARGP_KEY_HELP_EXTRA:
+ {
+ const char *tstr;
+@@ -1650,6 +1656,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
+ set_use_compress_program_option (COMPRESS_PROGRAM, args->loc);
+ break;
+
++ case ZSTD_OPTION:
++ set_use_compress_program_option (ZSTD_PROGRAM, args->loc);
++ break;
++
+ case ATIME_PRESERVE_OPTION:
+ atime_preserve_option =
+ (arg
+--
+cgit v1.0-41-gc330
+
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/tar.git/commitdiff/e64d3ec0c99c4dbc4392d901a326bc8a073eb228
More information about the pld-cvs-commit
mailing list