From a657d8637c3cb831cf455c249f368f8a7d891601 Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 27 Jun 2017 17:10:56 +0000 Subject: 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 --- tool/downloader.rb | 14 ++++++++++++-- tool/make-snapshot | 11 ++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/tool/downloader.rb b/tool/downloader.rb index 0498e3f95c..9ea9899682 100644 --- a/tool/downloader.rb +++ b/tool/downloader.rb @@ -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 diff --git a/tool/make-snapshot b/tool/make-snapshot index 0e467894d9..983fa2ccef 100755 --- a/tool/make-snapshot +++ b/tool/make-snapshot @@ -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" -- cgit v1.2.3