diff options
Diffstat (limited to 'Master')
-rw-r--r-- | Master/tlpkg/TeXLive/TLPOBJ.pm | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/Master/tlpkg/TeXLive/TLPOBJ.pm b/Master/tlpkg/TeXLive/TLPOBJ.pm index 441d24006e8..87a19e70377 100644 --- a/Master/tlpkg/TeXLive/TLPOBJ.pm +++ b/Master/tlpkg/TeXLive/TLPOBJ.pm @@ -581,13 +581,22 @@ sub make_container { } } - # No owner/group options if we are being called on a user's machine to - # make a backup. We only want these when we are making the master - # containers for tlnet. Also exclude .svn directories when making the - # masters. We determine user vs. master by whether there's a revision - # suffix in the container name. - my @attrs = $containername =~ /\.r[0-9]/ - ? () : ("--owner", "0", "--group", "0", "--exclude", ".svn"); + # Here we need to distinguish between making the master containers for + # tlnet (where we can assume GNU tar) and making backups on a user's + # machine (where we can assume nothing). We determine this by whether + # there's a revision suffix in the container name. + # + # For the master containers, we want to set the owner/group, exclude + # .svn directories, and force ustar format. This last is for the sake + # of packages such as pgf which have filenames long enough that they + # overflow standard tar format and result in special things being + # done. We don't want the GNU-specific special things. + # + my @attrs + = $containername =~ /\.r[0-9]/ + ? () + : ( "--owner", "0", "--group", "0", "--exclude", ".svn", + "--format", "ustar" ); my @cmdline = ($tar, "-cf", "$destdir/$tarname", @attrs); # Get list of files and symlinks to back up. Nothing else should be |