[arch-commits] Commit in tar/trunk (01-When-extracting-skip-.-members.patch PKGBUILD)
Sébastien Luttringer
seblu at archlinux.org
Wed Nov 2 19:50:32 UTC 2016
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
More information about the arch-commits
mailing list