aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-06-27 17:10:56 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-06-27 17:10:56 +0000
commita657d8637c3cb831cf455c249f368f8a7d891601 (patch)
tree4d07d0d2cc3bb2d51a98653b4017c6a4e9e51ecd
parent1eeab5c1658ee7ead2d0078a8fd8bb685c48f25e (diff)
downloadruby-a657d8637c3cb831cf455c249f368f8a7d891601.tar.gz
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
-rw-r--r--tool/downloader.rb14
-rwxr-xr-xtool/make-snapshot11
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"