From unknown Sun Jun 22 11:40:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#33919: [PATCH 0/5] Add Zstandard compression for installation and utilities Resent-From: Alex Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 30 Dec 2018 06:47:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 33919 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 33919@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.154615241924392 (code B ref -1); Sun, 30 Dec 2018 06:47:01 +0000 Received: (at submit) by debbugs.gnu.org; 30 Dec 2018 06:46:59 +0000 Received: from localhost ([127.0.0.1]:41795 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gdUsA-0006Ho-U0 for submit@debbugs.gnu.org; Sun, 30 Dec 2018 01:46:59 -0500 Received: from eggs.gnu.org ([208.118.235.92]:48307) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gdUs8-0006FX-Bh for submit@debbugs.gnu.org; Sun, 30 Dec 2018 01:46:53 -0500 Received: from lists.gnu.org ([208.118.235.17]:36335) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gdUs8-0001DS-32 for submit@debbugs.gnu.org; Sun, 30 Dec 2018 01:46:52 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56675) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gdUs4-0000BN-Iw for bug-gnu-emacs@gnu.org; Sun, 30 Dec 2018 01:46:51 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,FREEMAIL_FROM autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gdUs0-0001Bx-VH for bug-gnu-emacs@gnu.org; Sun, 30 Dec 2018 01:46:48 -0500 Received: from mail-it1-x142.google.com ([2607:f8b0:4864:20::142]:39401) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gdUs0-0001Bk-Hb for bug-gnu-emacs@gnu.org; Sun, 30 Dec 2018 01:46:44 -0500 Received: by mail-it1-x142.google.com with SMTP id a6so31316147itl.4 for ; Sat, 29 Dec 2018 22:46:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:user-agent:mime-version; bh=2RrLew0nInzUptfDGXozLKDXynqPJObp1sEczN3b4Vc=; b=QDwT0Bk0U4R0F1NYlpdbY9Xk8YB3hIws9AybMIvhmjGPYN/dCVxQFR+xucmyOlIk3i Q+dpOHPbGhlidt9HvfbnxUP3MfCpC45fpKiHo6pGRWjcByBl09pCx0tevoYbJlLdvthY mxvMDrtOhPbbYA8gwrRanPCvUfm2o6Vs/shHJwOtTXrwrbUBRBbRjTnf9TNuX/+1XIXE EUg3PScqKXNdEpbcIJVrButUolAlS7zGxUg68ExKcAFI81liRP1yYfKuqnm4TtSBdBeA y7Qv3yAlXBtunS8fEIqG1Jg0CTcb1M09Vc7dSTAtcYFx2Agxu89zIFmGiYSrwnD55MfB WNWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:user-agent :mime-version; bh=2RrLew0nInzUptfDGXozLKDXynqPJObp1sEczN3b4Vc=; b=oIm3NhmsggshlI5U/LQKOEly6w1eUOyREuLtjzgMd8lnn2VrFNxR2nq3rR0vUhYVTo 6y4kd56tGt2VB9Q0hftHklJuxGQTVLqQZttjWnxkEbL0XhAxE0XTS28/xQ5RvEyi/mjv kfI1uEtYvYc2bqiYBs3D31YR+s7X+VFT52HuupCbsmB5vLPJzGxh1ikylp/s/Vebqv3I r4t9NJC4P4KqJIX/iM1cwBAI3WfHbRouRn2eRcYxXY8WpipVoXmCLl9zuvW+oqVCc43n lCQPylGsOtCJ0zv/KMk49pFPSDHpRBAsuI3pKCkmjxGV+uYSFcA5YesZFpd6/rXxiUQp 2Nxg== X-Gm-Message-State: AA+aEWY2/sxdc6PCsWLUidCizwjyA2cKkBPnPp88UGdpoWcA2ZkYVWLG jZVbqnWxT08LRvxFPUGmKSo= X-Google-Smtp-Source: AFSGD/Vg0Xp/YrxP6w5ZDQhAiHoe4wOMs+YtTV7WBv1Kkug2bmLIUo5/YwLJhMwCHXisv3IY7KaOuQ== X-Received: by 2002:a02:1dc8:: with SMTP id 191mr22067972jaj.55.1546152403604; Sat, 29 Dec 2018 22:46:43 -0800 (PST) Received: from lylat (S010664777d9cebe3.ss.shawcable.net. [70.64.85.59]) by smtp.gmail.com with ESMTPSA id j8sm16395618itb.30.2018.12.29.22.46.42 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 29 Dec 2018 22:46:42 -0800 (PST) From: Alex Date: Sun, 30 Dec 2018 00:46:08 -0600 Message-ID: <87tviv3427.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::142 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -4.0 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) --=-=-= Content-Type: text/plain I figured that it would be nice to support other compression programs for installed files, and Zstandard[1] seems like a good alternative for gzip in this area due to its fast decompression and wide range of options. This patch series depends on the patch I posted for bug#33880[2]. I have a few questions/comments: 1) I tested about everything except the Tramp part. One possible issue is that zstd prints a progress/summary line to stdout without the -q flag when compressing a single file; does Tramp care about that here? 2) Is there a convenient method to avoid the duplication of setting up the COMPR* (and perhaps other) variables in the doc/*/Makefile.in files? What about making a common file that other files load at the beginning? 3) Hopefully using eval is not an issue here. I believe the security should be the same, since I double quoted the filename strings (which I confirmed could be used to execute code without the extra quotes), and the old GZIP_PROG could also be exploited. [1] https://facebook.github.io/zstd/ [2] https://lists.gnu.org/archive/html/bug-gnu-emacs/2018-12/msg00926.html Alexander Gramiak (5): Add Zstandard compression support for etags Add Zstandard compression support for dired Add Zstandard compression support for Tramp * make-dist: Add option for zstd compression Add Zstandard compression option for make install INSTALL | 34 +++++++++++++++++++---- Makefile.in | 57 ++++++++++++++++++++++++++------------- admin/admin.el | 2 +- configure.ac | 36 ++++++++++++++++++------- doc/emacs/Makefile.in | 25 ++++++++++++----- doc/lispintro/Makefile.in | 25 ++++++++++++----- doc/lispref/Makefile.in | 25 ++++++++++++----- doc/man/etags.1 | 2 +- doc/misc/Makefile.in | 25 ++++++++++++----- doc/misc/tramp.texi | 9 ++++--- etc/NEWS | 30 +++++++++++++++++++++ lib-src/etags.c | 3 ++- lisp/dired-aux.el | 21 ++++++++++----- lisp/jka-cmpr-hook.el | 4 +-- lisp/net/tramp-archive.el | 8 +++--- lisp/net/tramp-sh.el | 1 + make-dist | 8 +++++- 17 files changed, 239 insertions(+), 76 deletions(-) --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Add-Zstandard-compression-support-for-etags.patch >From e6d4e51cc73274189e9d12062698679f79829e71 Mon Sep 17 00:00:00 2001 From: Alexander Gramiak Date: Sat, 29 Dec 2018 11:54:23 -0600 Subject: [PATCH 1/5] Add Zstandard compression support for etags * lib-src/etags.c: (compressors): Add zstd support. (print_language_names): Report zstd support. * doc/man/etags.1: Update doc. --- doc/man/etags.1 | 2 +- etc/NEWS | 3 +++ lib-src/etags.c | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/doc/man/etags.1 b/doc/man/etags.1 index 558b249f31..42c6fcd6da 100644 --- a/doc/man/etags.1 +++ b/doc/man/etags.1 @@ -64,7 +64,7 @@ Files specified with absolute file names will be recorded with absolute file names. Files generated from a source file\-\-like a C file generated from a source Cweb file\-\-will be recorded with the name of the source file. -Compressed files are supported using gzip, bzip2, and xz. +Compressed files are supported using gzip, bzip2, xz, and zstd. The programs recognize the language used in an input file based on its file name and contents. The \fB\-\-language\fP switch can be used to force parsing of the file names following the switch according to the given diff --git a/etc/NEWS b/etc/NEWS index 586e7065d1..2bacb66d4a 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -373,6 +373,9 @@ The mode is automatically enabled in files that start with the use the new 'multifile-initialize' and 'multifile-continue' functions instead. ++++ +*** etags is now able to read Zstandard-compressed files. + ** bibtex --- diff --git a/lib-src/etags.c b/lib-src/etags.c index 102d867b38..61f5ff7a08 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c @@ -527,6 +527,7 @@ static compressor compressors[] = { "GZ", "gzip -d -c"}, { "bz2", "bzip2 -d -c" }, { "xz", "xz -d -c" }, + { "zst", "zstd -d -c -q" }, { NULL } }; @@ -869,7 +870,7 @@ followed by the name of an interpreter. If no such sequence is found,\n\ Fortran is tried first; if no tags are found, C is tried next.\n\ When parsing any C file, a \"class\" or \"template\" keyword\n\ switches to C++."); - puts ("Compressed files are supported using gzip, bzip2, and xz.\n\ + puts ("Compressed files are supported using gzip, bzip2, xz, and zstd.\n\ \n\ For detailed help on a given language use, for example,\n\ etags --help --lang=ada."); -- 2.20.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0002-Add-Zstandard-compression-support-for-dired.patch >From 4e60a56756958af4d8af095fab0dad661628ffcb Mon Sep 17 00:00:00 2001 From: Alexander Gramiak Date: Sat, 29 Dec 2018 11:54:24 -0600 Subject: [PATCH 2/5] Add Zstandard compression support for dired * lisp/dired-aux.el (dired-compress-file-suffixes): Add suffixes for zstd compressed tarballs and other files. (dired-compress-file): Treat options found in `dired-compress-file-suffixes' as arguments instead of part of the program name. --- etc/NEWS | 4 ++++ lisp/dired-aux.el | 21 +++++++++++++++------ 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/etc/NEWS b/etc/NEWS index 2bacb66d4a..af99e29e40 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -388,6 +388,10 @@ remapped to these, respectively. +++ *** New command 'dired-create-empty-file'. +--- +*** Zstandard compression is now supported for 'dired-do-compress' and +'dired-do-compress-to'. + ** Change Logs and VC *** Recording ChangeLog entries doesn't require an actual file. diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el index 9cd7998216..909d6f6666 100644 --- a/lisp/dired-aux.el +++ b/lisp/dired-aux.el @@ -996,6 +996,9 @@ dired-compress-file-suffixes ("\\.bz2\\'" "" "bunzip2") ("\\.xz\\'" "" "unxz") ("\\.zip\\'" "" "unzip -o -d %o %i") + ("\\.tar\\.zst\\'" "" "unzstd -c %i | tar -xf -") + ("\\.tzst\\'" "" "unzstd -c %i | tar -xf -") + ("\\.zst\\'" "" "unzstd --rm") ("\\.7z\\'" "" "7z x -aoa -o%o %i") ;; This item controls naming for compression. ("\\.tar\\'" ".tgz" nil) @@ -1020,6 +1023,7 @@ dired-compress-files-alist '(("\\.tar\\.gz\\'" . "tar -cf - %i | gzip -c9 > %o") ("\\.tar\\.bz2\\'" . "tar -cf - %i | bzip2 -c9 > %o") ("\\.tar\\.xz\\'" . "tar -cf - %i | xz -c9 > %o") + ("\\.tar\\.zst\\'" . "tar -cf - %i | zstd -19 -o %o") ("\\.zip\\'" . "zip %o -r --filesync %i")) "Control the compression shell command for `dired-do-compress-to'. @@ -1103,12 +1107,17 @@ dired-compress-file nil t) nil t))) ;; We found an uncompression rule. - (when (not - (dired-check-process - (concat "Uncompressing " file) - command - file)) - newname))) + (let ((match (string-match " " command)) + (msg (concat "Uncompressing " file))) + (unless (if match + (dired-check-process msg + (substring command 0 match) + (substring command (1+ match)) + file) + (dired-check-process msg + command + file)) + newname)))) (t ;; We don't recognize the file as compressed, so compress it. ;; Try gzip; if we don't have that, use compress. -- 2.20.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0003-Add-Zstandard-compression-support-for-Tramp.patch >From 7f8c658d5423947cc9b88d137cec5a2e2e53afd1 Mon Sep 17 00:00:00 2001 From: Alexander Gramiak Date: Sat, 29 Dec 2018 11:54:24 -0600 Subject: [PATCH 3/5] Add Zstandard compression support for Tramp * lisp/net/tramp-archive.el (tramp-archive-suffixes) (tramp-archive-compression-suffixes): Add zstd compression suffixes. * lisp/net/tramp-sh.el (tramp-inline-compress-commands): Add zstd (de)compression commands. --- doc/misc/tramp.texi | 9 ++++++--- etc/NEWS | 4 ++++ lisp/net/tramp-archive.el | 8 ++++---- lisp/net/tramp-sh.el | 1 + 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index c9f1e75d8e..d491d04918 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -3332,18 +3332,21 @@ Archive file names @cindex @file{shar} file archive suffix @cindex file archive suffix @file{shar} -@item @samp{.tar}, @samp{.tbz}, @samp{.tgz}, @samp{.tlz}, @samp{.txz} --- +@item @samp{.tar}, @samp{.tbz}, @samp{.tgz}, @samp{.tlz}, @samp{.txz}, +@samp{.tzst} --- (Compressed) tape archives @cindex @file{tar} file archive suffix @cindex @file{tbz} file archive suffix @cindex @file{tgz} file archive suffix @cindex @file{tlz} file archive suffix @cindex @file{txz} file archive suffix +@cindex @file{tzst} file archive suffix @cindex file archive suffix @file{tar} @cindex file archive suffix @file{tbz} @cindex file archive suffix @file{tgz} @cindex file archive suffix @file{tlz} @cindex file archive suffix @file{txz} +@cindex file archive suffix @file{tzst} @item @samp{.warc} --- Web archives @@ -3378,8 +3381,8 @@ Archive file names compression suffix. Valid compression suffixes are listed in the constant @code{tramp-archive-compression-suffixes}. They are @samp{.bz2}, @samp{.gz}, @samp{.lrz}, @samp{.lz}, @samp{.lz4}, -@samp{.lzma}, @samp{.lzo}, @samp{.uu}, @samp{.xz} and @samp{.Z}. A -valid archive file name would be +@samp{.lzma}, @samp{.lzo}, @samp{.uu}, @samp{.xz}, @samp{.Z}, and +@samp{.zst}. A valid archive file name would be @file{/path/to/dir/file.tar.gz/dir/file}. Even several suffixes in a row are possible, like @file{/path/to/dir/file.tar.gz.uu/dir/file}. diff --git a/etc/NEWS b/etc/NEWS index af99e29e40..e65823413b 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -927,6 +927,10 @@ ad-hoc multi-hop file names must match the previous hop. timeout, after which the underlying session is disabled. This is for security reasons. ++++ +*** Zstandard compression is now supported when using libarchive 3.3 +or newer. + ** Rcirc --- diff --git a/lisp/net/tramp-archive.el b/lisp/net/tramp-archive.el index 03b1eed970..910982978d 100644 --- a/lisp/net/tramp-archive.el +++ b/lisp/net/tramp-archive.el @@ -77,8 +77,8 @@ ;; File archives could also be compressed, identified by an additional ;; compression suffix. Valid compression suffixes are listed in the ;; constant `tramp-archive-compression-suffixes'. They are ".bz2", -;; ".gz", ".lrz", ".lz", ".lz4", ".lzma", ".lzo", ".uu", ".xz" and -;; ".Z". A valid archive file name would be +;; ".gz", ".lrz", ".lz", ".lz4", ".lzma", ".lzo", ".uu", ".xz",".Z", +;; and .zst. A valid archive file name would be ;; "/path/to/dir/file.tar.gz/dir/file". Even several suffixes in a ;; row are possible, like "/path/to/dir/file.tar.gz.uu/dir/file". @@ -149,7 +149,7 @@ tramp-archive-suffixes "rar" ;; RAR archives. "rpm" ;; Red Hat packages. "shar" ;; Shell archives. Not in libarchive testsuite. - "tar" "tbz" "tgz" "tlz" "txz" ;; (Compressed) tape archives. + "tar" "tbz" "tgz" "tlz" "txz" ".tzst" ;; (Compressed) tape archives. "warc" ;; Web archives. "xar" ;; macOS XAR archives. Not in libarchive testsuite. "xpi" ;; XPInstall Mozilla addons. Not in libarchive testsuite. @@ -164,7 +164,7 @@ tramp-archive-suffixes ;;;###autoload (defconst tramp-archive-compression-suffixes - '("bz2" "gz" "lrz" "lz" "lz4" "lzma" "lzo" "uu" "xz" "Z") + '("bz2" "gz" "lrz" "lz" "lz4" "lzma" "lzo" "uu" "xz" "Z" "zst") "List of suffixes which indicate a compressed file. It must be supported by libarchive(3).") diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index 991a210263..332cd356bf 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -4542,6 +4542,7 @@ tramp-inline-compress-commands ("env GZIP= gzip" "env GZIP= gzip -d") ("bzip2" "bzip2 -d") ("xz" "xz -d") + ("zstd --rm" "zstd -d --rm") ("compress" "compress -d")) "List of compress and decompress commands for inline transfer. Each item is a list that looks like this: -- 2.20.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0004-make-dist-Add-option-for-zstd-compression.patch >From 1a76a5c680ab539c992d06f9d10166781fdef0d2 Mon Sep 17 00:00:00 2001 From: Alexander Gramiak Date: Sat, 29 Dec 2018 11:54:24 -0600 Subject: [PATCH 4/5] * make-dist: Add option for zstd compression --- make-dist | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/make-dist b/make-dist index 926665b8f0..761477a83b 100755 --- a/make-dist +++ b/make-dist @@ -99,6 +99,10 @@ verbose= "--xz") default_gzip="xz" ;; + ## Same with zstd. + "--zstd") + default_gzip="zstd" + ;; "--no-compress") default_gzip="cat" ;; @@ -125,6 +129,7 @@ verbose= echo " --bzip2 use bzip2 instead of gzip" echo " --clean-up delete staging directories when done" echo " --xz use xz instead of gzip" + echo " --zstd use zstd instead of gzip" echo " --no-compress don't compress" echo " --newer=TIME don't include files older than TIME" echo " --no-check don't check for bad file names etc." @@ -684,7 +689,8 @@ files= fi case "${default_gzip}" in bzip2) gzip_extension=.bz2 ;; - xz) gzip_extension=.xz ;; + xz) gzip_extension=.xz ;; + zstd) gzip_extension=.zst; default_gzip="zstd -19q --rm" ;; gzip) gzip_extension=.gz ; default_gzip="gzip --best --no-name";; *) gzip_extension= ;; esac -- 2.20.1 --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0005-Add-Zstandard-compression-option-for-make-install.patch >From d5a8d41cd30e78bb614a8324acc1e7220368185a Mon Sep 17 00:00:00 2001 From: Alexander Gramiak Date: Sat, 29 Dec 2018 11:54:24 -0600 Subject: [PATCH 5/5] Add Zstandard compression option for make install * lisp/jka-cmpr-hook.el (jka-compr-load-suffixes): Add .zst by default. * configure.ac (--with-compress-install): Add `zstd' option and deprecate `GZIP_PROG' in favour of the more general `COMPR_PROG'. * Makefile.in: Add and use Make variables `COMPR_PROG', `COMPR_ARGS', `COMPR_TYPE', `COMPR_EXT', `COMPR_INFO_PROG', `COMPR_INFO_ARGS', `COMPR_INFO_EXT'. Deprecate, but still support `GZIP_PROG'. * doc/emacs/Makefile.in: doc/lispintro/Makefile.in: doc/lispref/Makefile.in: doc/misc/Makefile.in: Same as Makefile.in, but without the `COMPR_INFO*' Make variables. * admin/admin.el (make-manuals-dist-output-variables): Use `COMPR_PROG' over `GZIP_PROG'. * INSTALL: Document new `COMPR_{PROG,TYPE,ARGS,EXT}' Make variables. --- INSTALL | 34 +++++++++++++++++++---- Makefile.in | 57 ++++++++++++++++++++++++++------------- admin/admin.el | 2 +- configure.ac | 36 ++++++++++++++++++------- doc/emacs/Makefile.in | 25 ++++++++++++----- doc/lispintro/Makefile.in | 25 ++++++++++++----- doc/lispref/Makefile.in | 25 ++++++++++++----- doc/misc/Makefile.in | 25 ++++++++++++----- etc/NEWS | 19 +++++++++++++ lisp/jka-cmpr-hook.el | 4 +-- 10 files changed, 192 insertions(+), 60 deletions(-) diff --git a/INSTALL b/INSTALL index 0c56fff6d4..ae9047d1ea 100644 --- a/INSTALL +++ b/INSTALL @@ -101,8 +101,9 @@ sections if you need to. make distclean Note that the install automatically saves space by compressing - (provided you have the 'gzip' program) those installed Lisp source (.el) - files that have corresponding .elc versions, as well as the Info files. + (provided you have 'gzip' or another compression program) those + installed Lisp source (.el) files that have corresponding .elc + versions, as well as the Info files. ADDITIONAL DISTRIBUTION FILES @@ -641,9 +642,32 @@ GNU software; the following variables are specific to Emacs. see), is '/usr/local/libexec/emacs/VERSION/CONFIGURATION-NAME' (where VERSION and CONFIGURATION-NAME are as described above). -'GZIP_PROG' is the name of the executable that compresses installed info, - manual, and .el files. It defaults to gzip. Setting it to - the empty string suppresses compression. +'COMPR_PROG' is the name of the executable that compresses various + installed files, such as info, manual, and .el files. It + defaults to gzip. Setting it to the empty string suppresses + compression. + +'GZIP_PROG' is a deprecated variable that behaves like 'COMPR_PROG', + but also forces 'COMPR_TYPE' to gzip if 'COMPR_TYPE' is + unspecified. + +'COMPR_TYPE' is the type of compression used for the above, which for + supported values (currently 'gzip' and 'zstd') determines the + default values of 'COMPR_ARGS' and 'COMPR_EXT'. Its default + value is based on the configure option + '--with-compress-install'; if that option is specified, then + 'COMPR_TYPE' is set to the specified value of that option, + otherwise 'gzip'. + +'COMPR_ARGS' is the list of arguments passed to 'COMPR_PROG', which is + set according to 'COMPR_TYPE'. The default arguments for + supported 'COMPR_TYPE' set the slowest (best) compression + level that is enabled by default, and signify that the + original files are deleted after compression. + +'COMPR_EXT' is the extension used by 'COMPR_PROG', which is set + according to 'COMPR_TYPE'. It defaults to the canonical + extension of supported 'COMPR_TYPE'. Remember that you must specify any variable values you need each time you run 'make' in the top directory. If you run 'make' once to build diff --git a/Makefile.in b/Makefile.in index bbb028a74a..5020abc494 100644 --- a/Makefile.in +++ b/Makefile.in @@ -295,8 +295,33 @@ MKDIR_P = # Create a link to a file in the same directory as the target. LN_S_FILEONLY = @LN_S_FILEONLY@ -# We use gzip to compress installed .el and some .txt files. -GZIP_PROG = @GZIP_PROG@ +# We compress many installed .el and other files. +# GZIP_PROG is used here for backwards-compatibility. +ifdef GZIP_PROG + COMPR_PROG = ${GZIP_PROG} + COMPR_TYPE = gzip +else + COMPR_PROG = @COMPR_PROG@ + COMPR_TYPE = @COMPR_TYPE@ +endif + +ifeq (${COMPR_TYPE}, gzip) + COMPR_ARGS = "-9n" + COMPR_EXT = ".gz" + + # Info/man don't support zstd at the time of writing, so provide an + # alternative for them that defaults to gzip. + COMPR_INFO_PROG = ${COMPR_PROG} + COMPR_INFO_ARGS = ${COMPR_ARGS} + COMPR_INFO_EXT = ${COMPR_EXT} +else ifeq (${COMPR_TYPE}, zstd) + COMPR_ARGS = "-19q --rm" + COMPR_EXT = ".zst" + + COMPR_INFO_PROG = @COMPR_INFO_PROG@ + COMPR_INFO_ARGS = "-9n" + COMPR_INFO_EXT = ".gz" +endif # ============================= Targets ============================== @@ -609,16 +634,16 @@ install-arch-indep: ${write_subdir} subdir="$(DESTDIR)${datadir}/emacs/site-lisp" ; \ ${write_subdir} || true - [ -z "${GZIP_PROG}" ] || { \ + [ -z "${COMPR_PROG}" ] || { \ echo "Compressing *.el etc. ..." && \ cd "$(DESTDIR)${lispdir}" && \ for f in `find . -name "*.elc" -print | sed 's/.elc$$/.el/'`; do \ - ${GZIP_PROG} -9n "$$f"; \ + eval ${COMPR_PROG} ${COMPR_ARGS} "\"$$f\""; \ done; \ cd "$(DESTDIR)${etcdir}" && \ for f in `find . -maxdepth 1 -name "*NEWS*" -not -name NEWS \ -not -name ORG-NEWS` `find refcards -name "*.ps"` "publicsuffix.txt"; do \ - ${GZIP_PROG} -9n "$$f"; \ + eval ${COMPR_PROG} ${COMPR_ARGS} "\"$$f\""; \ done; \ } -chmod -R a+r "$(DESTDIR)${datadir}/emacs/${version}" ${COPYDESTS} @@ -668,9 +693,9 @@ install-info: for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \ (cd "$${thisdir}"; \ ${INSTALL_DATA} ${srcdir}/info/$$f "$(DESTDIR)${infodir}/$$f"); \ - [ -n "${GZIP_PROG}" ] || continue ; \ - rm -f "$(DESTDIR)${infodir}/$$f.gz"; \ - ${GZIP_PROG} -9n "$(DESTDIR)${infodir}/$$f"; \ + [ -n "${COMPR_INFO_PROG}" ] || continue ; \ + rm -f "$(DESTDIR)${infodir}/$${f}${COMPR_INFO_EXT}"; \ + eval ${COMPR_INFO_PROG} ${COMPR_INFO_ARGS} "\"$(DESTDIR)${infodir}/$$f\""; \ done; \ (cd "$${thisdir}"; \ ${INSTALL_INFO} --info-dir="$(DESTDIR)${infodir}" "$(DESTDIR)${infodir}/$$elt"); \ @@ -692,9 +717,9 @@ install-man: dest=`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1; \ (cd "$${thisdir}"; \ ${INSTALL_DATA} ${mansrcdir}/$${page} "$(DESTDIR)${man1dir}/$${dest}"); \ - [ -n "${GZIP_PROG}" ] || continue ; \ - rm -f "$(DESTDIR)${man1dir}/$${dest}.gz"; \ - ${GZIP_PROG} -9n "$(DESTDIR)${man1dir}/$${dest}" || true; \ + [ -n "${COMPR_INFO_PROG}" ] || continue ; \ + rm -f "$(DESTDIR)${man1dir}/$${dest}${COMPR_INFO_EXT}"; \ + eval ${COMPR_INFO_PROG} ${COMPR_INFO_ARGS} "\"$(DESTDIR)${man1dir}/$${dest}\"" || true; \ done ## Install those items from etc/ that need to end up elsewhere. @@ -774,16 +799,12 @@ uninstall: for elt in ${INFO_NONMISC} $${info_misc}; do \ (cd "$${thisdir}"; \ $(INSTALL_INFO) --remove --info-dir="$(DESTDIR)${infodir}" "$(DESTDIR)${infodir}/$$elt"); \ - if [ -n "${GZIP_PROG}" ]; then \ - ext=.gz; else ext=; fi; \ - rm -f $$elt$$ext $$elt-[1-9]$$ext $$elt-[1-9][0-9]$$ext; \ + rm -f $$elt${COMPR_INFO_EXT} $$elt-[1-9]${COMPR_INFO_EXT} $$elt-[1-9][0-9]${COMPR_INFO_EXT}; \ done; \ fi) - (if [ -n "${GZIP_PROG}" ]; then \ - ext=.gz; else ext=; fi; \ - if cd ${mansrcdir}; then \ + (if cd ${mansrcdir}; then \ for page in *.1; do \ - rm -f "$(DESTDIR)${man1dir}"/`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1$$ext; done; \ + rm -f "$(DESTDIR)${man1dir}"/`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1${COMPR_INFO_EXT}; done; \ fi) rm -f "$(DESTDIR)${bindir}/$(EMACS)" "$(DESTDIR)${bindir}/$(EMACSFULL)" (if cd "$(DESTDIR)${icondir}"; then \ diff --git a/admin/admin.el b/admin/admin.el index 3fc50afe9f..61792bea89 100644 --- a/admin/admin.el +++ b/admin/admin.el @@ -671,7 +671,7 @@ make-manuals-dist-output-variables ("@PACKAGE_TARNAME@" . "emacs") ("@docdir@" . "${datarootdir}/doc/${PACKAGE_TARNAME}") ("@\\(dvi\\|html\\|pdf\\|ps\\)dir@" . "${docdir}") - ("@GZIP_PROG@" . "gzip") + ("@COMPR_PROG@" . "gzip") ("@INSTALL@" . "install -c") ("@INSTALL_DATA@" . "${INSTALL} -m 644") ("@configure_input@" . "") diff --git a/configure.ac b/configure.ac index 8b34c3b658..d0061d9865 100644 --- a/configure.ac +++ b/configure.ac @@ -415,11 +415,32 @@ AC_DEFUN ## Makefile.in needs the cache file name. AC_SUBST(cache_file) -## This is an option because I do not know if all info/man support -## compressed files, nor how to test if they do so. -OPTION_DEFAULT_ON([compress-install], - [don't compress some files (.el, .info, etc.) when installing. Equivalent to: -make GZIP_PROG= install]) +AC_ARG_WITH([compress-install],dnl +[AS_HELP_STRING([--with-compress-install=PROGRAM], + [compression program used to compress some files + (.el, .info, etc.) when installing (PROGRAM one of: yes, gzip, + zstd, no; default 'yes'='gzip'). Note that Info/man files are + still compressed with gzip when 'zstd' is selected.])], +[ case "${withval}" in + yes|no|gzip|zstd) ;; + *) AC_MSG_ERROR(['--with-compress-install=$withval' is invalid; +this option's value should be 'yes', 'no', 'gzip', or 'zstd'.]) + ;; + esac +], +[with_compress_install=$with_features]) + +if test "${with_compress_install}" != no; then + if test "${with_compress_install}" = yes; then + with_compress_install=gzip; + fi + COMPR_TYPE=$with_compress_install + AC_PATH_PROG(COMPR_PROG, $with_compress_install) + + # Support separate compression for Info/man files for compatibility + AC_PATH_PROG(COMPR_INFO_PROG, gzip) +fi +AC_SUBST(COMPR_TYPE) AC_ARG_WITH(gameuser,dnl [AS_HELP_STRING([--with-gameuser=USER_OR_GROUP], @@ -1209,11 +1230,6 @@ AC_DEFUN AC_PATH_PROG(INSTALL_INFO, install-info, :, $PATH$PATH_SEPARATOR/usr/sbin$PATH_SEPARATOR/sbin) -dnl Don't use GZIP, which is used by gzip for additional parameters. -AC_PATH_PROG(GZIP_PROG, gzip) - -test $with_compress_install != yes && test -n "$GZIP_PROG" && \ - GZIP_PROG=" # $GZIP_PROG # (disabled by configure --without-compress-install)" AC_CACHE_CHECK([for 'find' args to delete a file], [emacs_cv_find_delete], diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in index 54e173f8d6..81825c9f82 100644 --- a/doc/emacs/Makefile.in +++ b/doc/emacs/Makefile.in @@ -51,7 +51,21 @@ psdir = MKDIR_P = @MKDIR_P@ -GZIP_PROG = @GZIP_PROG@ +ifdef GZIP_PROG + COMPR_PROG = ${GZIP_PROG} + COMPR_TYPE = gzip +else + COMPR_PROG = @COMPR_PROG@ + COMPR_TYPE = @COMPR_TYPE@ +endif + +ifeq (${COMPR_TYPE}, gzip) + COMPR_ARGS = "-9n" + COMPR_EXT = ".gz" +else ifeq (${COMPR_TYPE}, zstd) + COMPR_ARGS = "-19q --rm" + COMPR_EXT = ".zst" +endif HTML_OPTS = --no-split --html @@ -241,9 +255,9 @@ install-ps: umask 022; $(MKDIR_P) "$(DESTDIR)$(psdir)" for file in $(PS_TARGETS); do \ $(INSTALL_DATA) $${file} "$(DESTDIR)$(psdir)"; \ - [ -n "${GZIP_PROG}" ] || continue; \ - rm -f "$(DESTDIR)$(psdir)/$${file}.gz"; \ - ${GZIP_PROG} -9n "$(DESTDIR)$(psdir)/$${file}"; \ + [ -n "${COMPR_PROG}" ] || continue; \ + rm -f "$(DESTDIR)$(psdir)/$${file}${COMPR_EXT}"; \ + eval ${COMPR_PROG} ${COMPR_ARGS} "\"$(DESTDIR)$(psdir)/$${file}\""; \ done ## Top-level Makefile installs the info pages. @@ -261,9 +275,8 @@ uninstall-html: rm -f "$(DESTDIR)$(htmldir)/$${file}"; \ done uninstall-ps: - ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \ for file in $(PS_TARGETS); do \ - rm -f "$(DESTDIR)$(psdir)/$${file}$${ext}"; \ + rm -f "$(DESTDIR)$(psdir)/$${file}${COMPR_EXT}"; \ done uninstall-pdf: for file in $(PDF_TARGETS); do \ diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in index e2a1229d5c..989163b7c6 100644 --- a/doc/lispintro/Makefile.in +++ b/doc/lispintro/Makefile.in @@ -39,7 +39,21 @@ psdir = MKDIR_P = @MKDIR_P@ -GZIP_PROG = @GZIP_PROG@ +ifdef GZIP_PROG + COMPR_PROG = ${GZIP_PROG} + COMPR_TYPE = gzip +else + COMPR_PROG = @COMPR_PROG@ + COMPR_TYPE = @COMPR_TYPE@ +endif + +ifeq (${COMPR_TYPE}, gzip) + COMPR_ARGS = "-9n" + COMPR_EXT = ".gz" +else ifeq (${COMPR_TYPE}, zstd) + COMPR_ARGS = "-19q --rm" + COMPR_EXT = ".zst" +endif HTML_OPTS = --no-split --html @@ -140,9 +154,9 @@ install-ps: umask 022; $(MKDIR_P) "$(DESTDIR)$(psdir)" for file in $(PS_TARGETS); do \ $(INSTALL_DATA) $${file} "$(DESTDIR)$(psdir)"; \ - [ -n "${GZIP_PROG}" ] || continue; \ - rm -f "$(DESTDIR)$(psdir)/$${file}.gz"; \ - ${GZIP_PROG} -9n "$(DESTDIR)$(psdir)/$${file}"; \ + [ -n "${COMPR_PROG}" ] || continue; \ + rm -f "$(DESTDIR)$(psdir)/$${file}${COMPR_EXT}"; \ + eval ${COMPR_PROG} ${COMPR_ARGS} "\"$(DESTDIR)$(psdir)/$${file}\""; \ done ## Top-level Makefile installs the info pages. @@ -160,9 +174,8 @@ uninstall-html: rm -f "$(DESTDIR)$(htmldir)/$${file}"; \ done uninstall-ps: - ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \ for file in $(PS_TARGETS); do \ - rm -f "$(DESTDIR)$(psdir)/$${file}$${ext}"; \ + rm -f "$(DESTDIR)$(psdir)/$${file}${COMPR_EXT}"; \ done uninstall-pdf: for file in $(PDF_TARGETS); do \ diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index 221f4f97f5..352cbab258 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in @@ -43,7 +43,21 @@ psdir = MKDIR_P = @MKDIR_P@ -GZIP_PROG = @GZIP_PROG@ +ifdef GZIP_PROG + COMPR_PROG = ${GZIP_PROG} + COMPR_TYPE = gzip +else + COMPR_PROG = @COMPR_PROG@ + COMPR_TYPE = @COMPR_TYPE@ +endif + +ifeq (${COMPR_TYPE}, gzip) + COMPR_ARGS = "-9n" + COMPR_EXT = ".gz" +else ifeq (${COMPR_TYPE}, zstd) + COMPR_ARGS = "-19q --rm" + COMPR_EXT = ".zst" +endif HTML_OPTS = --no-split --html @@ -201,9 +215,9 @@ install-ps: umask 022; $(MKDIR_P) "$(DESTDIR)$(psdir)" for file in $(PS_TARGETS); do \ $(INSTALL_DATA) $${file} "$(DESTDIR)$(psdir)"; \ - [ -n "${GZIP_PROG}" ] || continue; \ - rm -f "$(DESTDIR)$(psdir)/$${file}.gz"; \ - ${GZIP_PROG} -9n "$(DESTDIR)$(psdir)/$${file}"; \ + [ -n "${COMPR_PROG}" ] || continue; \ + rm -f "$(DESTDIR)$(psdir)/$${file}${COMPR_EXT}"; \ + eval ${COMPR_PROG} ${COMPR_ARGS} "\"$(DESTDIR)$(psdir)/$${file}\""; \ done ## Top-level Makefile installs the info pages. @@ -221,9 +235,8 @@ uninstall-html: rm -f "$(DESTDIR)$(htmldir)/$${file}"; \ done uninstall-ps: - ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \ for file in $(PS_TARGETS); do \ - rm -f "$(DESTDIR)$(psdir)/$${file}$${ext}"; \ + rm -f "$(DESTDIR)$(psdir)/$${file}${COMPR_EXT}"; \ done uninstall-pdf: for file in $(PDF_TARGETS); do \ diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index fd07ea4ca1..380efb8761 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -44,7 +44,21 @@ psdir = MKDIR_P = @MKDIR_P@ -GZIP_PROG = @GZIP_PROG@ +ifdef GZIP_PROG + COMPR_PROG = ${GZIP_PROG} + COMPR_TYPE = gzip +else + COMPR_PROG = @COMPR_PROG@ + COMPR_TYPE = @COMPR_TYPE@ +endif + +ifeq (${COMPR_TYPE}, gzip) + COMPR_ARGS = "-9n" + COMPR_EXT = ".gz" +else ifeq (${COMPR_TYPE}, zstd) + COMPR_ARGS = "-19q --rm" + COMPR_EXT = ".zst" +endif HTML_OPTS = --no-split --html @@ -262,9 +276,9 @@ install-ps: umask 022; $(MKDIR_P) "$(DESTDIR)$(psdir)" for file in $(PS_TARGETS); do \ $(INSTALL_DATA) $${file} "$(DESTDIR)$(psdir)"; \ - [ -n "${GZIP_PROG}" ] || continue; \ - rm -f "$(DESTDIR)$(psdir)/$${file}.gz"; \ - ${GZIP_PROG} -9n "$(DESTDIR)$(psdir)/$${file}"; \ + [ -n "${COMPR_PROG}" ] || continue; \ + rm -f "$(DESTDIR)$(psdir)/$${file}${COMPR_EXT}"; \ + eval ${COMPR_PROG} ${COMPR_ARGS} "\"$(DESTDIR)$(psdir)/$${file}\""; \ done ## Top-level Makefile installs the info pages. @@ -283,9 +297,8 @@ uninstall-html: rm -f "$(DESTDIR)$(htmldir)/$${file}"; \ done uninstall-ps: - ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \ for file in $(PS_TARGETS); do \ - rm -f "$(DESTDIR)$(psdir)/$${file}$${ext}"; \ + rm -f "$(DESTDIR)$(psdir)/$${file}${COMPR_EXT}"; \ done uninstall-pdf: for file in $(PDF_TARGETS); do \ diff --git a/etc/NEWS b/etc/NEWS index e65823413b..633ddd9f62 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -40,6 +40,20 @@ counterparts from json.el. ** NEWS files for past Emacs versions and packages are now compressed by default. ++++ +** Emacs now supports Zstandard compression for most compressed +installation files using '--with-compress-install=zstd'. Info/man +files are still compressed with 'gzip' due to lack of support in +'info' and 'man'. + ++++ +** The make variable GZIP_PROG is now a deprecated alias for the new +variable COMPR_PROG. + +** New make variables COMPR_TYPE, COMPR_ARGS, and COMPR_EXT allow for +fine-tuning the compression type, arguments, and extension used when +(un)installing compressed files. + ** The etags program now uses the C library's regular expression matcher when possible, and a compatible regex substitute otherwise. This will let developers maintain Emacs's own regex code without having to also @@ -313,6 +327,11 @@ the node "(emacs) Directory Variables" of the user manual. * Changes in Specialized Modes and Packages in Emacs 27.1 +** Auto Compression mode +*** Zstandard files are now recognized as valid compressed +representative files by default. See 'load-file-rep-suffixes' for +details. + ** map.el *** Now also understands plists. *** Now defined via generic functions that can be extended via 'cl-defmethod'. diff --git a/lisp/jka-cmpr-hook.el b/lisp/jka-cmpr-hook.el index d800b60513..355a72df26 100644 --- a/lisp/jka-cmpr-hook.el +++ b/lisp/jka-cmpr-hook.el @@ -155,7 +155,7 @@ jka-compr-install (setq auto-mode-alist (append auto-mode-alist jka-compr-mode-alist-additions)) - ;; Make sure that (load "foo") will find /bla/foo.el.gz. + ;; Make sure that (load "foo") will find, e.g., /bla/foo.el.gz. (setq load-file-rep-suffixes (append load-file-rep-suffixes jka-compr-load-suffixes nil))) @@ -331,7 +331,7 @@ jka-compr-mode-alist-additions :set 'jka-compr-set :group 'jka-compr) -(defcustom jka-compr-load-suffixes (purecopy '(".gz")) +(defcustom jka-compr-load-suffixes (purecopy '(".gz" ".zst")) "List of compression related suffixes to try when loading files. Enabling Auto Compression mode appends this list to `load-file-rep-suffixes', which see. Disabling Auto Compression mode removes all suffixes -- 2.20.1 --=-=-=-- From unknown Sun Jun 22 11:40:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#33919: [PATCH 0/5] Add Zstandard compression for installation and utilities Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 30 Dec 2018 10:07:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33919 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Alex Cc: 33919@debbugs.gnu.org X-Debbugs-Original-Cc: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.154616438413083 (code B ref -1); Sun, 30 Dec 2018 10:07:01 +0000 Received: (at submit) by debbugs.gnu.org; 30 Dec 2018 10:06:24 +0000 Received: from localhost ([127.0.0.1]:41842 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gdXzD-0003Ox-So for submit@debbugs.gnu.org; Sun, 30 Dec 2018 05:06:24 -0500 Received: from eggs.gnu.org ([208.118.235.92]:52745) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gdXzB-0003Oo-6w for submit@debbugs.gnu.org; Sun, 30 Dec 2018 05:06:22 -0500 Received: from lists.gnu.org ([208.118.235.17]:55117) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gdXzA-0005ju-Rs for submit@debbugs.gnu.org; Sun, 30 Dec 2018 05:06:20 -0500 Received: from eggs.gnu.org ([208.118.235.92]:59711) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gdXz9-0005RJ-QZ for bug-gnu-emacs@gnu.org; Sun, 30 Dec 2018 05:06:20 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.1 required=5.0 tests=BAYES_50,FREEMAIL_FROM, RCVD_IN_DNSWL_LOW autolearn=disabled version=3.3.2 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gdXz4-0005iK-MX for bug-gnu-emacs@gnu.org; Sun, 30 Dec 2018 05:06:19 -0500 Received: from mout.gmx.net ([212.227.17.21]:46107) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gdXz4-0005hb-Ap for bug-gnu-emacs@gnu.org; Sun, 30 Dec 2018 05:06:14 -0500 Received: from detlef.gmx.de ([217.70.140.229]) by mail.gmx.com (mrgmx103 [212.227.17.168]) with ESMTPSA (Nemesis) id 0LZiQy-1h2jnj2Nky-00lTB9; Sun, 30 Dec 2018 11:06:11 +0100 From: Michael Albinus References: <87tviv3427.fsf@gmail.com> Date: Sun, 30 Dec 2018 11:06:10 +0100 In-Reply-To: <87tviv3427.fsf@gmail.com> (Alex's message of "Sun, 30 Dec 2018 00:46:08 -0600") Message-ID: <87y387pbvx.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:0NoK4kzDAUI6ziw31Z+MBS+RVivqwXZJKYOTurmy0My67f9rAEv mKDW6AJFsZ+QXCjupQKgdB+O23fO9Nq3Ve+liy9Q53zVh3CxMOPAGhRhIMdfCLd+w70G9Ny mjNeT0NE4b+rzm2+d5ikoZbj9nNyte4xUJLNkXJhQoyYTfc0FWIRlNqTbb4COYxfDAZKAEt rdppymIRAzV8IgfZu7gZA== X-UI-Out-Filterresults: notjunk:1;V03:K0:D3sdoYZmZcI=:08VyHH6544SzdNOsUOhU0R q35XUoDRiXYyZEpC6DzphtlaP9uDve3isPjKVTwe0RcjlaftIBfU/t3N8HKuMHHubBklid3uk fPxR1HO+UJiCzKUJgy+DESi65MpA9UM9V2zfTV4Xn6MmttWYiF/rs0uoNkWbym4AQNTvp81Bh eBMMRvsMeu+3cE89CpTrvWWuRHxol74mkeETmaQXi3h8M6mo4YEqRjmms7r4lQ2yfucadtKz3 czcCuYRvM5ssVaTvQBqHSUriKSzVK4tvFjpBxsCPCHkPtNnl0GBPTC+PQxmK1nYLzA6f2AbHV M4yz9+KMMWbLkq6H/jxbJUrTIJk47A/Ez1AxbsHoLS13v/RofR4BCOJ17MzL7UAgOJ8wGrptz eCoRYMR5J7vfVppK/TBeRxdGWR+yShpLKnfqzEVspZBMheI740D+12hrGaiPcsPrsYcYPbMO0 Od5PQuOllZg+I/NWA8BAlPfXaT24QE2645SvgPXZ2mPQNU2MozXxhkDjos/hHFWKa6Z3SC2+K Fwgm4xmEwWgDr9CZroekWetE+m7C6DMmPWVYjpxCn4UtO0ydNu8DlZL/r3TgaHtlGz8o00Vdf 5WzVB1DFvJrPm5IreJs5I69tJGMsyVVczZEnQH2hIBurqcj8LSHPjd8Agk0jtHTxU0fl+6FsO KjtCxmk54omHyjznWggaLAj4pT6W1IAApn693J5rZMdLJCV1NEf8vZGRPXrx8GTDRisBCepwA /GS1UbGxeQndXPjC16GurLgAHTbVw8/Q0hHi5DkZgdQHycBAcvC3K93KwSR3f1xHS0tUvqo4m Mbayb4KZuWqjwn2MDR2bUNtzVSYmgSnmX/ux3qtS6o77sMsbo7PhiaOKKIrxTGvCQgbVyPha3 RDVmM/7POqN1UgI2j3YmpCSlqXXN2FAqRLjAM9jSjcxBJ3de6PV9KW/naliT8a5JkNG1wLQTj H3nBPBC73WA== X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 212.227.17.21 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Spam-Score: -4.1 (----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.1 (-----) Alex writes: Hi Alex, > I figured that it would be nice to support other compression programs > for installed files, and Zstandard[1] seems like a good alternative > for gzip in this area due to its fast decompression and wide range of > options. Thanks. > 1) I tested about everything except the Tramp part. One possible issue > is that zstd prints a progress/summary line to stdout without the -q > flag when compressing a single file; does Tramp care about that here? I cannot test your integration into tramp-archive.el, my Ubuntu 18.10 carries libarchive 3.2.2 only. Next year, @work, I have a Fedora 29 machine, which I can use for testing. Will report then. Integration into tramp-sh.el works. The "-q" argument is not needed, because Tramp redirects stderr to /dev/null for the compression commands. The progress line seems to go there. > diff --git a/etc/NEWS b/etc/NEWS > index af99e29e40..e65823413b 100644 > --- a/etc/NEWS > +++ b/etc/NEWS > @@ -927,6 +927,10 @@ ad-hoc multi-hop file names must match the previous hop. > timeout, after which the underlying session is disabled. This is for > security reasons. > > ++++ > +*** Zstandard compression is now supported when using libarchive 3.3 > +or newer. > + > ** Rcirc This is superfluous. tramp-archive.el is new in Emacs 27, and it is mentioned in etc/NEWS. Changes on that file do not need to be documented additionally. Changes in compression of tramp-sh.el are not user visible, no need to document them in etc/NEWS. This might change, if we decide to give the user an option to decide, which compression has to be applied in Tramp. That's not possible for now. > --- a/lisp/net/tramp-archive.el > +++ b/lisp/net/tramp-archive.el > +;; ".gz", ".lrz", ".lz", ".lz4", ".lzma", ".lzo", ".uu", ".xz",".Z", > +;; and .zst. A valid archive file name would be This shall be ;; ".gz", ".lrz", ".lz", ".lz4", ".lzma", ".lzo", ".uu", ".xz", ".Z", ;; and ".zst". A valid archive file name would be > + "tar" "tbz" "tgz" "tlz" "txz" ".tzst" ;; (Compressed) tape archives. This shall be "tar" "tbz" "tgz" "tlz" "txz" "tzst" ;; (Compressed) tape archives. Best regards, Michael. From unknown Sun Jun 22 11:40:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#33919: [PATCH 0/5] Add Zstandard compression for installation and utilities Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 30 Dec 2018 15:22:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33919 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Alex Cc: 33919@debbugs.gnu.org Received: via spool by 33919-submit@debbugs.gnu.org id=B33919.154618330119390 (code B ref 33919); Sun, 30 Dec 2018 15:22:02 +0000 Received: (at 33919) by debbugs.gnu.org; 30 Dec 2018 15:21:41 +0000 Received: from localhost ([127.0.0.1]:42542 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gdcuL-00052g-Ac for submit@debbugs.gnu.org; Sun, 30 Dec 2018 10:21:41 -0500 Received: from eggs.gnu.org ([208.118.235.92]:47771) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gdcuJ-00052X-1R for 33919@debbugs.gnu.org; Sun, 30 Dec 2018 10:21:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gdcuD-0004SF-F5 for 33919@debbugs.gnu.org; Sun, 30 Dec 2018 10:21:38 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43964) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gdcu6-0004J3-FS; Sun, 30 Dec 2018 10:21:27 -0500 Received: from [176.228.60.248] (port=3561 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gdcu6-0001Ot-3d; Sun, 30 Dec 2018 10:21:26 -0500 Date: Sun, 30 Dec 2018 17:21:11 +0200 Message-Id: <831s5z59co.fsf@gnu.org> From: Eli Zaretskii In-reply-to: <87tviv3427.fsf@gmail.com> (message from Alex on Sun, 30 Dec 2018 00:46:08 -0600) References: <87tviv3427.fsf@gmail.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) > From: Alex > Date: Sun, 30 Dec 2018 00:46:08 -0600 > > I figured that it would be nice to support other compression programs > for installed files, and Zstandard[1] seems like a good alternative > for gzip in this area due to its fast decompression and wide range of > options. Thanks. I'm okay with adding support for zstd to Emacs, but I'm not sure we should complicate the build with offering yet another compression option. Up front, I don't think the advantages of zstd are really so overwhelming that they will justify the complexity. So maybe split the patch series in two; the part that adds zstd support to Emacs can be installed already. From unknown Sun Jun 22 11:40:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#33919: [PATCH 0/5] Add Zstandard compression for installation and utilities In-Reply-To: <87tviv3427.fsf@gmail.com> Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 02 Jan 2019 13:05:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33919 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Alex Cc: 33919@debbugs.gnu.org Received: via spool by 33919-submit@debbugs.gnu.org id=B33919.15464342946812 (code B ref 33919); Wed, 02 Jan 2019 13:05:01 +0000 Received: (at 33919) by debbugs.gnu.org; 2 Jan 2019 13:04:54 +0000 Received: from localhost ([127.0.0.1]:44345 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gegCb-0001lo-Mb for submit@debbugs.gnu.org; Wed, 02 Jan 2019 08:04:53 -0500 Received: from mout.gmx.net ([212.227.15.19]:39109) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gegCY-0001la-Pj for 33919@debbugs.gnu.org; Wed, 02 Jan 2019 08:04:51 -0500 Received: from detlef.gmx.de ([213.220.145.106]) by mail.gmx.com (mrgmx003 [212.227.17.190]) with ESMTPSA (Nemesis) id 0M86jp-1ha47B0NA9-00visg; Wed, 02 Jan 2019 14:04:44 +0100 From: Michael Albinus References: <87tviv3427.fsf@gmail.com> <87y387pbvx.fsf@gmx.de> Date: Wed, 02 Jan 2019 14:04:43 +0100 Message-ID: <87va3743dg.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:Dme/P9k4Zdx+PKZtJrPv8OoZEfd/Ei12IVFwOoqkIia5IGGFnjc 0/k8wQt74uoAmqRfGbS3SjGnrDelz+035i388iooPr7WI84P9goPEWus0k6I4sc4oHTIaOv Z2HyX3F1PTW/Vyga0rIGwzTHG/1eCMyh7z7nA9Mfa8t3i4LWiYXnI/8oBiWe81sRmoLyRmB 3KjElgqqf/uKn9HgpC41A== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:FtvoM0Ba/gg=:npXNtCEJ3xcOy5FcWboV5J PVUx+L7nJXkxy8ncfwtADmiL0TiHbg7fDr9YatEVIUfKPNTLzGbRJkc2VY3PkHAE6ou3t0ndS bgwMtRahjzpfRzcsd9AAaMk67w4n+KGeGy3cYuj7SQnFmirMdpUMM/KIUHqAz0hSxNg6nh6mZ 97VOcAuXK7ldBHGUCxjLW5Ynpn8BOWh0/X1z0LM3U1kJkx6B53pToLCW3qrJJBTWcuyEHFtNm /7JruDioNR+zx9S42Q290NKsP4W0MrTYEBEzYvLr8DVTaihB6kNm4DDIswCfeTf1Wxwd/3dd7 XBVu3bOzrOkyMPw8MYhl/sA5DmMnk4YWj7h7BOPQmuKU7Ynb0+kEzwroNH3pVdxrrABF7Q23t QtpGrpF0QYAW06a6AtSAPJMWh0PPVhtO0q36UeKwC4TmnzY8hhWAGZ9J7h4RttURokdwTElVn FhyErbPhgaHXawE/a7jftA1/a7sqbYummA5k32OnDlyUXX51YOfrhax3Kc5FLYcTW7F83FTg5 DEloq8SjBf7COgRWB1yCI5LU6kOoaIKKA732Npt0Q0pb0GEopAvoF5bbNjTacDXrUlIcT2wWt D909OxbkoUO6OjzNrcgDhC/C9VH1XvttYSJvjHNlrM2ZGINmFoJjh3j37CyGXMrcS3Ca/1w5H t8z8k40f5Q3qJrc0AZurCncvJMIUOIrkMHAvkyNARhv+PtC0kRe7EC3DemeV+oYmJNuwRsYM4 DJRZ6gtGMpYS47R6yfpdZHmtOjVn6v1RyPiFsKu1VrqQ0YyvkjM7rKV3EeInuAKxk92N5RR5P Qj1+OBiwCsEYPeNS2eMpWsJaamn0w29FetbzMjzd6qaIjRN54lmq2dp2fGdcVCn1ptl4VFBXB QAVdOj0bSkPgRTjYH1OrQxkva5cdolFS0HLrNDBfNH+e7kD0PhLM9bo4gd8X5y0fllL3b+qGt qo7cNcBoBuQ== X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) Michael Albinus writes: Hi Alex, >> 1) I tested about everything except the Tramp part. One possible issue >> is that zstd prints a progress/summary line to stdout without the -q >> flag when compressing a single file; does Tramp care about that here? > > I cannot test your integration into tramp-archive.el, my Ubuntu 18.10 > carries libarchive 3.2.2 only. Next year, @work, I have a Fedora 29 > machine, which I can use for testing. Will report then. Tests performed, everything looks good. Best regards, Michael. From unknown Sun Jun 22 11:40:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#33919: [PATCH 0/5] Add Zstandard compression for installation and utilities Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 23 Jun 2019 18:33:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33919 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 33919@debbugs.gnu.org, Michael Albinus , Alex Received: via spool by 33919-submit@debbugs.gnu.org id=B33919.156131474311381 (code B ref 33919); Sun, 23 Jun 2019 18:33:02 +0000 Received: (at 33919) by debbugs.gnu.org; 23 Jun 2019 18:32:23 +0000 Received: from localhost ([127.0.0.1]:54581 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hf7Hq-0002xG-Oo for submit@debbugs.gnu.org; Sun, 23 Jun 2019 14:32:23 -0400 Received: from quimby.gnus.org ([80.91.231.51]:45098) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hf7Ho-0002v0-Pv for 33919@debbugs.gnu.org; Sun, 23 Jun 2019 14:32:21 -0400 Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=stories) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hf7HZ-0000VY-Io; Sun, 23 Jun 2019 20:32:18 +0200 From: Lars Ingebrigtsen References: <87tviv3427.fsf@gmail.com> <831s5z59co.fsf@gnu.org> Date: Sun, 23 Jun 2019 20:32:05 +0200 In-Reply-To: <831s5z59co.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 30 Dec 2018 17:21:11 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Eli Zaretskii writes: >> From: Alex >> Date: Sun, 30 Dec 2018 00:46:08 -0600 >> >> I figured that it would be nice to support other compression programs >> for installed files, and Zstandard[1] seems l [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> From: Alex >> Date: Sun, 30 Dec 2018 00:46:08 -0600 >> >> I figured that it would be nice to support other compression programs >> for installed files, and Zstandard[1] seems like a good alternative >> for gzip in this area due to its fast decompression and wide range of >> options. > > Thanks. > > I'm okay with adding support for zstd to Emacs, but I'm not sure we > should complicate the build with offering yet another compression > option. Up front, I don't think the advantages of zstd are really so > overwhelming that they will justify the complexity. > > So maybe split the patch series in two; the part that adds zstd > support to Emacs can be installed already. Nothing further was done here (I think), but Michael confirmed that the Tramp part of the changes work. And the functionality is split into patches -- I can apply the first three patches (the ones that add the support for external zstd binaries) and skip the last two (that add a compilation option for the zstd library)? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From unknown Sun Jun 22 11:40:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#33919: [PATCH 0/5] Add Zstandard compression for installation and utilities Resent-From: Michael Albinus Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 23 Jun 2019 18:50:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33919 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Lars Ingebrigtsen Cc: Eli Zaretskii , 33919@debbugs.gnu.org, Alex Received: via spool by 33919-submit@debbugs.gnu.org id=B33919.156131576222586 (code B ref 33919); Sun, 23 Jun 2019 18:50:02 +0000 Received: (at 33919) by debbugs.gnu.org; 23 Jun 2019 18:49:22 +0000 Received: from localhost ([127.0.0.1]:54634 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hf7YH-0005sE-LN for submit@debbugs.gnu.org; Sun, 23 Jun 2019 14:49:21 -0400 Received: from mout.gmx.net ([212.227.15.19]:39705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hf7YF-0005rv-4u for 33919@debbugs.gnu.org; Sun, 23 Jun 2019 14:49:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1561315746; bh=CUFq1ded8ToXd5nzM1WD9XPDYiJ8TzIkMqgRH8RHZkA=; h=X-UI-Sender-Class:From:To:Cc:Subject:References:Date:In-Reply-To; b=OJq2yzTn4M0bKx1hj5BygX3kqms5nJJcuwqH1hnfVJMvFX8+Ll5osSk1KYGeWDMTD nPDo05PfgNQJYoGXlYpwo2crHX1lgSO+wtVngWp2WU0pyRK/UOrpzqlwuXlMTBzZmm tqtqr0Cv0Ia9EIY70v6aItgPkEY18ZjDamRWjXao= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from detlef.gmx.de ([212.86.38.77]) by mail.gmx.com (mrgmx003 [212.227.17.190]) with ESMTPSA (Nemesis) id 0M2cYX-1iUL5g3SQX-00sOKV; Sun, 23 Jun 2019 20:49:05 +0200 From: Michael Albinus References: <87tviv3427.fsf@gmail.com> <831s5z59co.fsf@gnu.org> Date: Sun, 23 Jun 2019 20:49:04 +0200 In-Reply-To: (Lars Ingebrigtsen's message of "Sun, 23 Jun 2019 20:32:05 +0200") Message-ID: <874l4gcf33.fsf@gmx.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Provags-ID: V03:K1:NQbnbNLdTH0hlvLp7RI35hnkflTBmoSmW5zO4AOv54mXzjXC/6J SXiqWQKL3/BgZ0j3d0Pq+i1Y1YJqBrRaIfr4U35l3jSayfg/VEJORMq9DpG0R/JYLhXUoWn s/p9Qo5D0blaGCv1xJ1hvUbIIkLZob8kH+ZX5dzDndeJcqTb9IJWFHbaamRMiL6w4qnrOtP BBFnxXBSM0a0KsgHE2WCw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:/ILj3KE7xVI=:fpS1wJys5rI6fVcuvUAdyy hJ4zZ76FM5CGQi8wLUI1CvB4hWguaCVh7XbNDZwH/8KVjgL/RxkDvrzvDOay4q+UZfzDOdLQ3 77z6eZr4K6cCIWqmmbgVe+cVwxy5G/FoNrYpI2vbzwDYc4Za9RQFXRY3AaC/SX0Txej3kztCK KDPDTl+9PUf2as/BBRQCYyEubQBRmXrhOEpRQsnQsC3oFKjWk5uCFuKFGYiLMyuT9ddKBRrtr Te5Lw5H3xsxWC1i4USwFjcjHNRUTKCQMsg+Ei1604ukkemi9I+EABjx1e4Zx/QaxJqDg8EuO5 PCxPOWYXdqdPLBk5oorwFwd3gmyAFZTebnb/BTGU4576+4p4TGKSdis/NoPYfvDh/MwRdY6tr QMGAqOs5XTK6GCj+XMwev+XLyiN+32PKyqmFHIW0EEq0F/WZ0O9LVr6qyZTfpHgna6VeGXtYg QfSFoXLOxr1tuhrey4l3N6xDhUkDZwWo08v2+APnnQcfKMBoLM9XzhTKwhgXusyYnybmWee/X ToEWNrDtL83iscRJ3A5BODvVY45aHrfiwRnQp34qgy9i9J9agxYoLFIgyXrKugg9n1HmX/ql1 Hi+53PgzLQdijeOs0221keOTUJkirdNOqWfM2Y9JsbnPtV3pliS0b2NE/y8TdRIBdRRlomKxW 9yvAfx1Yv5FOJJBpqs4w87uUSP1MRedxV+RHmWUXhC2I4b1w4p3ppE3nitmPC1ZWaPFvBSnJb TQTV8Pl3Snjf5Q6WoWCzj2YJg5P3K9ryPvVjiUGN7ZfDRLmNDMjwhSvTVAESF3IIepDA651u7 AsfcygeL/q7MjQhUC3fywH4hvHg7W1JglPQZOT5Rize2KK5K0E3F03j/1jgCwfxrpsKo/rB75 27TkYZDntEqbuDAJNLyLFZtYi56T6hPvmgu93PI+Gwsqkw7avznoMtOpt9TZgptChAQjbHiMi Sx8OdFkEGsWSLxxZkMDpPyR586DI02R8A/jeoMdFPL3Z9F+nbu9cs X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Lars Ingebrigtsen writes: > Nothing further was done here (I think), but Michael confirmed that the > Tramp part of the changes work. Yes, with the small comments I've added. > And the functionality is split into > patches -- I can apply the first three patches (the ones that add the > support for external zstd binaries) and skip the last two (that add a > compilation option for the zstd library)? No objection from my side. Best regards, Michael. From unknown Sun Jun 22 11:40:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#33919: [PATCH 0/5] Add Zstandard compression for installation and utilities Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 24 Jun 2019 14:09:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33919 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Michael Albinus Cc: Eli Zaretskii , 33919@debbugs.gnu.org, Alex Received: via spool by 33919-submit@debbugs.gnu.org id=B33919.156138528910426 (code B ref 33919); Mon, 24 Jun 2019 14:09:02 +0000 Received: (at 33919) by debbugs.gnu.org; 24 Jun 2019 14:08:09 +0000 Received: from localhost ([127.0.0.1]:57502 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hfPdh-0002i6-5L for submit@debbugs.gnu.org; Mon, 24 Jun 2019 10:08:09 -0400 Received: from quimby.gnus.org ([80.91.231.51]:59220) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hfPde-0002hu-Hi for 33919@debbugs.gnu.org; Mon, 24 Jun 2019 10:08:07 -0400 Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=stories) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hfPdU-0003ps-CX; Mon, 24 Jun 2019 16:08:02 +0200 From: Lars Ingebrigtsen References: <87tviv3427.fsf@gmail.com> <831s5z59co.fsf@gnu.org> <874l4gcf33.fsf@gmx.de> Date: Mon, 24 Jun 2019 16:07:56 +0200 In-Reply-To: <874l4gcf33.fsf@gmx.de> (Michael Albinus's message of "Sun, 23 Jun 2019 20:49:04 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Michael Albinus writes: > Lars Ingebrigtsen writes: > >> Nothing further was done here (I think), but Michael confirmed that the >> Tramp part of the changes work. > > Yes, with the small comments I've added [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Michael Albinus writes: > Lars Ingebrigtsen writes: > >> Nothing further was done here (I think), but Michael confirmed that the >> Tramp part of the changes work. > > Yes, with the small comments I've added. > >> And the functionality is split into >> patches -- I can apply the first three patches (the ones that add the >> support for external zstd binaries) and skip the last two (that add a >> compilation option for the zstd library)? > > No objection from my side. I've now applied the first three patches and made some additional commits that I think covers Michael's comments. (It was supposed to be a single addition commit but I had vc-dir in the wrong directory. :-/) So I'm now closing this bug report. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no From debbugs-submit-bounces@debbugs.gnu.org Mon Jun 24 10:08:39 2019 Received: (at control) by debbugs.gnu.org; 24 Jun 2019 14:08:39 +0000 Received: from localhost ([127.0.0.1]:57505 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hfPeB-0002iw-Iq for submit@debbugs.gnu.org; Mon, 24 Jun 2019 10:08:39 -0400 Received: from quimby.gnus.org ([80.91.231.51]:59236) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hfPeA-0002io-BF for control@debbugs.gnu.org; Mon, 24 Jun 2019 10:08:38 -0400 Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=stories) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hfPe7-0003q4-R7 for control@debbugs.gnu.org; Mon, 24 Jun 2019 16:08:37 +0200 Date: Mon, 24 Jun 2019 16:08:35 +0200 Message-Id: To: control@debbugs.gnu.org From: Lars Ingebrigtsen Subject: control message for bug #33919 X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: close 33919 27.1 quit Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) close 33919 27.1 quit From unknown Sun Jun 22 11:40:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#33919: [PATCH 0/5] Add Zstandard compression for installation and utilities Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 24 Jun 2019 14:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33919 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Lars Ingebrigtsen Cc: 33919@debbugs.gnu.org, michael.albinus@gmx.de, agrambot@gmail.com Received: via spool by 33919-submit@debbugs.gnu.org id=B33919.156138749222437 (code B ref 33919); Mon, 24 Jun 2019 14:45:02 +0000 Received: (at 33919) by debbugs.gnu.org; 24 Jun 2019 14:44:52 +0000 Received: from localhost ([127.0.0.1]:57571 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hfQDE-0005pp-Al for submit@debbugs.gnu.org; Mon, 24 Jun 2019 10:44:52 -0400 Received: from eggs.gnu.org ([209.51.188.92]:53317) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hfQDC-0005pc-Fq for 33919@debbugs.gnu.org; Mon, 24 Jun 2019 10:44:50 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:38613) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hfQD4-0000Xf-Il; Mon, 24 Jun 2019 10:44:42 -0400 Received: from [176.228.60.248] (port=4366 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1hfQD2-0000zD-PX; Mon, 24 Jun 2019 10:44:42 -0400 Date: Mon, 24 Jun 2019 17:44:37 +0300 Message-Id: <83imsvm4a2.fsf@gnu.org> From: Eli Zaretskii In-reply-to: (message from Lars Ingebrigtsen on Sun, 23 Jun 2019 20:32:05 +0200) References: <87tviv3427.fsf@gmail.com> <831s5z59co.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Lars Ingebrigtsen > Cc: Alex , 33919@debbugs.gnu.org, Michael Albinus > Date: Sun, 23 Jun 2019 20:32:05 +0200 > > > I'm okay with adding support for zstd to Emacs, but I'm not sure we > > should complicate the build with offering yet another compression > > option. Up front, I don't think the advantages of zstd are really so > > overwhelming that they will justify the complexity. > > > > So maybe split the patch series in two; the part that adds zstd > > support to Emacs can be installed already. > > Nothing further was done here (I think), but Michael confirmed that the > Tramp part of the changes work. And the functionality is split into > patches -- I can apply the first three patches (the ones that add the > support for external zstd binaries) and skip the last two (that add a > compilation option for the zstd library)? When you ask a question, I'd appreciate if next time you waited a bit longer for the answer. (I've only seen the question this morning, i.e. 12 hours ago, and didn't yet have time to re-read the discussions and the patches.) TIA. From unknown Sun Jun 22 11:40:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#33919: [PATCH 0/5] Add Zstandard compression for installation and utilities Resent-From: Lars Ingebrigtsen Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 24 Jun 2019 16:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33919 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 33919@debbugs.gnu.org, michael.albinus@gmx.de, agrambot@gmail.com Received: via spool by 33919-submit@debbugs.gnu.org id=B33919.156139367625791 (code B ref 33919); Mon, 24 Jun 2019 16:28:02 +0000 Received: (at 33919) by debbugs.gnu.org; 24 Jun 2019 16:27:56 +0000 Received: from localhost ([127.0.0.1]:57786 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hfRoy-0006hv-Dn for submit@debbugs.gnu.org; Mon, 24 Jun 2019 12:27:56 -0400 Received: from quimby.gnus.org ([80.91.231.51]:33098) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hfRox-0006ho-Be for 33919@debbugs.gnu.org; Mon, 24 Jun 2019 12:27:55 -0400 Received: from cm-84.212.202.86.getinternet.no ([84.212.202.86] helo=stories) by quimby.gnus.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hfRot-0005He-8s; Mon, 24 Jun 2019 18:27:53 +0200 From: Lars Ingebrigtsen References: <87tviv3427.fsf@gmail.com> <831s5z59co.fsf@gnu.org> <83imsvm4a2.fsf@gnu.org> Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAMFBMVEUTLnXb2dmIjJsRK3IQ JmcKECIBAAIRKm79/fzl4+QSLXQrPW7////o5+jDwcPy8vHoPNFEAAACSUlEQVQ4jYXST2jaUBgA 8Ee6k4NCbgrWup2EV9rCcwRyGhQRttusCtttM68HjyEEvHmbkB56s6A11G6Cx9522EFPEb407NZA 0qKnHSRjR8GNvRgtia3sXV54v/f9eS8PieJVX0xvIR3FOOQPDhYDiSQry+kY0rv9ywVkliCrikzS MUK6iEXo6LkzivP8LgOSramYiCSmX7I4tA03mcnkBSAi5PIq1gXSFReppjAcT14yUNXSEcF6Nt8/ 5ILSg52Un0rN0oKAxVfvdZ0LSg/4xFkckJClZQEffj2uEQacBjD0xt4BA4We9DHJFWt9Luh16E32 9wIgWCjR11vcm23/BDdeypsC6imliox7lB713lWT8DCQkKOVGr6SaOHLx+8QAjVHT2SclaTCs29a GIgiMchLUvFtC8IgswgFlyktTiECqkI/KfiYVjMA6xGUYqm62G+2NTBc16+FyiVKS/h67q8bTXDZ suH6UClR6ToehJu3wWywNpD0YT/+kNh0gvmUwTxSshEcxdIARXuB+2ByHoHlbIBlsjXgnVWyKPwd x1fJomAdjFPJIFkURvyetdvwWp31dq1f8dEoMUlajgkRMLXzP8D7nY3CcOretb1x4m6nbds/w3Dr 326dT/idJcNgszfoXqTmDVYsAnUHDG1mu+yAAy0M5sxevYYfEIbBHBrLLW4EDL5jLF6i1mlFAM7N ZsP/bbPPThR+Q12bua49H0EU6gDNxcf9GvjX6Kcy548BZh1odOAJAOvMhicBLHcDQHITtDYB/Af+ AT4f8dXDPn5hAAAAAElFTkSuQmCC Date: Mon, 24 Jun 2019 18:27:51 +0200 In-Reply-To: <83imsvm4a2.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 24 Jun 2019 17:44:37 +0300") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Report: Spam detection software, running on the system "quimby.gnus.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see @@CONTACT_ADDRESS@@ for details. Content preview: Eli Zaretskii writes: >> > I'm okay with adding support for zstd to Emacs, but I'm not sure we >> > should complicate the build with offering yet another compression >> > option. Up front, I don't think the advantages of z [...] Content analysis details: (-2.9 points, 5.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -1.0 ALL_TRUSTED Passed through trusted hosts only via SMTP -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Eli Zaretskii writes: >> > I'm okay with adding support for zstd to Emacs, but I'm not sure we >> > should complicate the build with offering yet another compression >> > option. Up front, I don't think the advantages of zstd are really so >> > overwhelming that they will justify the complexity. >> > >> > So maybe split the patch series in two; the part that adds zstd >> > support to Emacs can be installed already. [...] > When you ask a question, I'd appreciate if next time you waited a bit > longer for the answer. (I've only seen the question this morning, > i.e. 12 hours ago, and didn't yet have time to re-read the discussions > and the patches.) TIA. Sorry; I assumed that you were on board with this already based on your previous comment, so I was really soliciting answers from others (Michael, in particular). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no