aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/tar/Makefile4
-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
4 files changed, 16 insertions, 36 deletions
diff --git a/tools/tar/Makefile b/tools/tar/Makefile
index 10a4a89780..baa431e2db 100644
--- a/tools/tar/Makefile
+++ b/tools/tar/Makefile
@@ -8,11 +8,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=tar
PKG_CPE_ID:=cpe:/a:gnu:tar
-PKG_VERSION:=1.29
+PKG_VERSION:=1.30
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=@GNU/tar
-PKG_HASH:=236b11190c0a3a6885bdb8d61424f2b36a5872869aa3f7f695dea4b4843ae2f2
+PKG_HASH:=87592b86cb037c554375f5868bdd3cc57748aef38d6cb741c81065f0beac63b7
HOST_BUILD_PARALLEL := 1
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))
{