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.
Files changed (153) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +204 -1
  3. data/CODE_OF_CONDUCT.md +79 -28
  4. data/CONTRIBUTING.md +2 -2
  5. data/Manifest.txt +9 -4
  6. data/POLICIES.md +75 -6
  7. data/bundler/CHANGELOG.md +156 -0
  8. data/bundler/lib/bundler/build_metadata.rb +2 -2
  9. data/bundler/lib/bundler/cli/binstubs.rb +1 -1
  10. data/bundler/lib/bundler/cli/fund.rb +1 -1
  11. data/bundler/lib/bundler/cli/gem.rb +7 -14
  12. data/bundler/lib/bundler/cli/install.rb +1 -1
  13. data/bundler/lib/bundler/cli/plugin.rb +3 -2
  14. data/bundler/lib/bundler/cli.rb +14 -31
  15. data/bundler/lib/bundler/compact_index_client/cache.rb +47 -72
  16. data/bundler/lib/bundler/compact_index_client/parser.rb +84 -0
  17. data/bundler/lib/bundler/compact_index_client.rb +51 -80
  18. data/bundler/lib/bundler/constants.rb +8 -1
  19. data/bundler/lib/bundler/definition.rb +114 -71
  20. data/bundler/lib/bundler/dependency.rb +2 -1
  21. data/bundler/lib/bundler/dsl.rb +16 -1
  22. data/bundler/lib/bundler/endpoint_specification.rb +11 -0
  23. data/bundler/lib/bundler/env.rb +1 -1
  24. data/bundler/lib/bundler/environment_preserver.rb +2 -20
  25. data/bundler/lib/bundler/errors.rb +14 -0
  26. data/bundler/lib/bundler/fetcher/compact_index.rb +15 -24
  27. data/bundler/lib/bundler/gem_helper.rb +1 -1
  28. data/bundler/lib/bundler/gem_helpers.rb +14 -7
  29. data/bundler/lib/bundler/gem_version_promoter.rb +42 -38
  30. data/bundler/lib/bundler/injector.rb +3 -5
  31. data/bundler/lib/bundler/installer/gem_installer.rb +0 -1
  32. data/bundler/lib/bundler/installer/standalone.rb +0 -3
  33. data/bundler/lib/bundler/installer.rb +9 -11
  34. data/bundler/lib/bundler/lazy_specification.rb +1 -0
  35. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  36. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-check.1 +3 -1
  39. data/bundler/lib/bundler/man/bundle-check.1.ronn +3 -0
  40. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  41. data/bundler/lib/bundler/man/bundle-config.1 +2 -4
  42. data/bundler/lib/bundler/man/bundle-config.1.ronn +1 -4
  43. data/bundler/lib/bundler/man/bundle-console.1 +1 -1
  44. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  45. data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
  46. data/bundler/lib/bundler/man/bundle-gem.1 +7 -1
  47. data/bundler/lib/bundler/man/bundle-gem.1.ronn +11 -0
  48. data/bundler/lib/bundler/man/bundle-help.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  50. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  51. data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
  52. data/bundler/lib/bundler/man/bundle-install.1 +3 -3
  53. data/bundler/lib/bundler/man/bundle-install.1.ronn +2 -2
  54. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  55. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  56. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  57. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  58. data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
  59. data/bundler/lib/bundler/man/bundle-plugin.1 +7 -4
  60. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +7 -3
  61. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  62. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  63. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  64. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  65. data/bundler/lib/bundler/man/bundle-version.1 +1 -1
  66. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  67. data/bundler/lib/bundler/man/bundle.1 +1 -1
  68. data/bundler/lib/bundler/man/gemfile.5 +3 -3
  69. data/bundler/lib/bundler/man/gemfile.5.ronn +2 -2
  70. data/bundler/lib/bundler/plugin/installer/path.rb +18 -0
  71. data/bundler/lib/bundler/plugin/installer.rb +36 -16
  72. data/bundler/lib/bundler/plugin/source_list.rb +4 -4
  73. data/bundler/lib/bundler/resolver/base.rb +4 -0
  74. data/bundler/lib/bundler/resolver/candidate.rb +5 -17
  75. data/bundler/lib/bundler/resolver/package.rb +4 -0
  76. data/bundler/lib/bundler/resolver/spec_group.rb +20 -2
  77. data/bundler/lib/bundler/resolver.rb +72 -33
  78. data/bundler/lib/bundler/rubygems_ext.rb +98 -10
  79. data/bundler/lib/bundler/rubygems_gem_installer.rb +35 -2
  80. data/bundler/lib/bundler/rubygems_integration.rb +16 -2
  81. data/bundler/lib/bundler/runtime.rb +1 -1
  82. data/bundler/lib/bundler/self_manager.rb +22 -2
  83. data/bundler/lib/bundler/settings.rb +22 -16
  84. data/bundler/lib/bundler/setup.rb +6 -0
  85. data/bundler/lib/bundler/shared_helpers.rb +6 -4
  86. data/bundler/lib/bundler/source/git/git_proxy.rb +8 -0
  87. data/bundler/lib/bundler/source/git.rb +14 -0
  88. data/bundler/lib/bundler/source/metadata.rb +2 -0
  89. data/bundler/lib/bundler/source/path.rb +0 -13
  90. data/bundler/lib/bundler/source/rubygems.rb +31 -30
  91. data/bundler/lib/bundler/source_list.rb +26 -2
  92. data/bundler/lib/bundler/spec_set.rb +15 -13
  93. data/bundler/lib/bundler/stub_specification.rb +8 -0
  94. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +77 -29
  95. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +4 -3
  96. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +0 -5
  97. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +1 -0
  98. data/bundler/lib/bundler/vendored_net_http.rb +20 -5
  99. data/bundler/lib/bundler/vendored_timeout.rb +7 -3
  100. data/bundler/lib/bundler/version.rb +1 -1
  101. data/bundler/lib/bundler/yaml_serializer.rb +1 -8
  102. data/bundler/lib/bundler.rb +26 -1
  103. data/exe/update_rubygems +1 -1
  104. data/lib/rubygems/basic_specification.rb +27 -0
  105. data/lib/rubygems/bundler_version_finder.rb +1 -1
  106. data/lib/rubygems/command.rb +1 -1
  107. data/lib/rubygems/command_manager.rb +2 -1
  108. data/lib/rubygems/commands/build_command.rb +2 -11
  109. data/lib/rubygems/commands/help_command.rb +2 -2
  110. data/lib/rubygems/commands/pristine_command.rb +12 -9
  111. data/lib/rubygems/commands/rdoc_command.rb +1 -8
  112. data/lib/rubygems/commands/rebuild_command.rb +264 -0
  113. data/lib/rubygems/commands/setup_command.rb +2 -0
  114. data/lib/rubygems/commands/uninstall_command.rb +1 -1
  115. data/lib/rubygems/commands/update_command.rb +8 -9
  116. data/lib/rubygems/config_file.rb +33 -16
  117. data/lib/rubygems/defaults.rb +4 -4
  118. data/lib/rubygems/dependency.rb +3 -15
  119. data/lib/rubygems/dependency_list.rb +1 -1
  120. data/lib/rubygems/deprecate.rb +79 -77
  121. data/lib/rubygems/ext/cargo_builder.rb +2 -17
  122. data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +3 -1
  123. data/lib/rubygems/gemcutter_utilities.rb +1 -1
  124. data/lib/rubygems/gemspec_helpers.rb +19 -0
  125. data/lib/rubygems/installer.rb +9 -8
  126. data/lib/rubygems/package/tar_header.rb +20 -4
  127. data/lib/rubygems/package.rb +13 -8
  128. data/lib/rubygems/platform.rb +3 -2
  129. data/lib/rubygems/remote_fetcher.rb +1 -1
  130. data/lib/rubygems/request.rb +1 -1
  131. data/lib/rubygems/request_set.rb +1 -1
  132. data/lib/rubygems/requirement.rb +2 -2
  133. data/lib/rubygems/resolver/spec_specification.rb +7 -0
  134. data/lib/rubygems/s3_uri_signer.rb +1 -1
  135. data/lib/rubygems/safe_yaml.rb +10 -1
  136. data/lib/rubygems/security.rb +1 -1
  137. data/lib/rubygems/specification.rb +55 -124
  138. data/lib/rubygems/specification_policy.rb +26 -6
  139. data/lib/rubygems/specification_record.rb +212 -0
  140. data/lib/rubygems/stub_specification.rb +21 -0
  141. data/lib/rubygems/uninstaller.rb +27 -20
  142. data/lib/rubygems/util/licenses.rb +68 -0
  143. data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph.rb +1 -1
  144. data/lib/rubygems/vendored_net_http.rb +5 -0
  145. data/lib/rubygems/vendored_timeout.rb +5 -0
  146. data/lib/rubygems/yaml_serializer.rb +1 -8
  147. data/lib/rubygems.rb +28 -15
  148. data/rubygems-update.gemspec +1 -1
  149. metadata +12 -7
  150. data/lib/rubygems/net/http.rb +0 -3
  151. data/lib/rubygems/timeout.rb +0 -3
  152. /data/lib/rubygems/{optparse.rb → vendored_optparse.rb} +0 -0
  153. /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
