1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

downloader.rb: get rid of symlinks

* tool/downloader.rb: do not save downloaded files to cache.
  [ruby-core:81780] [Bug #13684]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59185 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2017-06-27 17:10:56 +00:00
parent 5cfda37971
commit 5522d79803
2 changed files with 20 additions and 5 deletions

View file

@ -129,6 +129,9 @@ class Downloader
else
name = File.basename(url.path)
end
cache_save = options.delete(:cache_save) {
ENV["CACHE_SAVE"] != "no"
}
cache = cache_file(url, name, options.delete(:cache_dir))
file ||= cache
if since.nil? and file.exist?
@ -136,7 +139,9 @@ class Downloader
$stdout.puts "#{file} already exists"
$stdout.flush
end
save_cache(cache, file, name)
if cache_save
save_cache(cache, file, name)
end
return file.to_path
end
if dryrun
@ -197,7 +202,7 @@ class Downloader
end
if dest.eql?(cache)
link_cache(cache, file, name)
else
elsif cache_save
save_cache(cache, file, name)
end
return file.to_path
@ -282,6 +287,11 @@ if $0 == __FILE__
since = false
when '-n', '--dryrun'
options[:dryrun] = true
when '--cache-dir'
options[:cache_dir] = ARGV[1]
ARGV.shift
when /\A--cache-dir=(.*)/m
options[:cache_dir] = $1
when /\A-/
abort "#{$0}: unknown option #{ARGV[0]}"
else

View file

@ -208,8 +208,13 @@ def package(vcs, rev, destdir, tmp = nil)
FileUtils.mkpath(File.dirname(dest))
begin
FileUtils.ln(file, dest, force: true)
next unless File.symlink?(dest)
File.unlink(dest)
rescue SystemCallError
end
begin
FileUtils.cp_r(file, dest, preserve: true)
rescue SystemCallError
FileUtils.cp(file, dest, preserve: true)
end
end
end
@ -334,11 +339,10 @@ def package(vcs, rev, destdir, tmp = nil)
mk << <<-'APPEND'
prereq: clean-cache $(CLEAN_CACHE)
clean-cache $(CLEAN_CACHE): after-update
clean-cache $(CLEAN_CACHE): extract-gems
touch-unicode-files:
update-download:: touch-unicode-files
update-download:: update-gems
after-update:: extract-gems
extract-gems: update-gems
update-gems:
APPEND
@ -346,6 +350,7 @@ update-gems:
f.puts "prereq: update-download"
f.puts mk
end
ENV["CACHE_SAVE"] = "no"
system(ENV["MAKE"] || ENV["make"] || "make", "prereq", *args.map {|arg| arg.join("=")})
clean.push("rbconfig.rb", ".rbconfig.time", "enc.mk")
print "prerequisites"