rubygems-update 3.5.6 → 3.5.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +204 -1
- data/CODE_OF_CONDUCT.md +79 -28
- data/CONTRIBUTING.md +2 -2
- data/Manifest.txt +9 -4
- data/POLICIES.md +75 -6
- data/bundler/CHANGELOG.md +156 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/binstubs.rb +1 -1
- data/bundler/lib/bundler/cli/fund.rb +1 -1
- data/bundler/lib/bundler/cli/gem.rb +7 -14
- data/bundler/lib/bundler/cli/install.rb +1 -1
- data/bundler/lib/bundler/cli/plugin.rb +3 -2
- data/bundler/lib/bundler/cli.rb +14 -31
- data/bundler/lib/bundler/compact_index_client/cache.rb +47 -72
- data/bundler/lib/bundler/compact_index_client/parser.rb +84 -0
- data/bundler/lib/bundler/compact_index_client.rb +51 -80
- data/bundler/lib/bundler/constants.rb +8 -1
- data/bundler/lib/bundler/definition.rb +114 -71
- data/bundler/lib/bundler/dependency.rb +2 -1
- data/bundler/lib/bundler/dsl.rb +16 -1
- data/bundler/lib/bundler/endpoint_specification.rb +11 -0
- data/bundler/lib/bundler/env.rb +1 -1
- data/bundler/lib/bundler/environment_preserver.rb +2 -20
- data/bundler/lib/bundler/errors.rb +14 -0
- data/bundler/lib/bundler/fetcher/compact_index.rb +15 -24
- data/bundler/lib/bundler/gem_helper.rb +1 -1
- data/bundler/lib/bundler/gem_helpers.rb +14 -7
- data/bundler/lib/bundler/gem_version_promoter.rb +42 -38
- data/bundler/lib/bundler/injector.rb +3 -5
- data/bundler/lib/bundler/installer/gem_installer.rb +0 -1
- data/bundler/lib/bundler/installer/standalone.rb +0 -3
- data/bundler/lib/bundler/installer.rb +9 -11
- data/bundler/lib/bundler/lazy_specification.rb +1 -0
- data/bundler/lib/bundler/man/bundle-add.1 +1 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
- data/bundler/lib/bundler/man/bundle-check.1 +3 -1
- data/bundler/lib/bundler/man/bundle-check.1.ronn +3 -0
- data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
- data/bundler/lib/bundler/man/bundle-config.1 +2 -4
- data/bundler/lib/bundler/man/bundle-config.1.ronn +1 -4
- data/bundler/lib/bundler/man/bundle-console.1 +1 -1
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +7 -1
- data/bundler/lib/bundler/man/bundle-gem.1.ronn +11 -0
- data/bundler/lib/bundler/man/bundle-help.1 +1 -1
- data/bundler/lib/bundler/man/bundle-info.1 +1 -1
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
- data/bundler/lib/bundler/man/bundle-install.1 +3 -3
- data/bundler/lib/bundler/man/bundle-install.1.ronn +2 -2
- data/bundler/lib/bundler/man/bundle-list.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-open.1 +1 -1
- data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
- data/bundler/lib/bundler/man/bundle-plugin.1 +7 -4
- data/bundler/lib/bundler/man/bundle-plugin.1.ronn +7 -3
- data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
- data/bundler/lib/bundler/man/bundle-show.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-version.1 +1 -1
- data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
- data/bundler/lib/bundler/man/bundle.1 +1 -1
- data/bundler/lib/bundler/man/gemfile.5 +3 -3
- data/bundler/lib/bundler/man/gemfile.5.ronn +2 -2
- data/bundler/lib/bundler/plugin/installer/path.rb +18 -0
- data/bundler/lib/bundler/plugin/installer.rb +36 -16
- data/bundler/lib/bundler/plugin/source_list.rb +4 -4
- data/bundler/lib/bundler/resolver/base.rb +4 -0
- data/bundler/lib/bundler/resolver/candidate.rb +5 -17
- data/bundler/lib/bundler/resolver/package.rb +4 -0
- data/bundler/lib/bundler/resolver/spec_group.rb +20 -2
- data/bundler/lib/bundler/resolver.rb +72 -33
- data/bundler/lib/bundler/rubygems_ext.rb +98 -10
- data/bundler/lib/bundler/rubygems_gem_installer.rb +35 -2
- data/bundler/lib/bundler/rubygems_integration.rb +16 -2
- data/bundler/lib/bundler/runtime.rb +1 -1
- data/bundler/lib/bundler/self_manager.rb +22 -2
- data/bundler/lib/bundler/settings.rb +22 -16
- data/bundler/lib/bundler/setup.rb +6 -0
- data/bundler/lib/bundler/shared_helpers.rb +6 -4
- data/bundler/lib/bundler/source/git/git_proxy.rb +8 -0
- data/bundler/lib/bundler/source/git.rb +14 -0
- data/bundler/lib/bundler/source/metadata.rb +2 -0
- data/bundler/lib/bundler/source/path.rb +0 -13
- data/bundler/lib/bundler/source/rubygems.rb +31 -30
- data/bundler/lib/bundler/source_list.rb +26 -2
- data/bundler/lib/bundler/spec_set.rb +15 -13
- data/bundler/lib/bundler/stub_specification.rb +8 -0
- data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +77 -29
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +4 -3
- data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +0 -5
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +1 -0
- data/bundler/lib/bundler/vendored_net_http.rb +20 -5
- data/bundler/lib/bundler/vendored_timeout.rb +7 -3
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/yaml_serializer.rb +1 -8
- data/bundler/lib/bundler.rb +26 -1
- data/exe/update_rubygems +1 -1
- data/lib/rubygems/basic_specification.rb +27 -0
- data/lib/rubygems/bundler_version_finder.rb +1 -1
- data/lib/rubygems/command.rb +1 -1
- data/lib/rubygems/command_manager.rb +2 -1
- data/lib/rubygems/commands/build_command.rb +2 -11
- data/lib/rubygems/commands/help_command.rb +2 -2
- data/lib/rubygems/commands/pristine_command.rb +12 -9
- data/lib/rubygems/commands/rdoc_command.rb +1 -8
- data/lib/rubygems/commands/rebuild_command.rb +264 -0
- data/lib/rubygems/commands/setup_command.rb +2 -0
- data/lib/rubygems/commands/uninstall_command.rb +1 -1
- data/lib/rubygems/commands/update_command.rb +8 -9
- data/lib/rubygems/config_file.rb +33 -16
- data/lib/rubygems/defaults.rb +4 -4
- data/lib/rubygems/dependency.rb +3 -15
- data/lib/rubygems/dependency_list.rb +1 -1
- data/lib/rubygems/deprecate.rb +79 -77
- data/lib/rubygems/ext/cargo_builder.rb +2 -17
- data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +3 -1
- data/lib/rubygems/gemcutter_utilities.rb +1 -1
- data/lib/rubygems/gemspec_helpers.rb +19 -0
- data/lib/rubygems/installer.rb +9 -8
- data/lib/rubygems/package/tar_header.rb +20 -4
- data/lib/rubygems/package.rb +13 -8
- data/lib/rubygems/platform.rb +3 -2
- data/lib/rubygems/remote_fetcher.rb +1 -1
- data/lib/rubygems/request.rb +1 -1
- data/lib/rubygems/request_set.rb +1 -1
- data/lib/rubygems/requirement.rb +2 -2
- data/lib/rubygems/resolver/spec_specification.rb +7 -0
- data/lib/rubygems/s3_uri_signer.rb +1 -1
- data/lib/rubygems/safe_yaml.rb +10 -1
- data/lib/rubygems/security.rb +1 -1
- data/lib/rubygems/specification.rb +55 -124
- data/lib/rubygems/specification_policy.rb +26 -6
- data/lib/rubygems/specification_record.rb +212 -0
- data/lib/rubygems/stub_specification.rb +21 -0
- data/lib/rubygems/uninstaller.rb +27 -20
- data/lib/rubygems/util/licenses.rb +68 -0
- data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph.rb +1 -1
- data/lib/rubygems/vendored_net_http.rb +5 -0
- data/lib/rubygems/vendored_timeout.rb +5 -0
- data/lib/rubygems/yaml_serializer.rb +1 -8
- data/lib/rubygems.rb +28 -15
- data/rubygems-update.gemspec +1 -1
- metadata +12 -7
- data/lib/rubygems/net/http.rb +0 -3
- data/lib/rubygems/timeout.rb +0 -3
- /data/lib/rubygems/{optparse.rb → vendored_optparse.rb} +0 -0
- /data/lib/rubygems/{tsort.rb → vendored_tsort.rb} +0 -0
@@ -210,4 +210,25 @@ class Gem::StubSpecification < Gem::BasicSpecification
|
|
210
210
|
def stubbed?
|
211
211
|
data.is_a? StubLine
|
212
212
|
end
|
213
|
+
|
214
|
+
def ==(other) # :nodoc:
|
215
|
+
self.class === other &&
|
216
|
+
name == other.name &&
|
217
|
+
version == other.version &&
|
218
|
+
platform == other.platform
|
219
|
+
end
|
220
|
+
|
221
|
+
alias_method :eql?, :== # :nodoc:
|
222
|
+
|
223
|
+
def hash # :nodoc:
|
224
|
+
name.hash ^ version.hash ^ platform.hash
|
225
|
+
end
|
226
|
+
|
227
|
+
def <=>(other) # :nodoc:
|
228
|
+
sort_obj <=> other.sort_obj
|
229
|
+
end
|
230
|
+
|
231
|
+
def sort_obj # :nodoc:
|
232
|
+
[name, version, Gem::Platform.sort_priority(platform)]
|
233
|
+
end
|
213
234
|
end
|
data/lib/rubygems/uninstaller.rb
CHANGED
@@ -32,7 +32,7 @@ class Gem::Uninstaller
|
|
32
32
|
attr_reader :bin_dir
|
33
33
|
|
34
34
|
##
|
35
|
-
# The gem repository the gem will be
|
35
|
+
# The gem repository the gem will be uninstalled from
|
36
36
|
|
37
37
|
attr_reader :gem_home
|
38
38
|
|
@@ -49,8 +49,9 @@ class Gem::Uninstaller
|
|
49
49
|
# TODO: document the valid options
|
50
50
|
@gem = gem
|
51
51
|
@version = options[:version] || Gem::Requirement.default
|
52
|
-
@
|
53
|
-
@
|
52
|
+
@install_dir = options[:install_dir]
|
53
|
+
@gem_home = File.realpath(@install_dir || Gem.dir)
|
54
|
+
@user_dir = File.exist?(Gem.user_dir) ? File.realpath(Gem.user_dir) : Gem.user_dir
|
54
55
|
@force_executables = options[:executables]
|
55
56
|
@force_all = options[:all]
|
56
57
|
@force_ignore = options[:ignore]
|
@@ -70,7 +71,7 @@ class Gem::Uninstaller
|
|
70
71
|
|
71
72
|
# only add user directory if install_dir is not set
|
72
73
|
@user_install = false
|
73
|
-
@user_install = options[:user_install] unless
|
74
|
+
@user_install = options[:user_install] unless @install_dir
|
74
75
|
|
75
76
|
# Optimization: populated during #uninstall
|
76
77
|
@default_specs_matching_uninstall_params = []
|
@@ -85,11 +86,7 @@ class Gem::Uninstaller
|
|
85
86
|
|
86
87
|
list = []
|
87
88
|
|
88
|
-
|
89
|
-
Gem::Specification.dirs +
|
90
|
-
[Gem.default_specifications_dir]
|
91
|
-
|
92
|
-
Gem::Specification.each_spec dirs do |spec|
|
89
|
+
specification_record.stubs.each do |spec|
|
93
90
|
next unless dependency.matches_spec? spec
|
94
91
|
|
95
92
|
list << spec
|
@@ -101,11 +98,11 @@ class Gem::Uninstaller
|
|
101
98
|
|
102
99
|
default_specs, list = list.partition(&:default_gem?)
|
103
100
|
warn_cannot_uninstall_default_gems(default_specs - list)
|
104
|
-
@default_specs_matching_uninstall_params = default_specs
|
101
|
+
@default_specs_matching_uninstall_params = default_specs.map(&:to_spec)
|
105
102
|
|
106
103
|
list, other_repo_specs = list.partition do |spec|
|
107
104
|
@gem_home == spec.base_dir ||
|
108
|
-
(@user_install && spec.base_dir ==
|
105
|
+
(@user_install && spec.base_dir == @user_dir)
|
109
106
|
end
|
110
107
|
|
111
108
|
list.sort!
|
@@ -125,7 +122,7 @@ class Gem::Uninstaller
|
|
125
122
|
remove_all list
|
126
123
|
|
127
124
|
elsif list.size > 1
|
128
|
-
gem_names = list.map(&:
|
125
|
+
gem_names = list.map(&:full_name_with_location)
|
129
126
|
gem_names << "All versions"
|
130
127
|
|
131
128
|
say
|
@@ -146,7 +143,9 @@ class Gem::Uninstaller
|
|
146
143
|
##
|
147
144
|
# Uninstalls gem +spec+
|
148
145
|
|
149
|
-
def uninstall_gem(
|
146
|
+
def uninstall_gem(stub)
|
147
|
+
spec = stub.to_spec
|
148
|
+
|
150
149
|
@spec = spec
|
151
150
|
|
152
151
|
unless dependencies_ok? spec
|
@@ -164,6 +163,8 @@ class Gem::Uninstaller
|
|
164
163
|
remove_plugins @spec
|
165
164
|
remove @spec
|
166
165
|
|
166
|
+
specification_record.remove_spec(stub)
|
167
|
+
|
167
168
|
regenerate_plugins
|
168
169
|
|
169
170
|
Gem.post_uninstall_hooks.each do |hook|
|
@@ -177,7 +178,7 @@ class Gem::Uninstaller
|
|
177
178
|
# Removes installed executables and batch files (windows only) for +spec+.
|
178
179
|
|
179
180
|
def remove_executables(spec)
|
180
|
-
return if spec.executables.empty?
|
181
|
+
return if spec.executables.empty? || default_spec_matches?(spec)
|
181
182
|
|
182
183
|
executables = spec.executables.clone
|
183
184
|
|
@@ -239,7 +240,7 @@ class Gem::Uninstaller
|
|
239
240
|
|
240
241
|
def remove(spec)
|
241
242
|
unless path_ok?(@gem_home, spec) ||
|
242
|
-
(@user_install && path_ok?(
|
243
|
+
(@user_install && path_ok?(@user_dir, spec))
|
243
244
|
e = Gem::GemNotInHomeException.new \
|
244
245
|
"Gem '#{spec.full_name}' is not installed in directory #{@gem_home}"
|
245
246
|
e.spec = spec
|
@@ -274,8 +275,6 @@ class Gem::Uninstaller
|
|
274
275
|
|
275
276
|
safe_delete { FileUtils.rm_r gemspec }
|
276
277
|
announce_deletion_of(spec)
|
277
|
-
|
278
|
-
Gem::Specification.reset
|
279
278
|
end
|
280
279
|
|
281
280
|
##
|
@@ -284,17 +283,17 @@ class Gem::Uninstaller
|
|
284
283
|
def remove_plugins(spec) # :nodoc:
|
285
284
|
return if spec.plugins.empty?
|
286
285
|
|
287
|
-
remove_plugins_for(spec,
|
286
|
+
remove_plugins_for(spec, plugin_dir_for(spec))
|
288
287
|
end
|
289
288
|
|
290
289
|
##
|
291
290
|
# Regenerates plugin wrappers after removal.
|
292
291
|
|
293
292
|
def regenerate_plugins
|
294
|
-
latest =
|
293
|
+
latest = specification_record.latest_spec_for(@spec.name)
|
295
294
|
return if latest.nil?
|
296
295
|
|
297
|
-
regenerate_plugins_for(latest, @
|
296
|
+
regenerate_plugins_for(latest, plugin_dir_for(@spec))
|
298
297
|
end
|
299
298
|
|
300
299
|
##
|
@@ -379,6 +378,10 @@ class Gem::Uninstaller
|
|
379
378
|
|
380
379
|
private
|
381
380
|
|
381
|
+
def specification_record
|
382
|
+
@specification_record ||= @install_dir ? Gem::SpecificationRecord.from_path(@install_dir) : Gem::Specification.specification_record
|
383
|
+
end
|
384
|
+
|
382
385
|
def announce_deletion_of(spec)
|
383
386
|
name = spec.full_name
|
384
387
|
say "Successfully uninstalled #{name}"
|
@@ -406,4 +409,8 @@ class Gem::Uninstaller
|
|
406
409
|
say "Gem #{spec.full_name} cannot be uninstalled because it is a default gem"
|
407
410
|
end
|
408
411
|
end
|
412
|
+
|
413
|
+
def plugin_dir_for(spec)
|
414
|
+
Gem.plugindir(spec.base_dir)
|
415
|
+
end
|
409
416
|
end
|
@@ -15,6 +15,7 @@ class Gem::Licenses
|
|
15
15
|
# license identifiers
|
16
16
|
LICENSE_IDENTIFIERS = %w[
|
17
17
|
0BSD
|
18
|
+
3D-Slicer-1.0
|
18
19
|
AAL
|
19
20
|
ADSL
|
20
21
|
AFL-1.1
|
@@ -26,8 +27,10 @@ class Gem::Licenses
|
|
26
27
|
AGPL-1.0-or-later
|
27
28
|
AGPL-3.0-only
|
28
29
|
AGPL-3.0-or-later
|
30
|
+
AMD-newlib
|
29
31
|
AMDPLPA
|
30
32
|
AML
|
33
|
+
AML-glslang
|
31
34
|
AMPAS
|
32
35
|
ANTLR-PD
|
33
36
|
ANTLR-PD-fallback
|
@@ -42,6 +45,7 @@ class Gem::Licenses
|
|
42
45
|
Abstyles
|
43
46
|
AdaCore-doc
|
44
47
|
Adobe-2006
|
48
|
+
Adobe-Display-PostScript
|
45
49
|
Adobe-Glyph
|
46
50
|
Adobe-Utopia
|
47
51
|
Afmparse
|
@@ -57,8 +61,10 @@ class Gem::Licenses
|
|
57
61
|
Artistic-2.0
|
58
62
|
BSD-1-Clause
|
59
63
|
BSD-2-Clause
|
64
|
+
BSD-2-Clause-Darwin
|
60
65
|
BSD-2-Clause-Patent
|
61
66
|
BSD-2-Clause-Views
|
67
|
+
BSD-2-Clause-first-lines
|
62
68
|
BSD-3-Clause
|
63
69
|
BSD-3-Clause-Attribution
|
64
70
|
BSD-3-Clause-Clear
|
@@ -71,6 +77,7 @@ class Gem::Licenses
|
|
71
77
|
BSD-3-Clause-No-Nuclear-Warranty
|
72
78
|
BSD-3-Clause-Open-MPI
|
73
79
|
BSD-3-Clause-Sun
|
80
|
+
BSD-3-Clause-acpica
|
74
81
|
BSD-3-Clause-flex
|
75
82
|
BSD-4-Clause
|
76
83
|
BSD-4-Clause-Shortened
|
@@ -82,7 +89,9 @@ class Gem::Licenses
|
|
82
89
|
BSD-Inferno-Nettverk
|
83
90
|
BSD-Protection
|
84
91
|
BSD-Source-Code
|
92
|
+
BSD-Source-beginning-file
|
85
93
|
BSD-Systemics
|
94
|
+
BSD-Systemics-W3Works
|
86
95
|
BSL-1.0
|
87
96
|
BUSL-1.1
|
88
97
|
Baekmuk
|
@@ -96,6 +105,7 @@ class Gem::Licenses
|
|
96
105
|
BlueOak-1.0.0
|
97
106
|
Boehm-GC
|
98
107
|
Borceux
|
108
|
+
Brian-Gladman-2-Clause
|
99
109
|
Brian-Gladman-3-Clause
|
100
110
|
C-UDA-1.0
|
101
111
|
CAL-1.0
|
@@ -107,6 +117,7 @@ class Gem::Licenses
|
|
107
117
|
CC-BY-2.5-AU
|
108
118
|
CC-BY-3.0
|
109
119
|
CC-BY-3.0-AT
|
120
|
+
CC-BY-3.0-AU
|
110
121
|
CC-BY-3.0-DE
|
111
122
|
CC-BY-3.0-IGO
|
112
123
|
CC-BY-3.0-NL
|
@@ -172,6 +183,7 @@ class Gem::Licenses
|
|
172
183
|
CERN-OHL-W-2.0
|
173
184
|
CFITSIO
|
174
185
|
CMU-Mach
|
186
|
+
CMU-Mach-nodoc
|
175
187
|
CNRI-Jython
|
176
188
|
CNRI-Python
|
177
189
|
CNRI-Python-GPL-Compatible
|
@@ -181,6 +193,8 @@ class Gem::Licenses
|
|
181
193
|
CPOL-1.02
|
182
194
|
CUA-OPL-1.0
|
183
195
|
Caldera
|
196
|
+
Caldera-no-preamble
|
197
|
+
Catharon
|
184
198
|
ClArtistic
|
185
199
|
Clips
|
186
200
|
Community-Spec-1.0
|
@@ -191,10 +205,12 @@ class Gem::Licenses
|
|
191
205
|
CrystalStacker
|
192
206
|
Cube
|
193
207
|
D-FSL-1.0
|
208
|
+
DEC-3-Clause
|
194
209
|
DL-DE-BY-2.0
|
195
210
|
DL-DE-ZERO-2.0
|
196
211
|
DOC
|
197
212
|
DRL-1.0
|
213
|
+
DRL-1.1
|
198
214
|
DSDP
|
199
215
|
Dotseqn
|
200
216
|
ECL-1.0
|
@@ -215,6 +231,7 @@ class Gem::Licenses
|
|
215
231
|
FBM
|
216
232
|
FDK-AAC
|
217
233
|
FSFAP
|
234
|
+
FSFAP-no-warranty-disclaimer
|
218
235
|
FSFUL
|
219
236
|
FSFULLR
|
220
237
|
FSFULLRWD
|
@@ -225,6 +242,7 @@ class Gem::Licenses
|
|
225
242
|
FreeBSD-DOC
|
226
243
|
FreeImage
|
227
244
|
Furuseth
|
245
|
+
GCR-docs
|
228
246
|
GD
|
229
247
|
GFDL-1.1-invariants-only
|
230
248
|
GFDL-1.1-invariants-or-later
|
@@ -256,20 +274,32 @@ class Gem::Licenses
|
|
256
274
|
Glide
|
257
275
|
Glulxe
|
258
276
|
Graphics-Gems
|
277
|
+
Gutmann
|
259
278
|
HP-1986
|
260
279
|
HP-1989
|
261
280
|
HPND
|
262
281
|
HPND-DEC
|
282
|
+
HPND-Fenneberg-Livingston
|
283
|
+
HPND-INRIA-IMAG
|
284
|
+
HPND-Intel
|
285
|
+
HPND-Kevlin-Henney
|
286
|
+
HPND-MIT-disclaimer
|
263
287
|
HPND-Markus-Kuhn
|
264
288
|
HPND-Pbmplus
|
265
289
|
HPND-UC
|
290
|
+
HPND-UC-export-US
|
266
291
|
HPND-doc
|
267
292
|
HPND-doc-sell
|
268
293
|
HPND-export-US
|
294
|
+
HPND-export-US-acknowledgement
|
269
295
|
HPND-export-US-modify
|
296
|
+
HPND-export2-US
|
297
|
+
HPND-merchantability-variant
|
298
|
+
HPND-sell-MIT-disclaimer-xserver
|
270
299
|
HPND-sell-regexpr
|
271
300
|
HPND-sell-variant
|
272
301
|
HPND-sell-variant-MIT-disclaimer
|
302
|
+
HPND-sell-variant-MIT-disclaimer-rev
|
273
303
|
HTMLTIDY
|
274
304
|
HaskellReport
|
275
305
|
Hippocratic-2.1
|
@@ -281,6 +311,7 @@ class Gem::Licenses
|
|
281
311
|
IPA
|
282
312
|
IPL-1.0
|
283
313
|
ISC
|
314
|
+
ISC-Veillard
|
284
315
|
ImageMagick
|
285
316
|
Imlib2
|
286
317
|
Info-ZIP
|
@@ -306,6 +337,7 @@ class Gem::Licenses
|
|
306
337
|
LGPL-3.0-or-later
|
307
338
|
LGPLLR
|
308
339
|
LOOP
|
340
|
+
LPD-document
|
309
341
|
LPL-1.0
|
310
342
|
LPL-1.02
|
311
343
|
LPPL-1.0
|
@@ -332,6 +364,7 @@ class Gem::Licenses
|
|
332
364
|
MIT-0
|
333
365
|
MIT-CMU
|
334
366
|
MIT-Festival
|
367
|
+
MIT-Khronos-old
|
335
368
|
MIT-Modern-Variant
|
336
369
|
MIT-Wu
|
337
370
|
MIT-advertising
|
@@ -350,6 +383,8 @@ class Gem::Licenses
|
|
350
383
|
MS-PL
|
351
384
|
MS-RL
|
352
385
|
MTLL
|
386
|
+
Mackerras-3-Clause
|
387
|
+
Mackerras-3-Clause-acknowledgment
|
353
388
|
MakeIndex
|
354
389
|
Martin-Birgmeier
|
355
390
|
McPhee-slideshow
|
@@ -363,7 +398,9 @@ class Gem::Licenses
|
|
363
398
|
NAIST-2003
|
364
399
|
NASA-1.3
|
365
400
|
NBPL-1.0
|
401
|
+
NCBI-PD
|
366
402
|
NCGL-UK-2.0
|
403
|
+
NCL
|
367
404
|
NCSA
|
368
405
|
NGPL
|
369
406
|
NICTA-1.0
|
@@ -387,6 +424,7 @@ class Gem::Licenses
|
|
387
424
|
Nokia
|
388
425
|
Noweb
|
389
426
|
O-UDA-1.0
|
427
|
+
OAR
|
390
428
|
OCCT-PL
|
391
429
|
OCLC-2.0
|
392
430
|
ODC-By-1.0
|
@@ -434,13 +472,17 @@ class Gem::Licenses
|
|
434
472
|
OSL-3.0
|
435
473
|
OpenPBS-2.3
|
436
474
|
OpenSSL
|
475
|
+
OpenSSL-standalone
|
476
|
+
OpenVision
|
437
477
|
PADL
|
438
478
|
PDDL-1.0
|
439
479
|
PHP-3.0
|
440
480
|
PHP-3.01
|
481
|
+
PPL
|
441
482
|
PSF-2.0
|
442
483
|
Parity-6.0.0
|
443
484
|
Parity-7.0.0
|
485
|
+
Pixar
|
444
486
|
Plexus
|
445
487
|
PolyForm-Noncommercial-1.0.0
|
446
488
|
PolyForm-Small-Business-1.0.0
|
@@ -459,6 +501,7 @@ class Gem::Licenses
|
|
459
501
|
Rdisc
|
460
502
|
Ruby
|
461
503
|
SAX-PD
|
504
|
+
SAX-PD-2.0
|
462
505
|
SCEA
|
463
506
|
SGI-B-1.0
|
464
507
|
SGI-B-1.1
|
@@ -476,6 +519,7 @@ class Gem::Licenses
|
|
476
519
|
SPL-1.0
|
477
520
|
SSH-OpenSSH
|
478
521
|
SSH-short
|
522
|
+
SSLeay-standalone
|
479
523
|
SSPL-1.0
|
480
524
|
SWL
|
481
525
|
Saxpath
|
@@ -489,11 +533,14 @@ class Gem::Licenses
|
|
489
533
|
Spencer-94
|
490
534
|
Spencer-99
|
491
535
|
SugarCRM-1.1.3
|
536
|
+
Sun-PPP
|
537
|
+
Sun-PPP-2000
|
492
538
|
SunPro
|
493
539
|
Symlinks
|
494
540
|
TAPR-OHL-1.0
|
495
541
|
TCL
|
496
542
|
TCP-wrappers
|
543
|
+
TGPPL-1.0
|
497
544
|
TMate
|
498
545
|
TORQUE-1.1
|
499
546
|
TOSL
|
@@ -506,8 +553,10 @@ class Gem::Licenses
|
|
506
553
|
TermReadKey
|
507
554
|
UCAR
|
508
555
|
UCL-1.0
|
556
|
+
UMich-Merit
|
509
557
|
UPL-1.0
|
510
558
|
URT-RLE
|
559
|
+
Unicode-3.0
|
511
560
|
Unicode-DFS-2015
|
512
561
|
Unicode-DFS-2016
|
513
562
|
Unicode-TOU
|
@@ -542,6 +591,8 @@ class Gem::Licenses
|
|
542
591
|
Zimbra-1.3
|
543
592
|
Zimbra-1.4
|
544
593
|
Zlib
|
594
|
+
any-OSI
|
595
|
+
bcrypt-Solar-Designer
|
545
596
|
blessing
|
546
597
|
bzip2-1.0.6
|
547
598
|
check-cvs
|
@@ -549,6 +600,7 @@ class Gem::Licenses
|
|
549
600
|
copyleft-next-0.3.0
|
550
601
|
copyleft-next-0.3.1
|
551
602
|
curl
|
603
|
+
cve-tou
|
552
604
|
diffmark
|
553
605
|
dtoa
|
554
606
|
dvipdfm
|
@@ -557,6 +609,8 @@ class Gem::Licenses
|
|
557
609
|
fwlw
|
558
610
|
gSOAP-1.3b
|
559
611
|
gnuplot
|
612
|
+
gtkbook
|
613
|
+
hdparm
|
560
614
|
iMatix
|
561
615
|
libpng-2.0
|
562
616
|
libselinux-1.0
|
@@ -564,22 +618,29 @@ class Gem::Licenses
|
|
564
618
|
libutil-David-Nugent
|
565
619
|
lsof
|
566
620
|
magaz
|
621
|
+
mailprio
|
567
622
|
metamail
|
568
623
|
mpi-permissive
|
569
624
|
mpich2
|
570
625
|
mplus
|
626
|
+
pkgconf
|
571
627
|
pnmstitch
|
572
628
|
psfrag
|
573
629
|
psutils
|
574
630
|
python-ldap
|
631
|
+
radvd
|
575
632
|
snprintf
|
633
|
+
softSurfer
|
576
634
|
ssh-keyscan
|
577
635
|
swrule
|
636
|
+
threeparttable
|
578
637
|
ulem
|
579
638
|
w3m
|
580
639
|
xinetd
|
640
|
+
xkeyboard-config-Zinoviev
|
581
641
|
xlock
|
582
642
|
xpp
|
643
|
+
xzoom
|
583
644
|
zlib-acknowledgement
|
584
645
|
].freeze
|
585
646
|
|
@@ -621,11 +682,13 @@ class Gem::Licenses
|
|
621
682
|
EXCEPTION_IDENTIFIERS = %w[
|
622
683
|
389-exception
|
623
684
|
Asterisk-exception
|
685
|
+
Asterisk-linking-protocols-exception
|
624
686
|
Autoconf-exception-2.0
|
625
687
|
Autoconf-exception-3.0
|
626
688
|
Autoconf-exception-generic
|
627
689
|
Autoconf-exception-generic-3.0
|
628
690
|
Autoconf-exception-macro
|
691
|
+
Bison-exception-1.24
|
629
692
|
Bison-exception-2.2
|
630
693
|
Bootloader-exception
|
631
694
|
CLISP-exception-2.0
|
@@ -638,6 +701,7 @@ class Gem::Licenses
|
|
638
701
|
GCC-exception-2.0-note
|
639
702
|
GCC-exception-3.1
|
640
703
|
GNAT-exception
|
704
|
+
GNOME-examples-exception
|
641
705
|
GNU-compiler-exception
|
642
706
|
GPL-3.0-interface-exception
|
643
707
|
GPL-3.0-linking-exception
|
@@ -645,6 +709,7 @@ class Gem::Licenses
|
|
645
709
|
GPL-CC-1.0
|
646
710
|
GStreamer-exception-2005
|
647
711
|
GStreamer-exception-2008
|
712
|
+
Gmsh-exception
|
648
713
|
KiCad-libraries-exception
|
649
714
|
LGPL-3.0-linking-exception
|
650
715
|
LLGPL
|
@@ -655,11 +720,13 @@ class Gem::Licenses
|
|
655
720
|
OCCT-exception-1.0
|
656
721
|
OCaml-LGPL-linking-exception
|
657
722
|
OpenJDK-assembly-exception-1.0
|
723
|
+
PCRE2-exception
|
658
724
|
PS-or-PDF-font-exception-20170817
|
659
725
|
QPL-1.0-INRIA-2004-exception
|
660
726
|
Qt-GPL-exception-1.0
|
661
727
|
Qt-LGPL-exception-1.1
|
662
728
|
Qwt-exception-1.0
|
729
|
+
RRDtool-FLOSS-exception-2.0
|
663
730
|
SANE-exception
|
664
731
|
SHL-2.0
|
665
732
|
SHL-2.1
|
@@ -671,6 +738,7 @@ class Gem::Licenses
|
|
671
738
|
WxWindows-exception-3.1
|
672
739
|
cryptsetup-OpenSSL-exception
|
673
740
|
eCos-exception-2.0
|
741
|
+
fmt-exception
|
674
742
|
freertos-exception-2.0
|
675
743
|
gnu-javamail-exception
|
676
744
|
i2p-gpl-java-exception
|
@@ -60,7 +60,6 @@ module Gem
|
|
60
60
|
indent, key, quote, val = match.captures
|
61
61
|
val = strip_comment(val)
|
62
62
|
|
63
|
-
convert_to_backward_compatible_key!(key)
|
64
63
|
depth = indent.size / 2
|
65
64
|
if quote.empty? && val.empty?
|
66
65
|
new_hash = {}
|
@@ -92,14 +91,8 @@ module Gem
|
|
92
91
|
end
|
93
92
|
end
|
94
93
|
|
95
|
-
# for settings' keys
|
96
|
-
def convert_to_backward_compatible_key!(key)
|
97
|
-
key << "/" if /https?:/i.match?(key) && !%r{/\Z}.match?(key)
|
98
|
-
key.gsub!(".", "__")
|
99
|
-
end
|
100
|
-
|
101
94
|
class << self
|
102
|
-
private :dump_hash
|
95
|
+
private :dump_hash
|
103
96
|
end
|
104
97
|
end
|
105
98
|
end
|
data/lib/rubygems.rb
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
require "rbconfig"
|
10
10
|
|
11
11
|
module Gem
|
12
|
-
VERSION = "3.5.
|
12
|
+
VERSION = "3.5.16"
|
13
13
|
end
|
14
14
|
|
15
15
|
# Must be first since it unloads the prelude from 1.9.2
|
@@ -760,6 +760,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
760
760
|
|
761
761
|
##
|
762
762
|
# Safely write a file in binary mode on all platforms.
|
763
|
+
|
763
764
|
def self.write_binary(path, data)
|
764
765
|
open_file(path, "wb") do |io|
|
765
766
|
io.write data
|
@@ -771,24 +772,29 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
771
772
|
end
|
772
773
|
|
773
774
|
##
|
774
|
-
# Open a file with given flags
|
775
|
+
# Open a file with given flags
|
775
776
|
|
776
777
|
def self.open_file(path, flags, &block)
|
778
|
+
File.open(path, flags, &block)
|
779
|
+
end
|
780
|
+
|
781
|
+
##
|
782
|
+
# Open a file with given flags, and protect access with flock
|
783
|
+
|
784
|
+
def self.open_file_with_flock(path, &block)
|
785
|
+
flags = File.exist?(path) ? "r+" : "a+"
|
786
|
+
|
777
787
|
File.open(path, flags) do |io|
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
rescue Errno::ENOSYS, Errno::ENOTSUP
|
782
|
-
end
|
788
|
+
begin
|
789
|
+
io.flock(File::LOCK_EX)
|
790
|
+
rescue Errno::ENOSYS, Errno::ENOTSUP
|
783
791
|
end
|
784
792
|
yield io
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
File.open(path, flags) do |io|
|
791
|
-
yield io
|
793
|
+
rescue Errno::ENOLCK # NFS
|
794
|
+
if Thread.main != Thread.current
|
795
|
+
raise
|
796
|
+
else
|
797
|
+
open_file(path, flags, &block)
|
792
798
|
end
|
793
799
|
end
|
794
800
|
end
|
@@ -1012,6 +1018,13 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1012
1018
|
RUBY_PLATFORM.include?("solaris")
|
1013
1019
|
end
|
1014
1020
|
|
1021
|
+
##
|
1022
|
+
# Is this platform FreeBSD
|
1023
|
+
|
1024
|
+
def self.freebsd_platform?
|
1025
|
+
RbConfig::CONFIG["host_os"].to_s.include?("bsd")
|
1026
|
+
end
|
1027
|
+
|
1015
1028
|
##
|
1016
1029
|
# Load +plugins+ as Ruby files
|
1017
1030
|
|
@@ -1225,7 +1238,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
1225
1238
|
|
1226
1239
|
def find_unresolved_default_spec(path)
|
1227
1240
|
default_spec = @path_to_default_spec_map[path]
|
1228
|
-
|
1241
|
+
default_spec if default_spec && loaded_specs[default_spec.name] != default_spec
|
1229
1242
|
end
|
1230
1243
|
|
1231
1244
|
##
|
data/rubygems-update.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "rubygems-update"
|
5
|
-
s.version = "3.5.
|
5
|
+
s.version = "3.5.16"
|
6
6
|
s.authors = ["Jim Weirich", "Chad Fowler", "Eric Hodel", "Luis Lavena", "Aaron Patterson", "Samuel Giddins", "André Arko", "Evan Phoenix", "Hiroshi SHIBATA"]
|
7
7
|
s.email = ["", "", "drbrain@segment7.net", "luislavena@gmail.com", "aaron@tenderlovemaking.com", "segiddins@segiddins.me", "andre@arko.net", "evan@phx.io", "hsbt@ruby-lang.org"]
|
8
8
|
|