tar: override symlink permissions
authorFelix Fietkau <nbd@nbd.name>
Tue, 30 May 2017 13:37:10 +0000 (15:37 +0200)
committerFelix Fietkau <nbd@nbd.name>
Tue, 30 May 2017 13:40:51 +0000 (15:40 +0200)
On Linux, symlink permissions cannot be altered and are always 0777.
On Mac OS X they can be 0755. Force 0777 here to keep tarballs
reproducible across systems

Signed-off-by: Felix Fietkau <nbd@nbd.name>
tools/tar/patches/110-symlink-force-permissions.patch [new file with mode: 0644]

diff --git a/tools/tar/patches/110-symlink-force-permissions.patch b/tools/tar/patches/110-symlink-force-permissions.patch
new file mode 100644 (file)
index 0000000..83dbda6
--- /dev/null
@@ -0,0 +1,10 @@
+--- a/src/create.c
++++ b/src/create.c
+@@ -1851,6 +1851,7 @@ dump_file0 (struct tar_stat_info *st, ch
+ #ifdef HAVE_READLINK
+   else if (S_ISLNK (st->stat.st_mode))
+     {
++      st->stat.st_mode |= 0777; /* make permissions portable */
+       st->link_name = areadlinkat_with_size (parentfd, name, st->stat.st_size);
+       if (!st->link_name)
+       {