tar: override symlink permissions

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>
(cherry picked from commit e25cedd0b5)
This commit is contained in:
Felix Fietkau 2017-05-30 15:37:10 +02:00 committed by Jo-Philipp Wich
parent 59a1c1675d
commit e8bd0a606a
1 changed files with 10 additions and 0 deletions

View File

@ -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)
{