~ruther/guix-local

d8fb8e4bf9841bdc527e1c04ef18ac163222f11f — Zheng Junjie 1 year, 1 month ago 03a7e8c
gnu: libarchive: Update to 3.7.7.

* gnu/packages/backup.scm (libarchive): Update to 3.7.7.
* gnu/packages/backup.scm (libarchive/fixed): Delete variable.
* gnu/packages/patches/libarchive-remove-potential-backdoor.patch: Remove it
* gnu/local.mk (dist_patch_DATA): Unregister it.

Change-Id: Ia6474f9dae9a3d1a707d94fcace9bd50b2e3ac4c
3 files changed, 2 insertions(+), 68 deletions(-)

M gnu/local.mk
M gnu/packages/backup.scm
D gnu/packages/patches/libarchive-remove-potential-backdoor.patch
M gnu/local.mk => gnu/local.mk +0 -1
@@ 1729,7 1729,6 @@ dist_patch_DATA =						\
  %D%/packages/patches/less-hurd-path-max.patch			\
  %D%/packages/patches/libaio-32bit-test.patch                  \
  %D%/packages/patches/libaio-riscv-test5.patch			\
  %D%/packages/patches/libarchive-remove-potential-backdoor.patch	\
  %D%/packages/patches/libbase-fix-includes.patch		\
  %D%/packages/patches/libbase-use-own-logging.patch		\
  %D%/packages/patches/libbonobo-activation-test-race.patch	\

M gnu/packages/backup.scm => gnu/packages/backup.scm +2 -20
@@ 264,8 264,7 @@ backups (called chunks) to allow easy burning to CD/DVD.")
(define-public libarchive
  (package
    (name "libarchive")
    (replacement libarchive/fixed)
    (version "3.6.1")
    (version "3.7.7")
    (source
     (origin
       (method url-fetch)


@@ 274,10 273,9 @@ backups (called chunks) to allow easy burning to CD/DVD.")
                  (string-append "https://github.com/libarchive/libarchive"
                                 "/releases/download/v" version "/libarchive-"
                                 version ".tar.xz")))
       (patches (search-patches "libarchive-remove-potential-backdoor.patch"))
       (sha256
        (base32
         "1rj8q5v26lxxr8x4b4nqbrj7p06qvl91hb8cdxi3xx3qp771lhas"))))
         "1vps57mrpqmrk4zayh5g5amqfq7031s5zzkkxsm7r71rqf1wv6l7"))))
    (build-system gnu-build-system)
    (inputs
     (list bzip2


@@ 354,22 352,6 @@ random access nor for in-place modification.  This package provides the
@command{bsdcat}, @command{bsdcpio} and @command{bsdtar} commands.")
    (license license:bsd-2)))

(define libarchive/fixed
  (package
    (inherit libarchive)
    (version "3.7.7")
    (source
     (origin
       (method url-fetch)
       (uri (list (string-append "https://libarchive.org/downloads/libarchive-"
                                 version ".tar.xz")
                  (string-append "https://github.com/libarchive/libarchive"
                                 "/releases/download/v" version "/libarchive-"
                                 version ".tar.xz")))
       (sha256
        (base32
         "1vps57mrpqmrk4zayh5g5amqfq7031s5zzkkxsm7r71rqf1wv6l7"))))))

(define-public rdup
  (package
    (name "rdup")

D gnu/packages/patches/libarchive-remove-potential-backdoor.patch => gnu/packages/patches/libarchive-remove-potential-backdoor.patch +0 -47
@@ 1,47 0,0 @@
Remove code added by 'JiaT75', the malicious actor that backdoored `xz`:

https://github.com/libarchive/libarchive/pull/2101

At libarchive, they are reviewing all code contributed by this actor:

https://github.com/libarchive/libarchive/issues/2103

See the original disclosure and subsequent discussion for more
information about this incident:

https://seclists.org/oss-sec/2024/q1/268

Patch copied from upstream source repository:

https://github.com/libarchive/libarchive/pull/2101/commits/e200fd8abfb4cf895a1cab4d89b67e6eefe83942

From 6110e9c82d8ba830c3440f36b990483ceaaea52c Mon Sep 17 00:00:00 2001
From: Ed Maste <emaste@freebsd.org>
Date: Fri, 29 Mar 2024 18:02:06 -0400
Subject: [PATCH] tar: make error reporting more robust and use correct errno
 (#2101)

As discussed in #1609.
---
 tar/read.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tar/read.c b/tar/read.c
index af3d3f42..a7f14a07 100644
--- a/tar/read.c
+++ b/tar/read.c
@@ -371,8 +371,9 @@ read_archive(struct bsdtar *bsdtar, char mode, struct archive *writer)
 			if (r != ARCHIVE_OK) {
 				if (!bsdtar->verbose)
 					safe_fprintf(stderr, "%s", archive_entry_pathname(entry));
-				fprintf(stderr, ": %s: ", archive_error_string(a));
-				fprintf(stderr, "%s", strerror(errno));
+				safe_fprintf(stderr, ": %s: %s",
+				    archive_error_string(a),
+				    strerror(archive_errno(a)));
 				if (!bsdtar->verbose)
 					fprintf(stderr, "\n");
 				bsdtar->return_value = 1;
-- 
2.41.0