@@ -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 installed into
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
- @gem_home = File.realpath(options[:install_dir] || Gem.dir)
53
- @plugins_dir = Gem.plugindir(@gem_home)
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 options[:install_dir]
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
- dirs =
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 == Gem.user_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(&:full_name)
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(spec)
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?(Gem.user_dir, spec))
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, @plugins_dir)
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 = Gem::Specification.latest_spec_for(@spec.name)
293
+ latest = specification_record.latest_spec_for(@spec.name)
295
294
  return if latest.nil?
296
295
 
297
- regenerate_plugins_for(latest, @plugins_dir)
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
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative '../../../../tsort'
3
+ require_relative '../../../../vendored_tsort'
4
4
 
5
5
  require_relative 'dependency_graph/log'
6
6
  require_relative 'dependency_graph/vertex'
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Ruby 3.3 and RubyGems 3.5 is already load Gem::Timeout from lib/rubygems/net/http.rb
4
+ # We should avoid to load it again
5
+ require_relative "vendor/net-http/lib/net/http" unless defined?(Gem::Net::HTTP)
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Ruby 3.3 and RubyGems 3.5 is already load Gem::Timeout from lib/rubygems/timeout.rb
4
+ # We should avoid to load it again
5
+ require_relative "vendor/timeout/lib/timeout" unless defined?(Gem::Timeout)
@@ -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, :convert_to_backward_compatible_key!
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.6"
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, and on Windows protect access with flock
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
- if !java_platform? && win_platform?
779
- begin
780
- io.flock(File::LOCK_EX)
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
- end
786
- rescue Errno::ENOLCK # NFS
787
- if Thread.main != Thread.current
788
- raise
789
- else
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
- return default_spec if default_spec && loaded_specs[default_spec.name] != default_spec
1241
+ default_spec if default_spec && loaded_specs[default_spec.name] != default_spec
1229
1242
  end
1230
1243
 
1231
1244
  ##
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.5.6"
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