[arch-commits] Commit in libarchive/trunk (2 files)

Christian Hesse eworm at gemini.archlinux.org
Tue Feb 8 10:58:47 UTC 2022


    Date: Tuesday, February 8, 2022 @ 10:58:47
  Author: eworm
Revision: 436466

upgpkg: libarchive 3.5.3-2: fix extracting link, again

The release was from a maintenance branch, missing this fix.

Added:
  libarchive/trunk/0001-unescape-when-extracting-link.patch
Modified:
  libarchive/trunk/PKGBUILD

------------------------------------------+
 0001-unescape-when-extracting-link.patch |   21 +++++++++++++++++++++
 PKGBUILD                                 |   23 ++++++++++++++++-------
 2 files changed, 37 insertions(+), 7 deletions(-)

Added: 0001-unescape-when-extracting-link.patch
===================================================================
--- 0001-unescape-when-extracting-link.patch	                        (rev 0)
+++ 0001-unescape-when-extracting-link.patch	2022-02-08 10:58:47 UTC (rev 436466)
@@ -0,0 +1,21 @@
+commit d6e57967495107d6c85880f8514bed5c6d20e9d6
+Author: Christian Hesse <mail at eworm.de>
+Date:   Mon Dec 20 10:36:50 2021 +0100
+
+    unescape when extracting link
+    
+    The file name is escaped when archiving, so it needs to be unescaped
+    when extracting.
+
+diff --git a/libarchive/archive_read_support_format_mtree.c b/libarchive/archive_read_support_format_mtree.c
+index 9c46cfae..88bca76f 100644
+--- a/libarchive/archive_read_support_format_mtree.c
++++ b/libarchive/archive_read_support_format_mtree.c
+@@ -1675,6 +1675,7 @@ parse_keyword(struct archive_read *a, struct mtree *mtree,
+ 		break;
+ 	case 'l':
+ 		if (strcmp(key, "link") == 0) {
++			parse_escapes(val, NULL);
+ 			archive_entry_copy_symlink(entry, val);
+ 			return (ARCHIVE_OK);
+ 		}

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-02-08 10:42:32 UTC (rev 436465)
+++ PKGBUILD	2022-02-08 10:58:47 UTC (rev 436466)
@@ -3,7 +3,7 @@
 
 pkgname=libarchive
 pkgver=3.5.3
-pkgrel=1
+pkgrel=2
 pkgdesc='Multi-format archive and compression library'
 arch=('x86_64')
 url='https://libarchive.org/'
@@ -12,12 +12,20 @@
 provides=('libarchive.so')
 options=('debug')
 validpgpkeys=('A5A45B12AD92D964B89EEE2DEC560C81CEC2276E') # Martin Matuska <mm at FreeBSD.org>
-source=("https://github.com/${pkgname}/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc})
+source=("https://github.com/${pkgname}/${pkgname}/releases/download/v${pkgver}/${pkgname}-${pkgver}.tar.xz"{,.asc}
+        '0001-unescape-when-extracting-link.patch')
 sha256sums=('5cac725dd4be31c4a10b65d30f29dc957ea29ef3d758df6e46e8ae90a996a19a'
-            'SKIP')
+            'SKIP'
+            '5e5c5f080cb58d1d621ab8b39a2c1565b6dad826a18dbb3ac7d88357f95fb359')
 
+prepare() {
+  cd "${pkgname}-${pkgver}"
+
+  patch -Np1 < ../0001-unescape-when-extracting-link.patch
+}
+
 build() {
-  cd $pkgname-$pkgver 
+  cd "${pkgname}-${pkgver}"
 
   ./configure \
       --prefix=/usr \
@@ -24,17 +32,18 @@
       --without-xml2 \
       --without-nettle \
       --disable-static
-
   make
 }
 
 check() {
-  cd $pkgname-$pkgver
+  cd "${pkgname}-${pkgver}"
+
   make check
 }
 
 package() {
-  cd $pkgname-$pkgver
+  cd "${pkgname}-${pkgver}"
+
   make DESTDIR="$pkgdir" install
   install -Dm0644 COPYING "$pkgdir/usr/share/licenses/libarchive/COPYING"
 }



More information about the arch-commits mailing list