summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2020-07-12 12:35:57 +0200
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2020-07-31 21:07:19 +0900
commit1b2bda72fcb765c0a1ca8991ad840d37ac27198d (patch)
treeb0ea3e1048b34a250930472840a87967ccded629
parent69881a41f22e6d76ce23c97e7026783ea8f2d07c (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
-rw-r--r--util/remove_openssl.rb66
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