diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2020-07-12 12:35:57 +0200 |
---|---|---|
committer | Hiroshi SHIBATA <hsbt@ruby-lang.org> | 2020-07-31 21:07:19 +0900 |
commit | 1b2bda72fcb765c0a1ca8991ad840d37ac27198d (patch) | |
tree | b0ea3e1048b34a250930472840a87967ccded629 /util/remove_openssl.rb | |
parent | 69881a41f22e6d76ce23c97e7026783ea8f2d07c (diff) |
[rubygems/rubygems] Extend the script to allow reverting the patch when tried locally
https://github.com/rubygems/rubygems/commit/00ebf8c9f7
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/3379
Diffstat (limited to 'util/remove_openssl.rb')
-rw-r--r-- | util/remove_openssl.rb | 66 |
1 files changed, 50 insertions, 16 deletions
diff --git a/util/remove_openssl.rb b/util/remove_openssl.rb index c47e335391..a98f227f28 100644 --- a/util/remove_openssl.rb +++ b/util/remove_openssl.rb @@ -3,19 +3,53 @@ require "rbconfig" require "fileutils" -archdir = RbConfig::CONFIG["archdir"] -rubylibdir = RbConfig::CONFIG["rubylibdir"] -default_specifications_dir = Gem.default_specifications_dir - -openssl_rb = File.join(rubylibdir, "openssl.rb") -openssl_gemspec = Dir.glob("#{default_specifications_dir}/openssl-*.gemspec").first - -openssl_ext = if RUBY_PLATFORM == "java" - File.join(rubylibdir, "jopenssl.jar") - else - File.join(archdir, "openssl.so") - end - -FileUtils.mv openssl_rb, openssl_rb + "_" -FileUtils.mv openssl_ext, openssl_ext + "_" -FileUtils.mv openssl_gemspec, openssl_gemspec + "_" if openssl_gemspec +class OpensslSimulator + attr_reader :openssl_rb, :openssl_gemspec, :openssl_ext + + def initialize + archdir = RbConfig::CONFIG["archdir"] + rubylibdir = RbConfig::CONFIG["rubylibdir"] + default_specifications_dir = Gem.default_specifications_dir + + @openssl_rb = File.join(rubylibdir, "openssl.rb") + @openssl_gemspec = Dir.glob("#{default_specifications_dir}/openssl-*.gemspec").first + + @openssl_ext = if RUBY_PLATFORM == "java" + File.join(rubylibdir, "jopenssl.jar") + else + File.join(archdir, "openssl.so") + end + end + + def hide_openssl + hide_file openssl_rb + hide_file openssl_ext + hide_file openssl_gemspec if openssl_gemspec + end + + def unhide_openssl + unhide_file openssl_gemspec if openssl_gemspec + unhide_file openssl_ext + unhide_file openssl_rb + end + + private + + def hide_file(file) + FileUtils.mv file, file + "_" + end + + def unhide_file(file) + FileUtils.mv file + "_", file + end +end + +if $0 == __FILE__ + openssl_simulate = OpensslSimulator.new + + if ARGV[0] == "--revert" + openssl_simulate.unhide_openssl + else + openssl_simulate.hide_openssl + end +end |