Skip to content

Commit 4eb91f1

Browse files
Merge pull request #8150 from rubygems/deivid-rodriguez/prevent-macos-files-in-package
Prevent `._*` files in packages generated from macOS
2 parents 1b44a2d + 2653d3c commit 4eb91f1

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

Rakefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,8 @@ file "pkg/rubygems-#{v}.tgz" => "pkg/rubygems-#{v}" do
252252
tar_version = `tar --version`
253253
if tar_version.include?("bsdtar")
254254
# bsdtar, as used by at least FreeBSD and macOS, uses `--uname` and `--gname`.
255-
sh "tar -czf rubygems-#{v}.tgz --uname=rubygems:0 --gname=rubygems:0 rubygems-#{v}"
255+
# COPYFILE_DISABLE prevents storing macOS extended attribute data in `._*` files inside the archive
256+
sh({ "COPYFILE_DISABLE" => "1" }, "tar -czf rubygems-#{v}.tgz --uname=rubygems:0 --gname=rubygems:0 rubygems-#{v}")
256257
else # If a third variant is added, change this line to: elsif tar_version =~ /GNU tar/
257258
# GNU Tar, as used by many Linux distros, uses `--owner` and `--group`.
258259
sh "tar -czf rubygems-#{v}.tgz --owner=rubygems:0 --group=rubygems:0 rubygems-#{v}"

0 commit comments

Comments
 (0)