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 <[email protected]> +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 <[email protected]> -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" }
