rubygems-update 2.0.0.preview2 → 2.0.0.preview2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +12 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +2 -3
- data/History.txt +22 -1
- data/Manifest.txt +1 -0
- data/Rakefile +10 -2
- data/lib/rubygems.rb +1 -1
- data/lib/rubygems/command_manager.rb +1 -2
- data/lib/rubygems/commands/cleanup_command.rb +19 -10
- data/lib/rubygems/commands/install_command.rb +1 -1
- data/lib/rubygems/commands/query_command.rb +2 -2
- data/lib/rubygems/commands/uninstall_command.rb +3 -3
- data/lib/rubygems/dependency_installer.rb +6 -2
- data/lib/rubygems/indexer.rb +2 -2
- data/lib/rubygems/package.rb +1 -1
- data/lib/rubygems/remote_fetcher.rb +2 -2
- data/lib/rubygems/security.rb +2 -2
- data/lib/rubygems/security/policy.rb +3 -3
- data/lib/rubygems/source.rb +1 -1
- data/lib/rubygems/specification.rb +5 -2
- data/lib/rubygems/test_utilities.rb +2 -2
- data/lib/rubygems/uninstaller.rb +3 -3
- data/test/rubygems/alternate_cert.pem +16 -7
- data/test/rubygems/alternate_cert_32.pem +16 -7
- data/test/rubygems/alternate_key.pem +25 -7
- data/test/rubygems/child_cert.pem +16 -7
- data/test/rubygems/child_cert_32.pem +16 -7
- data/test/rubygems/child_key.pem +25 -7
- data/test/rubygems/expired_cert.pem +16 -7
- data/test/rubygems/future_cert.pem +16 -7
- data/test/rubygems/future_cert_32.pem +16 -7
- data/test/rubygems/grandchild_cert.pem +16 -7
- data/test/rubygems/grandchild_cert_32.pem +16 -7
- data/test/rubygems/grandchild_key.pem +25 -7
- data/test/rubygems/invalid_issuer_cert.pem +16 -7
- data/test/rubygems/invalid_issuer_cert_32.pem +16 -7
- data/test/rubygems/invalid_key.pem +25 -7
- data/test/rubygems/invalid_signer_cert.pem +16 -7
- data/test/rubygems/invalid_signer_cert_32.pem +16 -7
- data/test/rubygems/invalidchild_cert.pem +16 -7
- data/test/rubygems/invalidchild_cert_32.pem +16 -7
- data/test/rubygems/invalidchild_key.pem +25 -7
- data/test/rubygems/private_key.pem +25 -7
- data/test/rubygems/public_cert.pem +15 -7
- data/test/rubygems/public_cert_32.pem +16 -8
- data/test/rubygems/public_key.pem +7 -2
- data/test/rubygems/test_gem_commands_cert_command.rb +4 -5
- data/test/rubygems/test_gem_commands_cleanup_command.rb +20 -0
- data/test/rubygems/test_gem_dependency_installer.rb +30 -0
- data/test/rubygems/test_gem_package.rb +4 -3
- data/test/rubygems/test_gem_remote_fetcher.rb +26 -0
- data/test/rubygems/test_gem_security.rb +11 -7
- data/test/rubygems/test_gem_security_policy.rb +10 -10
- data/test/rubygems/test_gem_security_signer.rb +6 -2
- data/test/rubygems/test_gem_specification.rb +11 -0
- data/test/rubygems/test_gem_uninstaller.rb +16 -0
- data/test/rubygems/wrong_key_cert.pem +16 -7
- data/test/rubygems/wrong_key_cert_32.pem +16 -7
- data/util/create_certs.rb +156 -0
- metadata +14 -42
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
!binary "U0hBMQ==":
|
|
3
|
-
metadata.gz:
|
|
4
|
-
|
|
3
|
+
metadata.gz: !binary |-
|
|
4
|
+
MDRiNTU5NDZhMmMyMjlmYzU1ZTc0NTcxODA3OTJmMTcwZjMyZThkZQ==
|
|
5
|
+
data.tar.gz: !binary |-
|
|
6
|
+
NTVhMmM4ZmM1ZTI3OTUwNzg2NzgzNjg3YmE5MjliZTE2MDRiMjMzMA==
|
|
5
7
|
!binary "U0hBNTEy":
|
|
6
|
-
metadata.gz:
|
|
7
|
-
|
|
8
|
+
metadata.gz: !binary |-
|
|
9
|
+
OGExMjMzYmQyNzUwZWI4ZWE5NDUzYWYwNTY0YzY2MjFlN2ZkNjBiOTBkZDUz
|
|
10
|
+
MDRiMTIxYjIzZmJlMjg4ZTM5YTBmOWMzYjliNjliMmEyMGVhY2MxNTIyZjYz
|
|
11
|
+
Nzc1MDM0MGM1YWRiNWRhN2UyY2M0MzJkMjE2YTg0ZGU4NjgyODM=
|
|
12
|
+
data.tar.gz: !binary |-
|
|
13
|
+
YTliNzhhYmQyMjc5YzIxM2NkYTY3ZjJkOWM2ZWYyODcwZjUxNzA5NTdiMTAw
|
|
14
|
+
ODM5MGRiNDdkMzhmYTM5MDY1N2MwYjQzNDVkNzZhOWRmYjc3MGIyMjVhMzFm
|
|
15
|
+
NWM2ZTdkMjM2YzM4ODlmYjQ4YWRlMGM3NDgzYzNlZjY1NzI5MjE=
|
checksums.yaml.gz.sig
CHANGED
|
Binary file
|
data.tar.gz.sig
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
�w���b������c>��R����ێ�nn�+?G��*,�җ�8"D��~o�}�G�
|
|
1
|
+
|
|
2
|
+
<�m�K���:��1i�}�1/�? ��ű�OH�g�Fd��z�Z������m�vz�#U���D\Lm���@��<���������ɂ�{H:��}��F<��,�a
|
data/History.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# coding: UTF-8
|
|
2
2
|
|
|
3
|
-
=== 2.0.0.preview2
|
|
3
|
+
=== 2.0.0.preview2.1
|
|
4
4
|
|
|
5
5
|
As a preview release, please file bugs for any problems you have with RubyGems
|
|
6
6
|
at https://github.com/rubygems/rubygems/issues.
|
|
@@ -13,6 +13,27 @@ maintainable and improve APIs for RubyGems users.
|
|
|
13
13
|
If you are using bundler be sure to install version 1.3.0.pre. Older versions
|
|
14
14
|
of bundler will not work with RubyGems 2.0.
|
|
15
15
|
|
|
16
|
+
* Minor enhancements:
|
|
17
|
+
* Gem::DependencyInstaller now passes build_args down to the installer.
|
|
18
|
+
Pull Request #412 by Sam Rawlins.
|
|
19
|
+
* RubyGems no longer defaults to uninstalling gems if a dependency would be
|
|
20
|
+
broken. Now you must manually say "yes". Pull Request #406 by Shannon
|
|
21
|
+
Skipper.
|
|
22
|
+
|
|
23
|
+
* Bug fixes:
|
|
24
|
+
* RubyGems tests now run in FIPS mode. Issue #365 by Vít Ondruch
|
|
25
|
+
* Fixed Gem::Specification#base_dir for default gems. Ruby Bug #7469
|
|
26
|
+
* Only update the spec cache when we have permission. Ruby Bug #7509
|
|
27
|
+
* Restored order of version marking. Fixes an issue with bundler. Thanks
|
|
28
|
+
to Aaron Patterson and Terence Lee.
|
|
29
|
+
* Gem cleanup now skips default gems. Pull Request #409 by Kouhei Sutou
|
|
30
|
+
* gem list, search and query can now show remote gems again. Bug #410 by
|
|
31
|
+
Henry Maddocks
|
|
32
|
+
* gem install now ignores directories that match the gem to install. Bug
|
|
33
|
+
#407 by Santiago Pastorino.
|
|
34
|
+
|
|
35
|
+
=== 2.0.0.preview2 / 2012-12-01
|
|
36
|
+
|
|
16
37
|
This release contains two commits not present in Ruby 2.0.0.preview2. One
|
|
17
38
|
commit is for ruby 1.8.7 support, the second allows RubyGems to work under
|
|
18
39
|
$SAFE=1. There is no functional difference compared to Ruby 2.0.0.preview2
|
data/Manifest.txt
CHANGED
data/Rakefile
CHANGED
|
@@ -136,8 +136,16 @@ task :upload => [:upload_to_rubyforge, :upload_to_gemcutter]
|
|
|
136
136
|
# RUBINIUS_PATH.
|
|
137
137
|
|
|
138
138
|
def rsync_with dir
|
|
139
|
-
rsync_options =
|
|
140
|
-
"
|
|
139
|
+
rsync_options =
|
|
140
|
+
"-avP " +
|
|
141
|
+
"--exclude '*svn*' " +
|
|
142
|
+
"--exclude '*swp' " +
|
|
143
|
+
"--exclude '*rbc' " +
|
|
144
|
+
"--exclude '*.rej' " +
|
|
145
|
+
"--exclude '*.orig' " +
|
|
146
|
+
"--exclude 'lib/rubygems/defaults/*' " +
|
|
147
|
+
"--exclude gauntlet_rubygems.rb"
|
|
148
|
+
|
|
141
149
|
sh "rsync #{rsync_options} bin/gem #{dir}/bin/gem"
|
|
142
150
|
sh "rsync #{rsync_options} lib/ #{dir}/lib"
|
|
143
151
|
sh "rsync #{rsync_options} test/ #{dir}/test"
|
data/lib/rubygems.rb
CHANGED
|
@@ -176,8 +176,7 @@ class Gem::CommandManager
|
|
|
176
176
|
|
|
177
177
|
if possibilities.size > 1 then
|
|
178
178
|
raise Gem::CommandLineError,
|
|
179
|
-
"Ambiguous command #{cmd_name} "
|
|
180
|
-
"matches [#{possibilities.join(', ')}]"
|
|
179
|
+
"Ambiguous command #{cmd_name} matches [#{possibilities.join(', ')}]"
|
|
181
180
|
elsif possibilities.empty? then
|
|
182
181
|
raise Gem::CommandLineError, "Unknown command #{cmd_name}"
|
|
183
182
|
end
|
|
@@ -47,16 +47,17 @@ are not removed.
|
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
gems_to_cleanup =
|
|
59
|
-
|
|
50
|
+
candidate_gems = unless options[:args].empty? then
|
|
51
|
+
options[:args].map do |gem_name|
|
|
52
|
+
Gem::Specification.find_all_by_name gem_name
|
|
53
|
+
end.flatten
|
|
54
|
+
else
|
|
55
|
+
Gem::Specification.to_a
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
gems_to_cleanup = candidate_gems.select { |spec|
|
|
59
|
+
!spec.default_gem? and
|
|
60
|
+
primary_gems[spec.name].version != spec.version
|
|
60
61
|
}
|
|
61
62
|
|
|
62
63
|
full = Gem::DependencyList.from_specs
|
|
@@ -102,6 +103,14 @@ are not removed.
|
|
|
102
103
|
end
|
|
103
104
|
|
|
104
105
|
say "Clean Up Complete"
|
|
106
|
+
|
|
107
|
+
if Gem.configuration.really_verbose then
|
|
108
|
+
skipped = candidate_gems.
|
|
109
|
+
select { |spec| spec.default_gem? }.
|
|
110
|
+
map { |spec| spec.full_name}
|
|
111
|
+
|
|
112
|
+
say "Skipped default gems: #{skipped.join ', '}"
|
|
113
|
+
end
|
|
105
114
|
end
|
|
106
115
|
|
|
107
116
|
end
|
|
@@ -48,7 +48,7 @@ class Gem::Commands::InstallCommand < Gem::Command
|
|
|
48
48
|
end
|
|
49
49
|
|
|
50
50
|
def defaults_str # :nodoc:
|
|
51
|
-
"--both --version '#{Gem::Requirement.default}' --document --no-force\n"
|
|
51
|
+
"--both --version '#{Gem::Requirement.default}' --document --no-force\n" +
|
|
52
52
|
"--install-dir #{Gem.dir}"
|
|
53
53
|
end
|
|
54
54
|
|
|
@@ -132,8 +132,8 @@ class Gem::Commands::QueryCommand < Gem::Command
|
|
|
132
132
|
if options[:name].source.empty?
|
|
133
133
|
spec_tuples = fetcher.detect(type) { true }
|
|
134
134
|
else
|
|
135
|
-
spec_tuples = fetcher.detect(type) do |
|
|
136
|
-
options[:name] ===
|
|
135
|
+
spec_tuples = fetcher.detect(type) do |name_tuple|
|
|
136
|
+
options[:name] === name_tuple.name
|
|
137
137
|
end
|
|
138
138
|
end
|
|
139
139
|
|
|
@@ -76,8 +76,8 @@ class Gem::Commands::UninstallCommand < Gem::Command
|
|
|
76
76
|
end
|
|
77
77
|
|
|
78
78
|
def defaults_str # :nodoc:
|
|
79
|
-
"--version '#{Gem::Requirement.default}' --no-force "
|
|
80
|
-
"--install-dir #{Gem.dir}\n"
|
|
79
|
+
"--version '#{Gem::Requirement.default}' --no-force " +
|
|
80
|
+
"--install-dir #{Gem.dir}\n" +
|
|
81
81
|
"--user-install"
|
|
82
82
|
end
|
|
83
83
|
|
|
@@ -101,7 +101,7 @@ class Gem::Commands::UninstallCommand < Gem::Command
|
|
|
101
101
|
Gem::Uninstaller.new(gem_name, options).uninstall
|
|
102
102
|
rescue Gem::GemNotInHomeException => e
|
|
103
103
|
spec = e.spec
|
|
104
|
-
alert("In order to remove #{spec.name}, please execute:\n"
|
|
104
|
+
alert("In order to remove #{spec.name}, please execute:\n" +
|
|
105
105
|
"\tgem uninstall #{spec.name} --install-dir=#{spec.installation_path}")
|
|
106
106
|
end
|
|
107
107
|
end
|
|
@@ -33,6 +33,7 @@ class Gem::DependencyInstaller
|
|
|
33
33
|
:prerelease => false,
|
|
34
34
|
:security_policy => nil, # HACK NoSecurity requires OpenSSL. AlmostNo? Low?
|
|
35
35
|
:wrappers => true,
|
|
36
|
+
:build_args => nil,
|
|
36
37
|
:build_docs_in_background => false,
|
|
37
38
|
}.freeze
|
|
38
39
|
|
|
@@ -53,6 +54,7 @@ class Gem::DependencyInstaller
|
|
|
53
54
|
# :security_policy:: See Gem::Installer::new and Gem::Security.
|
|
54
55
|
# :user_install:: See Gem::Installer.new
|
|
55
56
|
# :wrappers:: See Gem::Installer::new
|
|
57
|
+
# :build_args:: See Gem::Installer::new
|
|
56
58
|
|
|
57
59
|
def initialize(options = {})
|
|
58
60
|
if options[:install_dir] then
|
|
@@ -79,6 +81,7 @@ class Gem::DependencyInstaller
|
|
|
79
81
|
@security_policy = options[:security_policy]
|
|
80
82
|
@user_install = options[:user_install]
|
|
81
83
|
@wrappers = options[:wrappers]
|
|
84
|
+
@build_args = options[:build_args]
|
|
82
85
|
@build_docs_in_background = options[:build_docs_in_background]
|
|
83
86
|
|
|
84
87
|
# Indicates that we should not try to update any deps unless
|
|
@@ -257,7 +260,7 @@ class Gem::DependencyInstaller
|
|
|
257
260
|
set = Gem::AvailableSet.new
|
|
258
261
|
|
|
259
262
|
if consider_local?
|
|
260
|
-
if File.
|
|
263
|
+
if File.file? gem_name then
|
|
261
264
|
src = Gem::Source::SpecificFile.new(gem_name)
|
|
262
265
|
set.add src.spec, src
|
|
263
266
|
else
|
|
@@ -353,7 +356,8 @@ class Gem::DependencyInstaller
|
|
|
353
356
|
:install_dir => @install_dir,
|
|
354
357
|
:security_policy => @security_policy,
|
|
355
358
|
:user_install => @user_install,
|
|
356
|
-
:wrappers => @wrappers
|
|
359
|
+
:wrappers => @wrappers,
|
|
360
|
+
:build_args => @build_args
|
|
357
361
|
|
|
358
362
|
spec = inst.install
|
|
359
363
|
|
data/lib/rubygems/indexer.rb
CHANGED
|
@@ -54,8 +54,8 @@ class Gem::Indexer
|
|
|
54
54
|
require 'zlib'
|
|
55
55
|
|
|
56
56
|
unless defined?(Builder::XChar) then
|
|
57
|
-
raise "Gem::Indexer requires that the XML Builder library be installed:"
|
|
58
|
-
|
|
57
|
+
raise "Gem::Indexer requires that the XML Builder library be installed:" +
|
|
58
|
+
"\n\tgem install builder"
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
options = { :build_modern => true }.merge options
|
data/lib/rubygems/package.rb
CHANGED
|
@@ -294,7 +294,7 @@ class Gem::RemoteFetcher
|
|
|
294
294
|
# Downloads +uri+ to +path+ if necessary. If no path is given, it just
|
|
295
295
|
# passes the data.
|
|
296
296
|
|
|
297
|
-
def cache_update_path
|
|
297
|
+
def cache_update_path uri, path = nil, update = true
|
|
298
298
|
mtime = path && File.stat(path).mtime rescue nil
|
|
299
299
|
|
|
300
300
|
if mtime && Net::HTTPNotModified === fetch_path(uri, mtime, true)
|
|
@@ -302,7 +302,7 @@ class Gem::RemoteFetcher
|
|
|
302
302
|
else
|
|
303
303
|
data = fetch_path(uri)
|
|
304
304
|
|
|
305
|
-
if path
|
|
305
|
+
if update and path then
|
|
306
306
|
open(path, 'wb') do |io|
|
|
307
307
|
io.write data
|
|
308
308
|
end
|
data/lib/rubygems/security.rb
CHANGED
|
@@ -463,7 +463,7 @@ module Gem::Security
|
|
|
463
463
|
def self.re_sign expired_certificate, private_key, age = ONE_YEAR,
|
|
464
464
|
extensions = EXTENSIONS
|
|
465
465
|
raise Gem::Security::Exception,
|
|
466
|
-
"incorrect signing key for re-signing "
|
|
466
|
+
"incorrect signing key for re-signing " +
|
|
467
467
|
"#{expired_certificate.subject}" unless
|
|
468
468
|
expired_certificate.public_key.to_pem == private_key.public_key.to_pem
|
|
469
469
|
|
|
@@ -473,7 +473,7 @@ module Gem::Security
|
|
|
473
473
|
issuer = alt_name_or_x509_entry expired_certificate, :issuer
|
|
474
474
|
|
|
475
475
|
raise Gem::Security::Exception,
|
|
476
|
-
"#{subject} is not self-signed, contact #{issuer} "
|
|
476
|
+
"#{subject} is not self-signed, contact #{issuer} " +
|
|
477
477
|
"to obtain a valid certificate"
|
|
478
478
|
end
|
|
479
479
|
|
|
@@ -112,7 +112,7 @@ class Gem::Security::Policy
|
|
|
112
112
|
root = chain.first
|
|
113
113
|
|
|
114
114
|
raise Gem::Security::Exception,
|
|
115
|
-
"root certificate #{root.subject} is not self-signed "
|
|
115
|
+
"root certificate #{root.subject} is not self-signed " +
|
|
116
116
|
"(issuer #{root.issuer})" if
|
|
117
117
|
root.issuer.to_s != root.subject.to_s # HACK to_s is for ruby 1.8
|
|
118
118
|
|
|
@@ -144,7 +144,7 @@ class Gem::Security::Policy
|
|
|
144
144
|
cert_dgst = digester.digest pkey_str
|
|
145
145
|
|
|
146
146
|
raise Gem::Security::Exception,
|
|
147
|
-
"trusted root certificate #{root.subject} checksum "
|
|
147
|
+
"trusted root certificate #{root.subject} checksum " +
|
|
148
148
|
"does not match signing root certificate checksum" unless
|
|
149
149
|
save_dgst == cert_dgst
|
|
150
150
|
|
|
@@ -152,7 +152,7 @@ class Gem::Security::Policy
|
|
|
152
152
|
end
|
|
153
153
|
|
|
154
154
|
def inspect # :nodoc:
|
|
155
|
-
"[Policy: %s - data: %p signer: %p chain: %p root: %p "
|
|
155
|
+
"[Policy: %s - data: %p signer: %p chain: %p root: %p " +
|
|
156
156
|
"signed-only: %p trusted-only: %p]" % [
|
|
157
157
|
@name, @verify_chain, @verify_data, @verify_root, @verify_signer,
|
|
158
158
|
@only_signed, @only_trusted,
|
data/lib/rubygems/source.rb
CHANGED
|
@@ -122,7 +122,7 @@ class Gem::Source
|
|
|
122
122
|
|
|
123
123
|
FileUtils.mkdir_p cache_dir if update_cache?
|
|
124
124
|
|
|
125
|
-
spec_dump = fetcher.cache_update_path
|
|
125
|
+
spec_dump = fetcher.cache_update_path spec_path, local_file, update_cache?
|
|
126
126
|
|
|
127
127
|
begin
|
|
128
128
|
Gem::NameTuple.from_list Marshal.load(spec_dump)
|
|
@@ -1283,7 +1283,11 @@ class Gem::Specification
|
|
|
1283
1283
|
|
|
1284
1284
|
def base_dir
|
|
1285
1285
|
return Gem.dir unless loaded_from
|
|
1286
|
-
@base_dir ||=
|
|
1286
|
+
@base_dir ||= if default_gem? then
|
|
1287
|
+
File.dirname File.dirname File.dirname loaded_from
|
|
1288
|
+
else
|
|
1289
|
+
File.dirname File.dirname loaded_from
|
|
1290
|
+
end
|
|
1287
1291
|
end
|
|
1288
1292
|
|
|
1289
1293
|
##
|
|
@@ -2562,7 +2566,6 @@ class Gem::Specification
|
|
|
2562
2566
|
# deprecate :has_rdoc=, :none, 2011, 10
|
|
2563
2567
|
# deprecate :default_executable, :none, 2011, 10
|
|
2564
2568
|
# deprecate :default_executable=, :none, 2011, 10
|
|
2565
|
-
# deprecate :spec_name, :spec_file, 2011, 10
|
|
2566
2569
|
# deprecate :file_name, :cache_file, 2011, 10
|
|
2567
2570
|
# deprecate :full_gem_path, :cache_file, 2011, 10
|
|
2568
2571
|
end
|
|
@@ -63,9 +63,9 @@ class Gem::FakeFetcher
|
|
|
63
63
|
end
|
|
64
64
|
end
|
|
65
65
|
|
|
66
|
-
def cache_update_path uri, path = nil
|
|
66
|
+
def cache_update_path uri, path = nil, update = true
|
|
67
67
|
if data = fetch_path(uri)
|
|
68
|
-
open(path, 'wb') { |io| io.write data } if path
|
|
68
|
+
open(path, 'wb') { |io| io.write data } if path and update
|
|
69
69
|
data
|
|
70
70
|
else
|
|
71
71
|
Gem.read_binary(path) if path
|
data/lib/rubygems/uninstaller.rb
CHANGED
|
@@ -178,8 +178,8 @@ class Gem::Uninstaller
|
|
|
178
178
|
executables = executables.map { |exec| formatted_program_filename exec }
|
|
179
179
|
|
|
180
180
|
remove = if @force_executables.nil? then
|
|
181
|
-
ask_yes_no("Remove executables:\n"
|
|
182
|
-
"\t#{executables.join ', '}\n\n"
|
|
181
|
+
ask_yes_no("Remove executables:\n" +
|
|
182
|
+
"\t#{executables.join ', '}\n\n" +
|
|
183
183
|
"in addition to the gem?",
|
|
184
184
|
true)
|
|
185
185
|
else
|
|
@@ -296,7 +296,7 @@ class Gem::Uninstaller
|
|
|
296
296
|
|
|
297
297
|
msg << 'If you remove this gem, these dependencies will not be met.'
|
|
298
298
|
msg << 'Continue with Uninstall?'
|
|
299
|
-
return ask_yes_no(msg.join("\n"),
|
|
299
|
+
return ask_yes_no(msg.join("\n"), false)
|
|
300
300
|
end
|
|
301
301
|
|
|
302
302
|
def formatted_program_filename(filename)
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
MIIC9zCCAd+gAwIBAgIBADANBgkqhkiG9w0BAQUFADAtMRIwEAYDVQQDDAlhbHRl
|
|
3
|
+
cm5hdGUxFzAVBgoJkiaJk/IsZAEZFgdleGFtcGxlMCAXDTEyMTIwODAwMDAwMFoY
|
|
4
|
+
Dzk5OTkxMjMxMjM1OTU5WjAtMRIwEAYDVQQDDAlhbHRlcm5hdGUxFzAVBgoJkiaJ
|
|
5
|
+
k/IsZAEZFgdleGFtcGxlMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
|
|
6
|
+
vZQipBa1xH3M9OonkrUYhGZeX9UHAcJhe6jJbUr/uHXkh1Tu2ERWNnblm85upqBf
|
|
7
|
+
jyZEnKer7uBcwwkkvmisVgC8uBECymsBxuEIw0rfiKYEnLu0B6SiWFYz3dYPS92b
|
|
8
|
+
BK7Vks2/kNyXUmLLGoZ3id2K0eK5C/AJ0j+p84OqPnVhylsjrZmXfIZrh7lkHhgC
|
|
9
|
+
IrzPefjE3pOloi/tz6fh2ktb0FYKQMfweT3Ba2TMeflG13PEOW80AD5w0THxDutG
|
|
10
|
+
G0zPNCDyDEoT7UU1a3B3RMHYuUxEk1GUEYWq9L6a6SMpZISWTSpCp0Ww1QB55PON
|
|
11
|
+
iCCn+o6vcIy46jI71dATAQIDAQABoyAwHjAcBgNVHREEFTATgRFhbHRlcm5hdGVA
|
|
12
|
+
ZXhhbXBsZTANBgkqhkiG9w0BAQUFAAOCAQEAtiOe4Ws0hQdxlPCHcngMoWeWMg/d
|
|
13
|
+
EtYHy1vD9oTOEGax6y319ShFNzCTG5Mk9dVXdVTrwml9+SrqmLbcckzr05TpSq3t
|
|
14
|
+
JcNjx+qMwU31655DY+r2Le1mbrhhXilLJ++KjhaIzeqmA55MFLNBdMrApL0v2Tf9
|
|
15
|
+
e9aiL8W8jXPX24uJd5eaFTsPV3NfcYV/iDyf1zv2Fe3NO8e0V1luQxJd3v+ILlRo
|
|
16
|
+
YAkm2DK83G++YkvgsopRdOFfFsY3Gb6XtL87iGOWRbdNK90pThpfORcKoTus7QLx
|
|
17
|
+
l7vsHsOJF5NZwLiBF9ufKH6fUV3Fy25JwB/z8kR8Bkplcl0F8jpJYrd6NQ==
|
|
9
18
|
-----END CERTIFICATE-----
|
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
-----BEGIN CERTIFICATE-----
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
2
|
+
MIIC9TCCAd2gAwIBAgIBATANBgkqhkiG9w0BAQUFADAtMRIwEAYDVQQDDAlhbHRl
|
|
3
|
+
cm5hdGUxFzAVBgoJkiaJk/IsZAEZFgdleGFtcGxlMB4XDTEyMTIwODAwMDAwMFoX
|
|
4
|
+
DTM4MDExOTAzMTQwN1owLTESMBAGA1UEAwwJYWx0ZXJuYXRlMRcwFQYKCZImiZPy
|
|
5
|
+
LGQBGRYHZXhhbXBsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAL2U
|
|
6
|
+
IqQWtcR9zPTqJ5K1GIRmXl/VBwHCYXuoyW1K/7h15IdU7thEVjZ25ZvObqagX48m
|
|
7
|
+
RJynq+7gXMMJJL5orFYAvLgRAsprAcbhCMNK34imBJy7tAekolhWM93WD0vdmwSu
|
|
8
|
+
1ZLNv5Dcl1JiyxqGd4nditHiuQvwCdI/qfODqj51YcpbI62Zl3yGa4e5ZB4YAiK8
|
|
9
|
+
z3n4xN6TpaIv7c+n4dpLW9BWCkDH8Hk9wWtkzHn5RtdzxDlvNAA+cNEx8Q7rRhtM
|
|
10
|
+
zzQg8gxKE+1FNWtwd0TB2LlMRJNRlBGFqvS+mukjKWSElk0qQqdFsNUAeeTzjYgg
|
|
11
|
+
p/qOr3CMuOoyO9XQEwECAwEAAaMgMB4wHAYDVR0RBBUwE4ERYWx0ZXJuYXRlQGV4
|
|
12
|
+
YW1wbGUwDQYJKoZIhvcNAQEFBQADggEBABB+jdfwANRtIQKCvv+1VnYm+3QSfshy
|
|
13
|
+
TI5Kk50TphheDJ7VbYyTmOxPUTsFzn0cX8zD1jBOtdVdyy6u7qUHOw6ZrDKdgg4I
|
|
14
|
+
95lJJibFrVXeazTByHhe31u08lMfp/6kdYwSornHUWmEHhAT60nvSbkLblW/jgPo
|
|
15
|
+
i1pFY5hcGJAE6kFQLQpjgl8TbUTioA8wYOKJA5ITItBXO7fYMQKDS2jYR3JMiNLR
|
|
16
|
+
FxgN8SzSUB0S7deI5O9fMLYL006zHP5u0qcZjVFvFJdtt3WsqDUu8E6O4QgVwvq1
|
|
17
|
+
MPNUBfuNdMek1LnIUZgr7Jek+0wvbnZCGyEaVakcV74cq8fjEgWr3C0=
|
|
9
18
|
-----END CERTIFICATE-----
|
|
@@ -1,9 +1,27 @@
|
|
|
1
1
|
-----BEGIN RSA PRIVATE KEY-----
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
/
|
|
2
|
+
MIIEowIBAAKCAQEAvZQipBa1xH3M9OonkrUYhGZeX9UHAcJhe6jJbUr/uHXkh1Tu
|
|
3
|
+
2ERWNnblm85upqBfjyZEnKer7uBcwwkkvmisVgC8uBECymsBxuEIw0rfiKYEnLu0
|
|
4
|
+
B6SiWFYz3dYPS92bBK7Vks2/kNyXUmLLGoZ3id2K0eK5C/AJ0j+p84OqPnVhylsj
|
|
5
|
+
rZmXfIZrh7lkHhgCIrzPefjE3pOloi/tz6fh2ktb0FYKQMfweT3Ba2TMeflG13PE
|
|
6
|
+
OW80AD5w0THxDutGG0zPNCDyDEoT7UU1a3B3RMHYuUxEk1GUEYWq9L6a6SMpZISW
|
|
7
|
+
TSpCp0Ww1QB55PONiCCn+o6vcIy46jI71dATAQIDAQABAoIBAArXgfOoaNTH7QTE
|
|
8
|
+
r2awfKp1wEfywufS2ghcasiZVW6TL3Kd5NrxbYzH1/HFKIbW/SAOrDXZUPfkVOnC
|
|
9
|
+
iBtrmQ+CE0jjkClLXVqmW/3vNkF2XSUphu44+B/dLjItn8pS7h6icQxoP+Bk/TJ0
|
|
10
|
+
+/CUaBm2Vc4TDUolfCpOAcYvbXkM3BL+N/XN2JHX52D2ljXtryrNm/sFnabUVo96
|
|
11
|
+
ghWqln8TqpYTagcs/JkEQ5YxwqFuBLofz3SgzCnf8ub8WTIpYhWzWZ4yHjZSL7AS
|
|
12
|
+
54mkJarKWMUYcL/Qeuy1U9vxLrbC9V7cPzSkzYxPZF7XlYaJcAbItX182ufZ1uNX
|
|
13
|
+
3JlQS5ECgYEA+6fbg+WKy5AazEs8YokPjq1X1P01o95KUWFg+68ALowQXEYcExew
|
|
14
|
+
PG0BKW11WrR6Bnn41++13k8Qsrq7Tl8ynCO6ANhoWAxUksdJDAuEgQqpFuRXwa/D
|
|
15
|
+
d++8WlWD4XYqLwiE+h72alE/Ce/SdfPPsyBeHtXo7fih378WyZn7K9cCgYEAwNnw
|
|
16
|
+
zjndLtj9bxd4awHHWgQ7QpKCmtLMGlg7Teo9aODMO80G3h8NEEG6Ou6LHn88tqgH
|
|
17
|
+
yu0WcjJmhINAzNzmABdw+WuV4C94glwtXctQ0w4byuLOaKSh3ggWUnKf56A2KyPh
|
|
18
|
+
JHPe/+A1DTKAgBvU/i5Vx0kZBkUMiiEVcIOgHOcCgYBNkt6998IjIdbA5uhET4+2
|
|
19
|
+
IYUTqMIiM2GhWG026CkcMBzS9OGumPzAg7F5/b3RKhT7bhnhJolfb+vrzFf0vq+x
|
|
20
|
+
JeouXIc9rP9dB4Vi6yH7TTf2UIkksXOFwybCid3PYEd8nBmxqF25RDY0b/LmXTPH
|
|
21
|
+
OdEJnFLjGGN9vz/dAVRFnQKBgQC8hE8hSO8uHG+haRANim+VTw2exhllvypFlnpi
|
|
22
|
+
b9gX7ae3zXQpLbFXcujZMtZLuZVf+GGlvJ10hFAyuRtfJ5CuBjwplUGtJLpotDKk
|
|
23
|
+
vVsE9YW1joC3SjfxE3a+oc4uXi6VfT1YpOwYtNMnU3bJxGsxDZpMdOhBeL4JSM3s
|
|
24
|
+
br7VgQKBgBDdJHRQOkP41Iq7CjcheTJMeXsQJt+HLHSIpEkxi8v/9bLKPbRVRo7e
|
|
25
|
+
8mmEr9mvjrNLVZMrQpgngRGbFzcdi9iDv+4m0OKU7BGZyWy1gtlUV77FqsL7EEl3
|
|
26
|
+
gdM670c2kkrni5DdpTLpNgF6zRKK7ArZ6kSgmuEYJCGHHlpbkg3f
|
|
9
27
|
-----END RSA PRIVATE KEY-----
|