rubygems-update 3.4.20 → 3.4.22

Sign up to get free protection for your applications and to get access to all the features.
Files changed (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +55 -0
  3. data/Manifest.txt +6 -0
  4. data/bundler/CHANGELOG.md +55 -3
  5. data/bundler/README.md +1 -2
  6. data/bundler/lib/bundler/build_metadata.rb +3 -3
  7. data/bundler/lib/bundler/cli/check.rb +1 -1
  8. data/bundler/lib/bundler/cli/gem.rb +4 -3
  9. data/bundler/lib/bundler/cli/install.rb +2 -2
  10. data/bundler/lib/bundler/cli/lock.rb +26 -23
  11. data/bundler/lib/bundler/cli/open.rb +5 -7
  12. data/bundler/lib/bundler/definition.rb +43 -26
  13. data/bundler/lib/bundler/endpoint_specification.rb +1 -1
  14. data/bundler/lib/bundler/env.rb +2 -2
  15. data/bundler/lib/bundler/errors.rb +15 -0
  16. data/bundler/lib/bundler/gem_helpers.rb +7 -0
  17. data/bundler/lib/bundler/gem_version_promoter.rb +2 -2
  18. data/bundler/lib/bundler/injector.rb +1 -1
  19. data/bundler/lib/bundler/installer/gem_installer.rb +5 -5
  20. data/bundler/lib/bundler/installer/parallel_installer.rb +0 -26
  21. data/bundler/lib/bundler/installer/standalone.rb +13 -6
  22. data/bundler/lib/bundler/lazy_specification.rb +4 -0
  23. data/bundler/lib/bundler/lockfile_parser.rb +29 -24
  24. data/bundler/lib/bundler/man/bundle-add.1 +1 -1
  25. data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
  26. data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
  27. data/bundler/lib/bundler/man/bundle-check.1 +1 -1
  28. data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
  29. data/bundler/lib/bundler/man/bundle-config.1 +1 -1
  30. data/bundler/lib/bundler/man/bundle-console.1 +1 -1
  31. data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
  32. data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
  33. data/bundler/lib/bundler/man/bundle-exec.1.ronn +2 -3
  34. data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
  35. data/bundler/lib/bundler/man/bundle-help.1 +1 -1
  36. data/bundler/lib/bundler/man/bundle-info.1 +1 -1
  37. data/bundler/lib/bundler/man/bundle-init.1 +1 -1
  38. data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
  39. data/bundler/lib/bundler/man/bundle-install.1 +1 -1
  40. data/bundler/lib/bundler/man/bundle-list.1 +1 -1
  41. data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
  42. data/bundler/lib/bundler/man/bundle-open.1 +1 -1
  43. data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
  44. data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
  45. data/bundler/lib/bundler/man/bundle-plugin.1 +17 -17
  46. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +5 -5
  47. data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
  48. data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
  49. data/bundler/lib/bundler/man/bundle-show.1 +1 -1
  50. data/bundler/lib/bundler/man/bundle-update.1 +1 -1
  51. data/bundler/lib/bundler/man/bundle-version.1 +1 -1
  52. data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
  53. data/bundler/lib/bundler/man/bundle.1 +1 -1
  54. data/bundler/lib/bundler/man/gemfile.5 +1 -1
  55. data/bundler/lib/bundler/plugin/index.rb +8 -0
  56. data/bundler/lib/bundler/plugin.rb +9 -2
  57. data/bundler/lib/bundler/resolver/package.rb +5 -0
  58. data/bundler/lib/bundler/resolver.rb +27 -7
  59. data/bundler/lib/bundler/ruby_version.rb +8 -1
  60. data/bundler/lib/bundler/rubygems_ext.rb +3 -4
  61. data/bundler/lib/bundler/rubygems_gem_installer.rb +23 -8
  62. data/bundler/lib/bundler/settings.rb +53 -16
  63. data/bundler/lib/bundler/shared_helpers.rb +16 -1
  64. data/bundler/lib/bundler/source/git/git_proxy.rb +21 -4
  65. data/bundler/lib/bundler/source/metadata.rb +1 -1
  66. data/bundler/lib/bundler/spec_set.rb +7 -4
  67. data/bundler/lib/bundler/stub_specification.rb +4 -2
  68. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +6 -2
  69. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
  70. data/bundler/lib/bundler/ui/shell.rb +1 -1
  71. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +1 -0
  72. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +21 -9
  73. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1 -1
  74. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +3 -2
  75. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +1 -1
  76. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +1 -1
  77. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +8 -10
  78. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +15 -4
  79. data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +15 -15
  80. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +140 -14
  81. data/bundler/lib/bundler/vendor/thor/lib/thor/command.rb +13 -4
  82. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +4 -0
  83. data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +16 -25
  84. data/bundler/lib/bundler/vendor/thor/lib/thor/group.rb +1 -1
  85. data/bundler/lib/bundler/vendor/thor/lib/thor/invocation.rb +1 -1
  86. data/bundler/lib/bundler/vendor/thor/lib/thor/nested_context.rb +2 -2
  87. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +20 -1
  88. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +33 -17
  89. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/option.rb +27 -8
  90. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +44 -6
  91. data/bundler/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +2 -2
  92. data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +40 -30
  93. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +26 -150
  94. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +4 -46
  95. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
  96. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb +3 -45
  97. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/lcs_diff.rb +49 -0
  98. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/table_printer.rb +134 -0
  99. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
  100. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
  101. data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
  102. data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +8 -7
  103. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  104. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +155 -8
  105. data/bundler/lib/bundler/version.rb +1 -1
  106. data/bundler/lib/bundler/yaml_serializer.rb +12 -8
  107. data/bundler/lib/bundler.rb +0 -8
  108. data/lib/rubygems/basic_specification.rb +1 -1
  109. data/lib/rubygems/command.rb +5 -5
  110. data/lib/rubygems/command_manager.rb +1 -1
  111. data/lib/rubygems/commands/cert_command.rb +3 -3
  112. data/lib/rubygems/commands/check_command.rb +5 -1
  113. data/lib/rubygems/commands/cleanup_command.rb +1 -1
  114. data/lib/rubygems/commands/contents_command.rb +2 -2
  115. data/lib/rubygems/commands/environment_command.rb +2 -2
  116. data/lib/rubygems/commands/help_command.rb +3 -3
  117. data/lib/rubygems/commands/open_command.rb +1 -3
  118. data/lib/rubygems/commands/owner_command.rb +1 -1
  119. data/lib/rubygems/commands/setup_command.rb +10 -10
  120. data/lib/rubygems/commands/specification_command.rb +5 -1
  121. data/lib/rubygems/commands/stale_command.rb +1 -1
  122. data/lib/rubygems/commands/uninstall_command.rb +4 -4
  123. data/lib/rubygems/commands/unpack_command.rb +3 -3
  124. data/lib/rubygems/commands/update_command.rb +4 -4
  125. data/lib/rubygems/commands/yank_command.rb +1 -1
  126. data/lib/rubygems/config_file.rb +63 -16
  127. data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
  128. data/lib/rubygems/core_ext/kernel_require.rb +2 -2
  129. data/lib/rubygems/defaults.rb +6 -2
  130. data/lib/rubygems/dependency_installer.rb +4 -4
  131. data/lib/rubygems/deprecate.rb +2 -1
  132. data/lib/rubygems/doctor.rb +2 -2
  133. data/lib/rubygems/errors.rb +1 -1
  134. data/lib/rubygems/exceptions.rb +1 -1
  135. data/lib/rubygems/ext/builder.rb +5 -4
  136. data/lib/rubygems/ext/cargo_builder.rb +2 -2
  137. data/lib/rubygems/ext/ext_conf_builder.rb +1 -1
  138. data/lib/rubygems/ext/rake_builder.rb +1 -1
  139. data/lib/rubygems/gem_runner.rb +5 -1
  140. data/lib/rubygems/gemcutter_utilities.rb +2 -2
  141. data/lib/rubygems/indexer.rb +1 -1
  142. data/lib/rubygems/install_update_options.rb +1 -1
  143. data/lib/rubygems/installer.rb +15 -20
  144. data/lib/rubygems/local_remote_options.rb +1 -1
  145. data/lib/rubygems/package/digest_io.rb +1 -1
  146. data/lib/rubygems/package/old.rb +1 -1
  147. data/lib/rubygems/package/tar_header.rb +2 -2
  148. data/lib/rubygems/package/tar_reader.rb +9 -2
  149. data/lib/rubygems/package/tar_writer.rb +2 -2
  150. data/lib/rubygems/package.rb +9 -9
  151. data/lib/rubygems/path_support.rb +1 -1
  152. data/lib/rubygems/platform.rb +12 -6
  153. data/lib/rubygems/query_utils.rb +4 -4
  154. data/lib/rubygems/remote_fetcher.rb +12 -4
  155. data/lib/rubygems/request.rb +1 -1
  156. data/lib/rubygems/request_set/gem_dependency_api.rb +1 -1
  157. data/lib/rubygems/request_set.rb +2 -1
  158. data/lib/rubygems/requirement.rb +1 -1
  159. data/lib/rubygems/resolver/api_set.rb +2 -1
  160. data/lib/rubygems/resolver/api_specification.rb +1 -1
  161. data/lib/rubygems/resolver.rb +3 -3
  162. data/lib/rubygems/security/signer.rb +10 -2
  163. data/lib/rubygems/security/trust_dir.rb +5 -5
  164. data/lib/rubygems/security.rb +1 -1
  165. data/lib/rubygems/security_option.rb +1 -1
  166. data/lib/rubygems/source/local.rb +2 -1
  167. data/lib/rubygems/source.rb +5 -1
  168. data/lib/rubygems/source_list.rb +1 -1
  169. data/lib/rubygems/spec_fetcher.rb +2 -2
  170. data/lib/rubygems/specification.rb +30 -23
  171. data/lib/rubygems/specification_policy.rb +11 -11
  172. data/lib/rubygems/uninstaller.rb +3 -3
  173. data/lib/rubygems/update_suggestion.rb +1 -1
  174. data/lib/rubygems/user_interaction.rb +2 -2
  175. data/lib/rubygems/util/licenses.rb +48 -0
  176. data/lib/rubygems/util.rb +5 -1
  177. data/lib/rubygems/validator.rb +1 -1
  178. data/lib/rubygems/version.rb +6 -5
  179. data/lib/rubygems/yaml_serializer.rb +93 -0
  180. data/lib/rubygems.rb +9 -9
  181. data/rubygems-update.gemspec +1 -1
  182. data/setup.rb +2 -0
  183. data/test/rubygems/bundler_test_gem.rb +6 -3
  184. data/test/rubygems/helper.rb +29 -21
  185. data/test/rubygems/package/tar_test_case.rb +2 -2
  186. data/test/rubygems/test_gem.rb +51 -26
  187. data/test/rubygems/test_gem_command.rb +3 -1
  188. data/test/rubygems/test_gem_command_manager.rb +6 -6
  189. data/test/rubygems/test_gem_commands_cert_command.rb +23 -23
  190. data/test/rubygems/test_gem_commands_cleanup_command.rb +2 -2
  191. data/test/rubygems/test_gem_commands_environment_command.rb +2 -1
  192. data/test/rubygems/test_gem_commands_exec_command.rb +5 -1
  193. data/test/rubygems/test_gem_commands_install_command.rb +5 -5
  194. data/test/rubygems/test_gem_commands_open_command.rb +5 -2
  195. data/test/rubygems/test_gem_commands_pristine_command.rb +2 -2
  196. data/test/rubygems/test_gem_commands_push_command.rb +7 -6
  197. data/test/rubygems/test_gem_commands_signin_command.rb +8 -8
  198. data/test/rubygems/test_gem_commands_uninstall_command.rb +21 -1
  199. data/test/rubygems/test_gem_commands_unpack_command.rb +2 -2
  200. data/test/rubygems/test_gem_config_file.rb +46 -12
  201. data/test/rubygems/test_gem_ext_builder.rb +1 -1
  202. data/test/rubygems/test_gem_ext_cargo_builder.rb +2 -2
  203. data/test/rubygems/test_gem_gemcutter_utilities.rb +8 -5
  204. data/test/rubygems/test_gem_install_update_options.rb +3 -3
  205. data/test/rubygems/test_gem_installer.rb +16 -16
  206. data/test/rubygems/test_gem_package.rb +35 -34
  207. data/test/rubygems/test_gem_package_old.rb +1 -1
  208. data/test/rubygems/test_gem_package_tar_header.rb +3 -3
  209. data/test/rubygems/test_gem_package_tar_reader.rb +19 -4
  210. data/test/rubygems/test_gem_package_tar_writer.rb +28 -28
  211. data/test/rubygems/test_gem_rdoc.rb +2 -2
  212. data/test/rubygems/test_gem_remote_fetcher.rb +13 -9
  213. data/test/rubygems/test_gem_request.rb +5 -5
  214. data/test/rubygems/test_gem_request_connection_pools.rb +2 -1
  215. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +14 -7
  216. data/test/rubygems/test_gem_security.rb +2 -2
  217. data/test/rubygems/test_gem_security_policy.rb +2 -2
  218. data/test/rubygems/test_gem_security_signer.rb +2 -2
  219. data/test/rubygems/test_gem_security_trust_dir.rb +6 -6
  220. data/test/rubygems/test_gem_spec_fetcher.rb +2 -2
  221. data/test/rubygems/test_gem_specification.rb +29 -29
  222. data/test/rubygems/test_gem_stream_ui.rb +1 -1
  223. data/test/rubygems/test_gem_update_suggestion.rb +12 -6
  224. data/test/rubygems/test_gem_util.rb +2 -2
  225. data/test/rubygems/test_gem_version.rb +4 -2
  226. data/test/rubygems/utilities.rb +4 -3
  227. metadata +9 -3
@@ -46,7 +46,7 @@ class Gem::Uninstaller
46
46
  # Constructs an uninstaller that will uninstall +gem+
47
47
 
48
48
  def initialize(gem, options = {})
49
- # TODO document the valid options
49
+ # TODO: document the valid options
50
50
  @gem = gem
51
51
  @version = options[:version] || Gem::Requirement.default
52
52
  @gem_home = File.realpath(options[:install_dir] || Gem.dir)
@@ -202,7 +202,7 @@ class Gem::Uninstaller
202
202
 
203
203
  remove = if @force_executables.nil?
204
204
  ask_yes_no("Remove executables:\n" +
205
- "\t#{executables.join ', '}\n\n" +
205
+ "\t#{executables.join ", "}\n\n" +
206
206
  "in addition to the gem?",
207
207
  true)
208
208
  else
@@ -350,7 +350,7 @@ class Gem::Uninstaller
350
350
 
351
351
  msg << "If you remove this gem, these dependencies will not be met."
352
352
  msg << "Continue with Uninstall?"
353
- return ask_yes_no(msg.join("\n"), false)
353
+ ask_yes_no(msg.join("\n"), false)
354
354
  end
355
355
 
356
356
  ##
@@ -59,7 +59,7 @@ Run `gem update --system #{Gem.latest_rubygems_version}` to update your installa
59
59
 
60
60
  return eglible
61
61
  end
62
- rescue # don't block install command on any problem
62
+ rescue StandardError # don't block install command on any problem
63
63
  false
64
64
  end
65
65
 
@@ -241,7 +241,7 @@ class Gem::StreamUI
241
241
 
242
242
  result = result.strip.to_i - 1
243
243
  return nil, nil unless (0...list.size) === result
244
- return list[result], result
244
+ [list[result], result]
245
245
  end
246
246
 
247
247
  ##
@@ -279,7 +279,7 @@ class Gem::StreamUI
279
279
  end
280
280
  end
281
281
 
282
- return result
282
+ result
283
283
  end
284
284
 
285
285
  ##
@@ -45,6 +45,7 @@ class Gem::Licenses
45
45
  AdaCore-doc
46
46
  Adobe-2006
47
47
  Adobe-Glyph
48
+ Adobe-Utopia
48
49
  Afmparse
49
50
  Aladdin
50
51
  Apache-1.0
@@ -65,6 +66,7 @@ class Gem::Licenses
65
66
  BSD-3-Clause
66
67
  BSD-3-Clause-Attribution
67
68
  BSD-3-Clause-Clear
69
+ BSD-3-Clause-HP
68
70
  BSD-3-Clause-LBNL
69
71
  BSD-3-Clause-Modification
70
72
  BSD-3-Clause-No-Military-License
@@ -72,6 +74,8 @@ class Gem::Licenses
72
74
  BSD-3-Clause-No-Nuclear-License-2014
73
75
  BSD-3-Clause-No-Nuclear-Warranty
74
76
  BSD-3-Clause-Open-MPI
77
+ BSD-3-Clause-Sun
78
+ BSD-3-Clause-flex
75
79
  BSD-4-Clause
76
80
  BSD-4-Clause-Shortened
77
81
  BSD-4-Clause-UC
@@ -79,8 +83,10 @@ class Gem::Licenses
79
83
  BSD-4.3TAHOE
80
84
  BSD-Advertising-Acknowledgement
81
85
  BSD-Attribution-HPND-disclaimer
86
+ BSD-Inferno-Nettverk
82
87
  BSD-Protection
83
88
  BSD-Source-Code
89
+ BSD-Systemics
84
90
  BSL-1.0
85
91
  BUSL-1.1
86
92
  Baekmuk
@@ -184,11 +190,13 @@ class Gem::Licenses
184
190
  Community-Spec-1.0
185
191
  Condor-1.1
186
192
  Cornell-Lossless-JPEG
193
+ Cronyx
187
194
  Crossword
188
195
  CrystalStacker
189
196
  Cube
190
197
  D-FSL-1.0
191
198
  DL-DE-BY-2.0
199
+ DL-DE-ZERO-2.0
192
200
  DOC
193
201
  DRL-1.0
194
202
  DSDP
@@ -208,6 +216,7 @@ class Gem::Licenses
208
216
  Entessa
209
217
  ErlPL-1.1
210
218
  Eurosym
219
+ FBM
211
220
  FDK-AAC
212
221
  FSFAP
213
222
  FSFUL
@@ -215,9 +224,11 @@ class Gem::Licenses
215
224
  FSFULLRWD
216
225
  FTL
217
226
  Fair
227
+ Ferguson-Twofish
218
228
  Frameworx-1.0
219
229
  FreeBSD-DOC
220
230
  FreeImage
231
+ Furuseth
221
232
  GD
222
233
  GFDL-1.1
223
234
  GFDL-1.1-invariants-only
@@ -266,9 +277,17 @@ class Gem::Licenses
266
277
  Glulxe
267
278
  Graphics-Gems
268
279
  HP-1986
280
+ HP-1989
269
281
  HPND
282
+ HPND-DEC
270
283
  HPND-Markus-Kuhn
284
+ HPND-Pbmplus
285
+ HPND-UC
286
+ HPND-doc
287
+ HPND-doc-sell
271
288
  HPND-export-US
289
+ HPND-export-US-modify
290
+ HPND-sell-regexpr
272
291
  HPND-sell-variant
273
292
  HPND-sell-variant-MIT-disclaimer
274
293
  HTMLTIDY
@@ -294,6 +313,7 @@ class Gem::Licenses
294
313
  JSON
295
314
  Jam
296
315
  JasPer-2.0
316
+ Kastrup
297
317
  Kazlib
298
318
  Knuth-CTAN
299
319
  LAL-1.2
@@ -333,6 +353,7 @@ class Gem::Licenses
333
353
  Linux-man-pages-copyleft
334
354
  Linux-man-pages-copyleft-2-para
335
355
  Linux-man-pages-copyleft-var
356
+ Lucida-Bitmap-Fonts
336
357
  MIT
337
358
  MIT-0
338
359
  MIT-CMU
@@ -343,7 +364,10 @@ class Gem::Licenses
343
364
  MIT-enna
344
365
  MIT-feh
345
366
  MIT-open-group
367
+ MIT-testregex
346
368
  MITNFA
369
+ MMIXware
370
+ MPEG-SSG
347
371
  MPL-1.0
348
372
  MPL-1.1
349
373
  MPL-2.0
@@ -354,6 +378,7 @@ class Gem::Licenses
354
378
  MTLL
355
379
  MakeIndex
356
380
  Martin-Birgmeier
381
+ McPhee-slideshow
357
382
  Minpack
358
383
  MirOS
359
384
  Motosoto
@@ -436,6 +461,7 @@ class Gem::Licenses
436
461
  OSL-3.0
437
462
  OpenPBS-2.3
438
463
  OpenSSL
464
+ PADL
439
465
  PDDL-1.0
440
466
  PHP-3.0
441
467
  PHP-3.01
@@ -464,11 +490,13 @@ class Gem::Licenses
464
490
  SGI-B-1.0
465
491
  SGI-B-1.1
466
492
  SGI-B-2.0
493
+ SGI-OpenGL
467
494
  SGP4
468
495
  SHL-0.5
469
496
  SHL-0.51
470
497
  SISSL
471
498
  SISSL-1.2
499
+ SL
472
500
  SMLNJ
473
501
  SMPPL
474
502
  SNIA
@@ -483,6 +511,7 @@ class Gem::Licenses
483
511
  Sendmail-8.23
484
512
  SimPL-2.0
485
513
  Sleepycat
514
+ Soundex
486
515
  Spencer-86
487
516
  Spencer-94
488
517
  Spencer-99
@@ -499,12 +528,14 @@ class Gem::Licenses
499
528
  TPDL
500
529
  TPL-1.0
501
530
  TTWL
531
+ TTYP0
502
532
  TU-Berlin-1.0
503
533
  TU-Berlin-2.0
504
534
  TermReadKey
505
535
  UCAR
506
536
  UCL-1.0
507
537
  UPL-1.0
538
+ URT-RLE
508
539
  Unicode-DFS-2015
509
540
  Unicode-DFS-2016
510
541
  Unicode-TOU
@@ -534,6 +565,7 @@ class Gem::Licenses
534
565
  ZPL-2.0
535
566
  ZPL-2.1
536
567
  Zed
568
+ Zeeff
537
569
  Zend-2.0
538
570
  Zimbra-1.3
539
571
  Zimbra-1.4
@@ -541,6 +573,7 @@ class Gem::Licenses
541
573
  blessing
542
574
  bzip2-1.0.5
543
575
  bzip2-1.0.6
576
+ check-cvs
544
577
  checkmk
545
578
  copyleft-next-0.3.0
546
579
  copyleft-next-0.3.1
@@ -551,6 +584,7 @@ class Gem::Licenses
551
584
  eCos-2.0
552
585
  eGenix
553
586
  etalab-2.0
587
+ fwlw
554
588
  gSOAP-1.3b
555
589
  gnuplot
556
590
  iMatix
@@ -558,13 +592,20 @@ class Gem::Licenses
558
592
  libselinux-1.0
559
593
  libtiff
560
594
  libutil-David-Nugent
595
+ lsof
596
+ magaz
561
597
  metamail
562
598
  mpi-permissive
563
599
  mpich2
564
600
  mplus
601
+ pnmstitch
565
602
  psfrag
566
603
  psutils
604
+ python-ldap
567
605
  snprintf
606
+ ssh-keyscan
607
+ swrule
608
+ ulem
568
609
  w3m
569
610
  wxWindows
570
611
  xinetd
@@ -580,6 +621,7 @@ class Gem::Licenses
580
621
  Autoconf-exception-2.0
581
622
  Autoconf-exception-3.0
582
623
  Autoconf-exception-generic
624
+ Autoconf-exception-generic-3.0
583
625
  Autoconf-exception-macro
584
626
  Bison-exception-2.2
585
627
  Bootloader-exception
@@ -590,8 +632,10 @@ class Gem::Licenses
590
632
  Fawkes-Runtime-exception
591
633
  Font-exception-2.0
592
634
  GCC-exception-2.0
635
+ GCC-exception-2.0-note
593
636
  GCC-exception-3.1
594
637
  GNAT-exception
638
+ GNU-compiler-exception
595
639
  GPL-3.0-interface-exception
596
640
  GPL-3.0-linking-exception
597
641
  GPL-3.0-linking-source-exception
@@ -614,10 +658,13 @@ class Gem::Licenses
614
658
  Qt-GPL-exception-1.0
615
659
  Qt-LGPL-exception-1.1
616
660
  Qwt-exception-1.0
661
+ SANE-exception
617
662
  SHL-2.0
618
663
  SHL-2.1
619
664
  SWI-exception
620
665
  Swift-exception
666
+ Texinfo-exception
667
+ UBDL-exception
621
668
  Universal-FOSS-exception-1.0
622
669
  WxWindows-exception-3.1
623
670
  cryptsetup-OpenSSL-exception
@@ -628,6 +675,7 @@ class Gem::Licenses
628
675
  libpri-OpenH323-exception
629
676
  mif-exception
630
677
  openvpn-openssl-exception
678
+ stunnel-exception
631
679
  u-boot-exception-2.0
632
680
  vsftpd-openssl-exception
633
681
  x11vnc-openssl-exception
data/lib/rubygems/util.rb CHANGED
@@ -85,7 +85,11 @@ module Gem::Util
85
85
 
86
86
  here = File.expand_path directory
87
87
  loop do
88
- Dir.chdir here, &block rescue Errno::EACCES
88
+ begin
89
+ Dir.chdir here, &block
90
+ rescue StandardError
91
+ Errno::EACCES
92
+ end
89
93
 
90
94
  new_here = File.expand_path("..", here)
91
95
  return if new_here == here # toplevel
@@ -108,7 +108,7 @@ class Gem::Validator
108
108
  end
109
109
 
110
110
  good.each do |entry, data|
111
- next unless data # HACK `gem check -a mkrf`
111
+ next unless data # HACK: `gem check -a mkrf`
112
112
 
113
113
  source = File.join gem_directory, entry["path"]
114
114
 
@@ -131,7 +131,7 @@ require_relative "deprecate"
131
131
  #
132
132
  # == Preventing Version Catastrophe:
133
133
  #
134
- # From: http://blog.zenspider.com/2008/10/rubygems-howto-preventing-cata.html
134
+ # From: https://www.zenspider.com/ruby/2008/10/rubygems-how-to-preventing-catastrophe.html
135
135
  #
136
136
  # Let's say you're depending on the fnord gem version 2.y.z. If you
137
137
  # specify your dependency as ">= 2.0.0" then, you're good, right? What
@@ -366,7 +366,8 @@ class Gem::Version
366
366
  i = 0
367
367
 
368
368
  while i <= limit
369
- lhs, rhs = lhsegments[i] || 0, rhsegments[i] || 0
369
+ lhs = lhsegments[i] || 0
370
+ rhs = rhsegments[i] || 0
370
371
  i += 1
371
372
 
372
373
  next if lhs == rhs
@@ -376,7 +377,7 @@ class Gem::Version
376
377
  return lhs <=> rhs
377
378
  end
378
379
 
379
- return 0
380
+ 0
380
381
  end
381
382
 
382
383
  def canonical_segments
@@ -404,7 +405,7 @@ class Gem::Version
404
405
  # since this version object is cached in @@all, its @segments should be frozen
405
406
 
406
407
  @segments ||= @version.scan(/[0-9]+|[a-z]+/i).map do |s|
407
- /^\d+$/ =~ s ? s.to_i : s
408
+ /^\d+$/.match?(s) ? s.to_i : s
408
409
  end.freeze
409
410
  end
410
411
 
@@ -412,6 +413,6 @@ class Gem::Version
412
413
  string_start = _segments.index {|s| s.is_a?(String) }
413
414
  string_segments = segments
414
415
  numeric_segments = string_segments.slice!(0, string_start || string_segments.size)
415
- return numeric_segments, string_segments
416
+ [numeric_segments, string_segments]
416
417
  end
417
418
  end
@@ -0,0 +1,93 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Gem
4
+ # A stub yaml serializer that can handle only hashes and strings (as of now).
5
+ module YAMLSerializer
6
+ module_function
7
+
8
+ def dump(hash)
9
+ yaml = String.new("---")
10
+ yaml << dump_hash(hash)
11
+ end
12
+
13
+ def dump_hash(hash)
14
+ yaml = String.new("\n")
15
+ hash.each do |k, v|
16
+ yaml << k << ":"
17
+ if v.is_a?(Hash)
18
+ yaml << dump_hash(v).gsub(/^(?!$)/, " ") # indent all non-empty lines
19
+ elsif v.is_a?(Array) # Expected to be array of strings
20
+ if v.empty?
21
+ yaml << " []\n"
22
+ else
23
+ yaml << "\n- " << v.map {|s| s.to_s.gsub(/\s+/, " ").inspect }.join("\n- ") << "\n"
24
+ end
25
+ else
26
+ yaml << " " << v.to_s.gsub(/\s+/, " ").inspect << "\n"
27
+ end
28
+ end
29
+ yaml
30
+ end
31
+
32
+ ARRAY_REGEX = /
33
+ ^
34
+ (?:[ ]*-[ ]) # '- ' before array items
35
+ (['"]?) # optional opening quote
36
+ (.*) # value
37
+ \1 # matching closing quote
38
+ $
39
+ /xo.freeze
40
+
41
+ HASH_REGEX = /
42
+ ^
43
+ ([ ]*) # indentations
44
+ (.+) # key
45
+ (?::(?=(?:\s|$))) # : (without the lookahead the #key includes this when : is present in value)
46
+ [ ]?
47
+ (['"]?) # optional opening quote
48
+ (.*) # value
49
+ \3 # matching closing quote
50
+ $
51
+ /xo.freeze
52
+
53
+ def load(str)
54
+ res = {}
55
+ stack = [res]
56
+ last_hash = nil
57
+ last_empty_key = nil
58
+ str.split(/\r?\n/).each do |line|
59
+ if match = HASH_REGEX.match(line)
60
+ indent, key, quote, val = match.captures
61
+ convert_to_backward_compatible_key!(key)
62
+ depth = indent.size / 2
63
+ if quote.empty? && val.empty?
64
+ new_hash = {}
65
+ stack[depth][key] = new_hash
66
+ stack[depth + 1] = new_hash
67
+ last_empty_key = key
68
+ last_hash = stack[depth]
69
+ else
70
+ val = [] if val == "[]" # empty array
71
+ stack[depth][key] = val
72
+ end
73
+ elsif match = ARRAY_REGEX.match(line)
74
+ _, val = match.captures
75
+ last_hash[last_empty_key] = [] unless last_hash[last_empty_key].is_a?(Array)
76
+
77
+ last_hash[last_empty_key].push(val)
78
+ end
79
+ end
80
+ res
81
+ end
82
+
83
+ # for settings' keys
84
+ def convert_to_backward_compatible_key!(key)
85
+ key << "/" if /https?:/i.match?(key) && !%r{/\Z}.match?(key)
86
+ key.gsub!(".", "__")
87
+ end
88
+
89
+ class << self
90
+ private :dump_hash, :convert_to_backward_compatible_key!
91
+ end
92
+ end
93
+ end
data/lib/rubygems.rb CHANGED
@@ -9,7 +9,7 @@
9
9
  require "rbconfig"
10
10
 
11
11
  module Gem
12
- VERSION = "3.4.20"
12
+ VERSION = "3.4.22"
13
13
  end
14
14
 
15
15
  # Must be first since it unloads the prelude from 1.9.2
@@ -211,7 +211,7 @@ module Gem
211
211
  end
212
212
  end
213
213
 
214
- return true
214
+ true
215
215
  end
216
216
 
217
217
  def self.needs
@@ -439,7 +439,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
439
439
 
440
440
  def self.ensure_subdirectories(dir, mode, subdirs) # :nodoc:
441
441
  old_umask = File.umask
442
- File.umask old_umask | 002
442
+ File.umask old_umask | 0o02
443
443
 
444
444
  options = {}
445
445
 
@@ -499,7 +499,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
499
499
  # the spec dirs directly, so we prune.
500
500
  files.uniq! if check_load_path
501
501
 
502
- return files
502
+ files
503
503
  end
504
504
 
505
505
  def self.find_files_from_load_path(glob) # :nodoc:
@@ -534,7 +534,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
534
534
  # the spec dirs directly, so we prune.
535
535
  files.uniq! if check_load_path
536
536
 
537
- return files
537
+ files
538
538
  end
539
539
 
540
540
  ##
@@ -582,7 +582,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
582
582
 
583
583
  ##
584
584
  # The number of paths in the +$LOAD_PATH+ from activated gems. Used to
585
- # prioritize +-I+ and +ENV['RUBYLIB']+ entries during +require+.
585
+ # prioritize +-I+ and <code>ENV['RUBYLIB']</code> entries during +require+.
586
586
 
587
587
  def self.activated_gem_paths
588
588
  @activated_gem_paths ||= 0
@@ -809,7 +809,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
809
809
  if @ruby.nil?
810
810
  @ruby = RbConfig.ruby
811
811
 
812
- @ruby = "\"#{@ruby}\"" if @ruby =~ /\s/
812
+ @ruby = "\"#{@ruby}\"" if /\s/.match?(@ruby)
813
813
  end
814
814
 
815
815
  @ruby
@@ -914,7 +914,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
914
914
  # Glob pattern for require-able path suffixes.
915
915
 
916
916
  def self.suffix_pattern
917
- @suffix_pattern ||= "{#{suffixes.join(',')}}"
917
+ @suffix_pattern ||= "{#{suffixes.join(",")}}"
918
918
  end
919
919
 
920
920
  ##
@@ -1023,7 +1023,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1023
1023
  # Skip older versions of the GemCutter plugin: Its commands are in
1024
1024
  # RubyGems proper now.
1025
1025
 
1026
- next if plugin =~ /gemcutter-0\.[0-3]/
1026
+ next if /gemcutter-0\.[0-3]/.match?(plugin)
1027
1027
 
1028
1028
  begin
1029
1029
  load plugin
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.4.20"
5
+ s.version = "3.4.22"
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
 
data/setup.rb CHANGED
@@ -7,6 +7,8 @@
7
7
  # See LICENSE.txt for permissions.
8
8
  #++
9
9
 
10
+ abort "RubyGems only supports Ruby 2.6 or higher" if RUBY_VERSION < "2.6.0"
11
+
10
12
  # Make sure rubygems isn't already loaded.
11
13
  if ENV["RUBYOPT"] || defined? Gem
12
14
  ENV.delete "RUBYOPT"
@@ -384,8 +384,10 @@ You may need to `bundle install` to install missing gems
384
384
  end
385
385
 
386
386
  def with_path_and_rubyopt(path_value, rubyopt_value)
387
- path, ENV["PATH"] = ENV["PATH"], path_value
388
- rubyopt, ENV["RUBYOPT"] = ENV["RUBYOPT"], rubyopt_value
387
+ path = ENV["PATH"]
388
+ ENV["PATH"] = path_value
389
+ rubyopt = ENV["RUBYOPT"]
390
+ ENV["RUBYOPT"] = rubyopt_value
389
391
 
390
392
  yield
391
393
  ensure
@@ -394,7 +396,8 @@ You may need to `bundle install` to install missing gems
394
396
  end
395
397
 
396
398
  def with_rubygems_gemdeps(value)
397
- rubygems_gemdeps, ENV["RUBYGEMS_GEMDEPS"] = ENV["RUBYGEMS_GEMDEPS"], value
399
+ rubygems_gemdeps = ENV["RUBYGEMS_GEMDEPS"]
400
+ ENV["RUBYGEMS_GEMDEPS"] = value
398
401
 
399
402
  yield
400
403
  ensure