aboutsummaryrefslogtreecommitdiffstats
path: root/tools/tar/patches
diff options
context:
space:
mode:
authorHannu Nyman <hannu.nyman@iki.fi>2018-01-19 18:55:28 +0200
committerHauke Mehrtens <hauke@hauke-m.de>2018-01-20 20:22:01 +0100
commite787ad5c9658deb1baae7ebb1f86bfbe219cb13f (patch)
tree6ce3ac9a284b754a0afa69aa0c187d55544387c7 /tools/tar/patches
parenta30370bbf114b54df1906a39b0ebb76ba0e53a8e (diff)
downloadupstream-e787ad5c9658deb1baae7ebb1f86bfbe219cb13f.tar.gz
upstream-e787ad5c9658deb1baae7ebb1f86bfbe219cb13f.tar.bz2
upstream-e787ad5c9658deb1baae7ebb1f86bfbe219cb13f.zip
tools/tar: update to 1.30
update GNU tar to 1.30 Signed-off-by: Hannu Nyman <hannu.nyman@iki.fi>
Diffstat (limited to 'tools/tar/patches')
-rw-r--r--tools/tar/patches/001-fix-macos-vasnprintf.patch25
-rw-r--r--tools/tar/patches/100-symlink-force-root-name.patch21
-rw-r--r--tools/tar/patches/110-symlink-force-permissions.patch2
3 files changed, 14 insertions, 34 deletions
diff --git a/tools/tar/patches/001-fix-macos-vasnprintf.patch b/tools/tar/patches/001-fix-macos-vasnprintf.patch
deleted file mode 100644
index c7dfbf76e7..0000000000
--- a/tools/tar/patches/001-fix-macos-vasnprintf.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/gnu/vasnprintf.c
-+++ b/gnu/vasnprintf.c
-@@ -4858,7 +4858,11 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
- #endif
- *fbp = dp->conversion;
- #if USE_SNPRINTF
--# if !(((__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) && !defined __UCLIBC__) || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
-+# if ! (((__GLIBC__ > 2 \
-+ || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 3)) \
-+ && !defined __UCLIBC__) \
-+ || (defined __APPLE__ && defined __MACH__) \
-+ || ((defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__))
- fbp[1] = '%';
- fbp[2] = 'n';
- fbp[3] = '\0';
-@@ -4872,6 +4876,9 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *
- in format strings in writable memory may crash the program
- (if compiled with _FORTIFY_SOURCE=2), so we should avoid it
- in this situation. */
-+ /* macOS 10.13 High Sierra behaves like glibc with
-+ _FORTIFY_SOURCE=2, and older macOS releases
-+ presumably do not need %n. */
- /* On native Windows systems (such as mingw), we can avoid using
- %n because:
- - Although the gl_SNPRINTF_TRUNCATION_C99 test fails,
diff --git a/tools/tar/patches/100-symlink-force-root-name.patch b/tools/tar/patches/100-symlink-force-root-name.patch
index 896b4723fc..93f889761b 100644
--- a/tools/tar/patches/100-symlink-force-root-name.patch
+++ b/tools/tar/patches/100-symlink-force-root-name.patch
@@ -5,16 +5,21 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/src/create.c
+++ b/src/create.c
-@@ -545,12 +545,8 @@ write_gnu_long_link (struct tar_stat_inf
- char *tmpname;
+@@ -544,17 +544,8 @@ write_gnu_long_link (struct tar_stat_inf
+ union block *header;
header = start_private_header ("././@LongLink", size, 0);
-- uid_to_uname (0, &tmpname);
-- UNAME_TO_CHARS (tmpname, header->header.uname);
-- free (tmpname);
-- gid_to_gname (0, &tmpname);
-- GNAME_TO_CHARS (tmpname, header->header.gname);
-- free (tmpname);
+- if (! numeric_owner_option)
+- {
+- static char *uname, *gname;
+- if (!uname)
+- {
+- uid_to_uname (0, &uname);
+- gid_to_gname (0, &gname);
+- }
+- UNAME_TO_CHARS (uname, header->header.uname);
+- GNAME_TO_CHARS (gname, header->header.gname);
+- }
+ UNAME_TO_CHARS ("root", header->header.uname);
+ GNAME_TO_CHARS ("root", header->header.gname);
diff --git a/tools/tar/patches/110-symlink-force-permissions.patch b/tools/tar/patches/110-symlink-force-permissions.patch
index 83dbda6ec5..6fb799bc0a 100644
--- a/tools/tar/patches/110-symlink-force-permissions.patch
+++ b/tools/tar/patches/110-symlink-force-permissions.patch
@@ -1,6 +1,6 @@
--- a/src/create.c
+++ b/src/create.c
-@@ -1851,6 +1851,7 @@ dump_file0 (struct tar_stat_info *st, ch
+@@ -1853,6 +1853,7 @@ dump_file0 (struct tar_stat_info *st, ch
#ifdef HAVE_READLINK
else if (S_ISLNK (st->stat.st_mode))
{