Date: Wednesday, November 2, 2016 @ 19:50:31 Author: seblu Revision: 279775
Work on FS#51563 Added: tar/trunk/01-When-extracting-skip-.-members.patch Modified: tar/trunk/PKGBUILD -----------------------------------------+ 01-When-extracting-skip-.-members.patch | 25 +++++++++++++++++++++++++ PKGBUILD | 23 +++++++++++++++++++---- 2 files changed, 44 insertions(+), 4 deletions(-) Added: 01-When-extracting-skip-.-members.patch =================================================================== --- 01-When-extracting-skip-.-members.patch (rev 0) +++ 01-When-extracting-skip-.-members.patch 2016-11-02 19:50:31 UTC (rev 279775) @@ -0,0 +1,25 @@ +diff --git a/src/extract.c b/src/extract.c +index f982433..7904148 100644 +--- a/src/extract.c ++++ b/src/extract.c +@@ -1629,12 +1629,20 @@ extract_archive (void) + { + char typeflag; + tar_extractor_t fun; ++ bool skip_dotdot_name; + + fatal_exit_hook = extract_finish; + + set_next_block_after (current_header); + ++ skip_dotdot_name = (!absolute_names_option ++ && contains_dot_dot (current_stat_info.orig_file_name)); ++ if (skip_dotdot_name) ++ ERROR ((0, 0, _("%s: Member name contains '..'"), ++ quotearg_colon (current_stat_info.orig_file_name))); ++ + if (!current_stat_info.file_name[0] ++ || skip_dotdot_name + || (interactive_option + && !confirm ("extract", current_stat_info.file_name))) + { Modified: PKGBUILD =================================================================== --- PKGBUILD 2016-11-02 19:37:47 UTC (rev 279774) +++ PKGBUILD 2016-11-02 19:50:31 UTC (rev 279775) @@ -5,19 +5,34 @@ pkgname=tar pkgver=1.29 -pkgrel=1 +pkgrel=2 pkgdesc='Utility used to store, backup, and transport files' arch=('i686' 'x86_64') -url='http://www.gnu.org/software/tar/tar.html' +url='https://www.gnu.org/software/tar/tar.html' license=('GPL3') groups=('base') depends=('glibc' 'acl' 'attr') options=('!emptydirs') validpgpkeys=('325F650C4C2B6AD58807327A3602B07F55D0C732') # Sergey Poznyakoff -source=("ftp://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig}) +source=("https://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"{,.sig} + '01-When-extracting-skip-.-members.patch') md5sums=('a1802fec550baaeecff6c381629653ef' - 'SKIP') + 'SKIP' + '21f9b5b3642b5476bd972189c33d06ca') +prepare() { + cd $pkgname-$pkgver + # apply patch from the source array (should be a pacman feature) + local filename + for filename in "${source[@]}"; do + if [[ "$filename" =~ \.patch$ ]]; then + msg2 "Applying patch $filename" + patch -p1 -N -i "$srcdir/$filename" + fi + done + : +} + build() { cd $pkgname-$pkgver ./configure --prefix=/usr --libexecdir=/usr/lib/tar