rubygems-update 3.4.19 → 3.4.20

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/bundler/CHANGELOG.md +29 -0
  4. data/bundler/lib/bundler/build_metadata.rb +2 -2
  5. data/bundler/lib/bundler/cli/info.rb +1 -1
  6. data/bundler/lib/bundler/cli/update.rb +1 -0
  7. data/bundler/lib/bundler/fetcher/base.rb +2 -2
  8. data/bundler/lib/bundler/fetcher/compact_index.rb +1 -5
  9. data/bundler/lib/bundler/fetcher/dependency.rb +1 -1
  10. data/bundler/lib/bundler/fetcher.rb +31 -30
  11. data/bundler/lib/bundler/index.rb +62 -31
  12. data/bundler/lib/bundler/installer/standalone.rb +8 -1
  13. data/bundler/lib/bundler/lockfile_parser.rb +3 -15
  14. data/bundler/lib/bundler/man/gemfile.5 +11 -0
  15. data/bundler/lib/bundler/man/gemfile.5.ronn +5 -0
  16. data/bundler/lib/bundler/plugin.rb +1 -1
  17. data/bundler/lib/bundler/resolver.rb +18 -3
  18. data/bundler/lib/bundler/retry.rb +1 -1
  19. data/bundler/lib/bundler/ruby_dsl.rb +23 -2
  20. data/bundler/lib/bundler/self_manager.rb +2 -0
  21. data/bundler/lib/bundler/settings.rb +37 -13
  22. data/bundler/lib/bundler/source/git/git_proxy.rb +14 -2
  23. data/bundler/lib/bundler/source/rubygems.rb +22 -25
  24. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +1 -1
  25. data/bundler/lib/bundler/version.rb +1 -1
  26. data/lib/rubygems/available_set.rb +1 -1
  27. data/lib/rubygems/basic_specification.rb +2 -2
  28. data/lib/rubygems/command.rb +16 -19
  29. data/lib/rubygems/commands/cert_command.rb +1 -1
  30. data/lib/rubygems/commands/dependency_command.rb +3 -4
  31. data/lib/rubygems/commands/owner_command.rb +8 -10
  32. data/lib/rubygems/commands/uninstall_command.rb +6 -7
  33. data/lib/rubygems/commands/unpack_command.rb +4 -6
  34. data/lib/rubygems/config_file.rb +1 -1
  35. data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
  36. data/lib/rubygems/core_ext/kernel_warn.rb +4 -5
  37. data/lib/rubygems/dependency_installer.rb +8 -12
  38. data/lib/rubygems/deprecate.rb +2 -2
  39. data/lib/rubygems/gemcutter_utilities.rb +2 -2
  40. data/lib/rubygems/installer.rb +9 -11
  41. data/lib/rubygems/name_tuple.rb +1 -1
  42. data/lib/rubygems/package/tar_reader/entry.rb +18 -20
  43. data/lib/rubygems/package/tar_reader.rb +0 -5
  44. data/lib/rubygems/package.rb +10 -4
  45. data/lib/rubygems/query_utils.rb +1 -1
  46. data/lib/rubygems/request_set/gem_dependency_api.rb +1 -1
  47. data/lib/rubygems/resolver/activation_request.rb +2 -4
  48. data/lib/rubygems/resolver/installed_specification.rb +1 -1
  49. data/lib/rubygems/resolver/local_specification.rb +1 -1
  50. data/lib/rubygems/s3_uri_signer.rb +1 -1
  51. data/lib/rubygems/security/trust_dir.rb +4 -6
  52. data/lib/rubygems/security.rb +1 -1
  53. data/lib/rubygems/source/local.rb +34 -37
  54. data/lib/rubygems/source.rb +2 -2
  55. data/lib/rubygems/source_list.rb +2 -2
  56. data/lib/rubygems/spec_fetcher.rb +29 -33
  57. data/lib/rubygems/specification.rb +34 -26
  58. data/lib/rubygems/specification_policy.rb +33 -32
  59. data/lib/rubygems/stub_specification.rb +13 -10
  60. data/lib/rubygems/uninstaller.rb +1 -1
  61. data/lib/rubygems/user_interaction.rb +2 -2
  62. data/lib/rubygems/util/licenses.rb +115 -0
  63. data/lib/rubygems/validator.rb +5 -7
  64. data/lib/rubygems.rb +5 -7
  65. data/rubygems-update.gemspec +1 -1
  66. data/test/rubygems/helper.rb +17 -19
  67. data/test/rubygems/test_gem.rb +4 -4
  68. data/test/rubygems/test_gem_commands_build_command.rb +2 -1
  69. data/test/rubygems/test_gem_commands_stale_command.rb +1 -1
  70. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +28 -12
  71. data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +1 -1
  72. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +16 -14
  73. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  74. data/test/rubygems/test_gem_indexer.rb +1 -1
  75. data/test/rubygems/test_gem_package.rb +117 -2
  76. data/test/rubygems/test_gem_package_tar_header.rb +7 -7
  77. data/test/rubygems/test_gem_package_tar_reader_entry.rb +53 -1
  78. data/test/rubygems/test_gem_package_tar_writer.rb +13 -13
  79. data/test/rubygems/test_gem_remote_fetcher.rb +21 -25
  80. data/test/rubygems/test_gem_requirement.rb +1 -1
  81. data/test/rubygems/test_gem_specification.rb +42 -6
  82. data/test/rubygems/test_gem_update_suggestion.rb +14 -20
  83. data/test/rubygems/test_require.rb +4 -6
  84. data/test/rubygems/utilities.rb +2 -2
  85. metadata +3 -3
@@ -127,7 +127,7 @@ class Gem::SpecificationPolicy
127
127
 
128
128
  metadata.each do |key, value|
129
129
  entry = "metadata['#{key}']"
130
- if !key.kind_of?(String)
130
+ unless key.is_a?(String)
131
131
  error "metadata keys must be a String"
132
132
  end
133
133
 
@@ -135,7 +135,7 @@ class Gem::SpecificationPolicy
135
135
  error "metadata key is too large (#{key.size} > 128)"
136
136
  end
137
137
 
138
- if !value.kind_of?(String)
138
+ unless value.is_a?(String)
139
139
  error "#{entry} value must be a String"
140
140
  end
141
141
 
@@ -143,10 +143,9 @@ class Gem::SpecificationPolicy
143
143
  error "#{entry} value is too large (#{value.size} > 1024)"
144
144
  end
145
145
 
146
- if METADATA_LINK_KEYS.include? key
147
- if value !~ VALID_URI_PATTERN
148
- error "#{entry} has invalid link: #{value.inspect}"
149
- end
146
+ next unless METADATA_LINK_KEYS.include? key
147
+ if value !~ VALID_URI_PATTERN
148
+ error "#{entry} has invalid link: #{value.inspect}"
150
149
  end
151
150
  end
152
151
  end
@@ -198,28 +197,27 @@ duplicate dependency on #{dep}, (#{prev.requirement}) use:
198
197
  !version.prerelease? && (op == ">" || op == ">=")
199
198
  end
200
199
 
201
- if open_ended
202
- op, dep_version = dep.requirement.requirements.first
203
-
204
- segments = dep_version.segments
200
+ next unless open_ended
201
+ op, dep_version = dep.requirement.requirements.first
205
202
 
206
- base = segments.first 2
203
+ segments = dep_version.segments
207
204
 
208
- recommendation = if (op == ">" || op == ">=") && segments == [0]
209
- " use a bounded requirement, such as '~> x.y'"
210
- else
211
- bugfix = if op == ">"
212
- ", '> #{dep_version}'"
213
- elsif op == ">=" && base != segments
214
- ", '>= #{dep_version}'"
215
- end
205
+ base = segments.first 2
216
206
 
217
- " if #{dep.name} is semantically versioned, use:\n" \
218
- " add_#{dep.type}_dependency '#{dep.name}', '~> #{base.join '.'}'#{bugfix}"
207
+ recommendation = if (op == ">" || op == ">=") && segments == [0]
208
+ " use a bounded requirement, such as '~> x.y'"
209
+ else
210
+ bugfix = if op == ">"
211
+ ", '> #{dep_version}'"
212
+ elsif op == ">=" && base != segments
213
+ ", '>= #{dep_version}'"
219
214
  end
220
215
 
221
- warning_messages << ["open-ended dependency on #{dep} is not recommended", recommendation].join("\n") + "\n"
216
+ " if #{dep.name} is semantically versioned, use:\n" \
217
+ " add_#{dep.type}_dependency '#{dep.name}', '~> #{base.join '.'}'#{bugfix}"
222
218
  end
219
+
220
+ warning_messages << ["open-ended dependency on #{dep} is not recommended", recommendation].join("\n") + "\n"
223
221
  end
224
222
  if warning_messages.any?
225
223
  warning_messages.each {|warning_message| warning warning_message }
@@ -345,7 +343,7 @@ duplicate dependency on #{dep}, (#{prev.requirement}) use:
345
343
  String
346
344
  end
347
345
 
348
- unless Array === val && val.all? {|x| x.kind_of?(klass) }
346
+ unless Array === val && val.all? {|x| x.is_a?(klass) || (field == :licenses && x.nil?) }
349
347
  error "#{field} must be an Array of #{klass}"
350
348
  end
351
349
  end
@@ -360,6 +358,8 @@ duplicate dependency on #{dep}, (#{prev.requirement}) use:
360
358
  licenses = @specification.licenses
361
359
 
362
360
  licenses.each do |license|
361
+ next if license.nil?
362
+
363
363
  if license.length > 64
364
364
  error "each license must be 64 characters or less"
365
365
  end
@@ -370,20 +370,21 @@ duplicate dependency on #{dep}, (#{prev.requirement}) use:
370
370
  licenses = @specification.licenses
371
371
 
372
372
  licenses.each do |license|
373
- if !Gem::Licenses.match?(license)
374
- suggestions = Gem::Licenses.suggestions(license)
375
- message = <<-WARNING
373
+ next if Gem::Licenses.match?(license) || license.nil?
374
+ suggestions = Gem::Licenses.suggestions(license)
375
+ message = <<-WARNING
376
376
  license value '#{license}' is invalid. Use a license identifier from
377
- http://spdx.org/licenses or '#{Gem::Licenses::NONSTANDARD}' for a nonstandard license.
378
- WARNING
379
- message += "Did you mean #{suggestions.map {|s| "'#{s}'" }.join(', ')}?\n" unless suggestions.nil?
380
- warning(message)
381
- end
377
+ http://spdx.org/licenses or '#{Gem::Licenses::NONSTANDARD}' for a nonstandard license,
378
+ or set it to nil if you don't want to specify a license.
379
+ WARNING
380
+ message += "Did you mean #{suggestions.map {|s| "'#{s}'" }.join(', ')}?\n" unless suggestions.nil?
381
+ warning(message)
382
382
  end
383
383
 
384
384
  warning <<-WARNING if licenses.empty?
385
385
  licenses is empty, but is recommended. Use a license identifier from
386
- http://spdx.org/licenses or '#{Gem::Licenses::NONSTANDARD}' for a nonstandard license.
386
+ http://spdx.org/licenses or '#{Gem::Licenses::NONSTANDARD}' for a nonstandard license,
387
+ or set it to nil if you don't want to specify a license.
387
388
  WARNING
388
389
  end
389
390
 
@@ -35,7 +35,7 @@ class Gem::StubSpecification < Gem::BasicSpecification
35
35
 
36
36
  def initialize(data, extensions)
37
37
  parts = data[PREFIX.length..-1].split(" ", 4)
38
- @name = parts[0].freeze
38
+ @name = -parts[0]
39
39
  @version = if Gem::Version.correct?(parts[1])
40
40
  Gem::Version.new(parts[1])
41
41
  else
@@ -112,20 +112,23 @@ class Gem::StubSpecification < Gem::BasicSpecification
112
112
  saved_lineno = $.
113
113
 
114
114
  Gem.open_file loaded_from, OPEN_MODE do |file|
115
- begin
116
- file.readline # discard encoding line
117
- stubline = file.readline.chomp
118
- if stubline.start_with?(PREFIX)
119
- extensions = if /\A#{PREFIX}/ =~ file.readline.chomp
120
- $'.split "\0"
115
+ file.readline # discard encoding line
116
+ stubline = file.readline
117
+ if stubline.start_with?(PREFIX)
118
+ extline = file.readline
119
+
120
+ extensions =
121
+ if extline.delete_prefix!(PREFIX)
122
+ extline.chomp!
123
+ extline.split "\0"
121
124
  else
122
125
  StubLine::NO_EXTENSIONS
123
126
  end
124
127
 
125
- @data = StubLine.new stubline, extensions
126
- end
127
- rescue EOFError
128
+ stubline.chomp! # readline(chomp: true) allocates 3x as much as .readline.chomp!
129
+ @data = StubLine.new stubline, extensions
128
130
  end
131
+ rescue EOFError
129
132
  end
130
133
  ensure
131
134
  $. = saved_lineno
@@ -135,7 +135,7 @@ class Gem::Uninstaller
135
135
 
136
136
  if index == list.size
137
137
  remove_all list
138
- elsif index >= 0 && index < list.size
138
+ elsif index && index >= 0 && index < list.size
139
139
  uninstall_gem list[index]
140
140
  else
141
141
  say "Error: must enter a number [1-#{list.size + 1}]"
@@ -286,7 +286,7 @@ class Gem::StreamUI
286
286
  # Ask a question. Returns an answer if connected to a tty, nil otherwise.
287
287
 
288
288
  def ask(question)
289
- return nil if !tty?
289
+ return nil unless tty?
290
290
 
291
291
  @outs.print(question + " ")
292
292
  @outs.flush
@@ -300,7 +300,7 @@ class Gem::StreamUI
300
300
  # Ask for a password. Does not echo response to terminal.
301
301
 
302
302
  def ask_for_password(question)
303
- return nil if !tty?
303
+ return nil unless tty?
304
304
 
305
305
  @outs.print(question, " ")
306
306
  @outs.flush
@@ -1,5 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ # This is generated by generate_spdx_license_list.rb, any edits to this
4
+ # file will be discarded.
5
+
3
6
  require_relative "../text"
4
7
 
5
8
  class Gem::Licenses
@@ -36,7 +39,10 @@ class Gem::Licenses
36
39
  APSL-1.1
37
40
  APSL-1.2
38
41
  APSL-2.0
42
+ ASWF-Digital-Assets-1.0
43
+ ASWF-Digital-Assets-1.1
39
44
  Abstyles
45
+ AdaCore-doc
40
46
  Adobe-2006
41
47
  Adobe-Glyph
42
48
  Afmparse
@@ -44,6 +50,8 @@ class Gem::Licenses
44
50
  Apache-1.0
45
51
  Apache-1.1
46
52
  Apache-2.0
53
+ App-s2p
54
+ Arphic-1999
47
55
  Artistic-1.0
48
56
  Artistic-1.0-Perl
49
57
  Artistic-1.0-cl8
@@ -67,17 +75,26 @@ class Gem::Licenses
67
75
  BSD-4-Clause
68
76
  BSD-4-Clause-Shortened
69
77
  BSD-4-Clause-UC
78
+ BSD-4.3RENO
79
+ BSD-4.3TAHOE
80
+ BSD-Advertising-Acknowledgement
81
+ BSD-Attribution-HPND-disclaimer
70
82
  BSD-Protection
71
83
  BSD-Source-Code
72
84
  BSL-1.0
73
85
  BUSL-1.1
86
+ Baekmuk
74
87
  Bahyph
75
88
  Barr
76
89
  Beerware
77
90
  BitTorrent-1.0
78
91
  BitTorrent-1.1
92
+ Bitstream-Charter
93
+ Bitstream-Vera
79
94
  BlueOak-1.0.0
95
+ Boehm-GC
80
96
  Borceux
97
+ Brian-Gladman-3-Clause
81
98
  C-UDA-1.0
82
99
  CAL-1.0
83
100
  CAL-1.0-Combined-Work-Exception
@@ -85,30 +102,42 @@ class Gem::Licenses
85
102
  CC-BY-1.0
86
103
  CC-BY-2.0
87
104
  CC-BY-2.5
105
+ CC-BY-2.5-AU
88
106
  CC-BY-3.0
89
107
  CC-BY-3.0-AT
108
+ CC-BY-3.0-DE
109
+ CC-BY-3.0-IGO
110
+ CC-BY-3.0-NL
90
111
  CC-BY-3.0-US
91
112
  CC-BY-4.0
92
113
  CC-BY-NC-1.0
93
114
  CC-BY-NC-2.0
94
115
  CC-BY-NC-2.5
95
116
  CC-BY-NC-3.0
117
+ CC-BY-NC-3.0-DE
96
118
  CC-BY-NC-4.0
97
119
  CC-BY-NC-ND-1.0
98
120
  CC-BY-NC-ND-2.0
99
121
  CC-BY-NC-ND-2.5
100
122
  CC-BY-NC-ND-3.0
123
+ CC-BY-NC-ND-3.0-DE
101
124
  CC-BY-NC-ND-3.0-IGO
102
125
  CC-BY-NC-ND-4.0
103
126
  CC-BY-NC-SA-1.0
104
127
  CC-BY-NC-SA-2.0
128
+ CC-BY-NC-SA-2.0-DE
129
+ CC-BY-NC-SA-2.0-FR
130
+ CC-BY-NC-SA-2.0-UK
105
131
  CC-BY-NC-SA-2.5
106
132
  CC-BY-NC-SA-3.0
133
+ CC-BY-NC-SA-3.0-DE
134
+ CC-BY-NC-SA-3.0-IGO
107
135
  CC-BY-NC-SA-4.0
108
136
  CC-BY-ND-1.0
109
137
  CC-BY-ND-2.0
110
138
  CC-BY-ND-2.5
111
139
  CC-BY-ND-3.0
140
+ CC-BY-ND-3.0-DE
112
141
  CC-BY-ND-4.0
113
142
  CC-BY-SA-1.0
114
143
  CC-BY-SA-2.0
@@ -117,6 +146,8 @@ class Gem::Licenses
117
146
  CC-BY-SA-2.5
118
147
  CC-BY-SA-3.0
119
148
  CC-BY-SA-3.0-AT
149
+ CC-BY-SA-3.0-DE
150
+ CC-BY-SA-3.0-IGO
120
151
  CC-BY-SA-4.0
121
152
  CC-PDDC
122
153
  CC0-1.0
@@ -124,6 +155,7 @@ class Gem::Licenses
124
155
  CDDL-1.1
125
156
  CDL-1.0
126
157
  CDLA-Permissive-1.0
158
+ CDLA-Permissive-2.0
127
159
  CDLA-Sharing-1.0
128
160
  CECILL-1.0
129
161
  CECILL-1.1
@@ -136,20 +168,27 @@ class Gem::Licenses
136
168
  CERN-OHL-P-2.0
137
169
  CERN-OHL-S-2.0
138
170
  CERN-OHL-W-2.0
171
+ CFITSIO
172
+ CMU-Mach
139
173
  CNRI-Jython
140
174
  CNRI-Python
141
175
  CNRI-Python-GPL-Compatible
176
+ COIL-1.0
142
177
  CPAL-1.0
143
178
  CPL-1.0
144
179
  CPOL-1.02
145
180
  CUA-OPL-1.0
146
181
  Caldera
147
182
  ClArtistic
183
+ Clips
184
+ Community-Spec-1.0
148
185
  Condor-1.1
186
+ Cornell-Lossless-JPEG
149
187
  Crossword
150
188
  CrystalStacker
151
189
  Cube
152
190
  D-FSL-1.0
191
+ DL-DE-BY-2.0
153
192
  DOC
154
193
  DRL-1.0
155
194
  DSDP
@@ -165,12 +204,15 @@ class Gem::Licenses
165
204
  EUPL-1.0
166
205
  EUPL-1.1
167
206
  EUPL-1.2
207
+ Elastic-2.0
168
208
  Entessa
169
209
  ErlPL-1.1
170
210
  Eurosym
211
+ FDK-AAC
171
212
  FSFAP
172
213
  FSFUL
173
214
  FSFULLR
215
+ FSFULLRWD
174
216
  FTL
175
217
  Fair
176
218
  Frameworx-1.0
@@ -222,26 +264,38 @@ class Gem::Licenses
222
264
  Giftware
223
265
  Glide
224
266
  Glulxe
267
+ Graphics-Gems
268
+ HP-1986
225
269
  HPND
270
+ HPND-Markus-Kuhn
271
+ HPND-export-US
226
272
  HPND-sell-variant
273
+ HPND-sell-variant-MIT-disclaimer
227
274
  HTMLTIDY
228
275
  HaskellReport
229
276
  Hippocratic-2.1
230
277
  IBM-pibs
231
278
  ICU
279
+ IEC-Code-Components-EULA
232
280
  IJG
281
+ IJG-short
233
282
  IPA
234
283
  IPL-1.0
235
284
  ISC
236
285
  ImageMagick
237
286
  Imlib2
238
287
  Info-ZIP
288
+ Inner-Net-2.0
239
289
  Intel
240
290
  Intel-ACPI
241
291
  Interbase-1.0
292
+ JPL-image
242
293
  JPNIC
243
294
  JSON
295
+ Jam
244
296
  JasPer-2.0
297
+ Kazlib
298
+ Knuth-CTAN
245
299
  LAL-1.2
246
300
  LAL-1.3
247
301
  LGPL-2.0
@@ -257,6 +311,7 @@ class Gem::Licenses
257
311
  LGPL-3.0-only
258
312
  LGPL-3.0-or-later
259
313
  LGPLLR
314
+ LOOP
260
315
  LPL-1.0
261
316
  LPL-1.02
262
317
  LPPL-1.0
@@ -264,17 +319,26 @@ class Gem::Licenses
264
319
  LPPL-1.2
265
320
  LPPL-1.3a
266
321
  LPPL-1.3c
322
+ LZMA-SDK-9.11-to-9.20
323
+ LZMA-SDK-9.22
267
324
  Latex2e
325
+ Latex2e-translated-notice
268
326
  Leptonica
269
327
  LiLiQ-P-1.1
270
328
  LiLiQ-R-1.1
271
329
  LiLiQ-Rplus-1.1
272
330
  Libpng
273
331
  Linux-OpenIB
332
+ Linux-man-pages-1-para
333
+ Linux-man-pages-copyleft
334
+ Linux-man-pages-copyleft-2-para
335
+ Linux-man-pages-copyleft-var
274
336
  MIT
275
337
  MIT-0
276
338
  MIT-CMU
339
+ MIT-Festival
277
340
  MIT-Modern-Variant
341
+ MIT-Wu
278
342
  MIT-advertising
279
343
  MIT-enna
280
344
  MIT-feh
@@ -284,10 +348,13 @@ class Gem::Licenses
284
348
  MPL-1.1
285
349
  MPL-2.0
286
350
  MPL-2.0-no-copyleft-exception
351
+ MS-LPL
287
352
  MS-PL
288
353
  MS-RL
289
354
  MTLL
290
355
  MakeIndex
356
+ Martin-Birgmeier
357
+ Minpack
291
358
  MirOS
292
359
  Motosoto
293
360
  MulanPSL-1.0
@@ -300,9 +367,12 @@ class Gem::Licenses
300
367
  NCGL-UK-2.0
301
368
  NCSA
302
369
  NGPL
370
+ NICTA-1.0
303
371
  NIST-PD
304
372
  NIST-PD-fallback
373
+ NIST-Software
305
374
  NLOD-1.0
375
+ NLOD-2.0
306
376
  NLPL
307
377
  NOSL
308
378
  NPL-1.0
@@ -323,6 +393,7 @@ class Gem::Licenses
323
393
  OCLC-2.0
324
394
  ODC-By-1.0
325
395
  ODbL-1.0
396
+ OFFIS
326
397
  OFL-1.0
327
398
  OFL-1.0-RFN
328
399
  OFL-1.0-no-RFN
@@ -352,14 +423,18 @@ class Gem::Licenses
352
423
  OLDAP-2.6
353
424
  OLDAP-2.7
354
425
  OLDAP-2.8
426
+ OLFL-1.3
355
427
  OML
356
428
  OPL-1.0
429
+ OPL-UK-3.0
430
+ OPUBL-1.0
357
431
  OSET-PL-2.1
358
432
  OSL-1.0
359
433
  OSL-1.1
360
434
  OSL-2.0
361
435
  OSL-2.1
362
436
  OSL-3.0
437
+ OpenPBS-2.3
363
438
  OpenSSL
364
439
  PDDL-1.0
365
440
  PHP-3.0
@@ -372,7 +447,9 @@ class Gem::Licenses
372
447
  PolyForm-Small-Business-1.0.0
373
448
  PostgreSQL
374
449
  Python-2.0
450
+ Python-2.0.1
375
451
  QPL-1.0
452
+ QPL-1.0-INRIA-2004
376
453
  Qhull
377
454
  RHeCos-1.1
378
455
  RPL-1.1
@@ -387,6 +464,7 @@ class Gem::Licenses
387
464
  SGI-B-1.0
388
465
  SGI-B-1.1
389
466
  SGI-B-2.0
467
+ SGP4
390
468
  SHL-0.5
391
469
  SHL-0.51
392
470
  SISSL
@@ -400,6 +478,7 @@ class Gem::Licenses
400
478
  SSPL-1.0
401
479
  SWL
402
480
  Saxpath
481
+ SchemeReport
403
482
  Sendmail
404
483
  Sendmail-8.23
405
484
  SimPL-2.0
@@ -409,19 +488,27 @@ class Gem::Licenses
409
488
  Spencer-99
410
489
  StandardML-NJ
411
490
  SugarCRM-1.1.3
491
+ SunPro
492
+ Symlinks
412
493
  TAPR-OHL-1.0
413
494
  TCL
414
495
  TCP-wrappers
415
496
  TMate
416
497
  TORQUE-1.1
417
498
  TOSL
499
+ TPDL
500
+ TPL-1.0
501
+ TTWL
418
502
  TU-Berlin-1.0
419
503
  TU-Berlin-2.0
504
+ TermReadKey
505
+ UCAR
420
506
  UCL-1.0
421
507
  UPL-1.0
422
508
  Unicode-DFS-2015
423
509
  Unicode-DFS-2016
424
510
  Unicode-TOU
511
+ UnixCrypt
425
512
  Unlicense
426
513
  VOSTROM
427
514
  VSL-1.0
@@ -431,11 +518,15 @@ class Gem::Licenses
431
518
  W3C-20150513
432
519
  WTFPL
433
520
  Watcom-1.0
521
+ Widget-Workshop
434
522
  Wsuipa
435
523
  X11
524
+ X11-distribute-modifications-variant
436
525
  XFree86-1.1
437
526
  XSkat
527
+ Xdebug-1.03
438
528
  Xerox
529
+ Xfig
439
530
  Xnet
440
531
  YPL-1.0
441
532
  YPL-1.1
@@ -450,10 +541,12 @@ class Gem::Licenses
450
541
  blessing
451
542
  bzip2-1.0.5
452
543
  bzip2-1.0.6
544
+ checkmk
453
545
  copyleft-next-0.3.0
454
546
  copyleft-next-0.3.1
455
547
  curl
456
548
  diffmark
549
+ dtoa
457
550
  dvipdfm
458
551
  eCos-2.0
459
552
  eGenix
@@ -464,11 +557,18 @@ class Gem::Licenses
464
557
  libpng-2.0
465
558
  libselinux-1.0
466
559
  libtiff
560
+ libutil-David-Nugent
561
+ metamail
562
+ mpi-permissive
467
563
  mpich2
564
+ mplus
468
565
  psfrag
469
566
  psutils
567
+ snprintf
568
+ w3m
470
569
  wxWindows
471
570
  xinetd
571
+ xlock
472
572
  xpp
473
573
  zlib-acknowledgement
474
574
  ].freeze
@@ -476,8 +576,11 @@ class Gem::Licenses
476
576
  # exception identifiers
477
577
  EXCEPTION_IDENTIFIERS = %w[
478
578
  389-exception
579
+ Asterisk-exception
479
580
  Autoconf-exception-2.0
480
581
  Autoconf-exception-3.0
582
+ Autoconf-exception-generic
583
+ Autoconf-exception-macro
481
584
  Bison-exception-2.2
482
585
  Bootloader-exception
483
586
  CLISP-exception-2.0
@@ -488,10 +591,16 @@ class Gem::Licenses
488
591
  Font-exception-2.0
489
592
  GCC-exception-2.0
490
593
  GCC-exception-3.1
594
+ GNAT-exception
595
+ GPL-3.0-interface-exception
491
596
  GPL-3.0-linking-exception
492
597
  GPL-3.0-linking-source-exception
493
598
  GPL-CC-1.0
599
+ GStreamer-exception-2005
600
+ GStreamer-exception-2008
601
+ KiCad-libraries-exception
494
602
  LGPL-3.0-linking-exception
603
+ LLGPL
495
604
  LLVM-exception
496
605
  LZMA-exception
497
606
  Libtool-exception
@@ -501,21 +610,27 @@ class Gem::Licenses
501
610
  OCaml-LGPL-linking-exception
502
611
  OpenJDK-assembly-exception-1.0
503
612
  PS-or-PDF-font-exception-20170817
613
+ QPL-1.0-INRIA-2004-exception
504
614
  Qt-GPL-exception-1.0
505
615
  Qt-LGPL-exception-1.1
506
616
  Qwt-exception-1.0
507
617
  SHL-2.0
508
618
  SHL-2.1
619
+ SWI-exception
509
620
  Swift-exception
510
621
  Universal-FOSS-exception-1.0
511
622
  WxWindows-exception-3.1
623
+ cryptsetup-OpenSSL-exception
512
624
  eCos-exception-2.0
513
625
  freertos-exception-2.0
514
626
  gnu-javamail-exception
515
627
  i2p-gpl-java-exception
628
+ libpri-OpenH323-exception
516
629
  mif-exception
517
630
  openvpn-openssl-exception
518
631
  u-boot-exception-2.0
632
+ vsftpd-openssl-exception
633
+ x11vnc-openssl-exception
519
634
  ].freeze
520
635
 
521
636
  REGEXP = %r{
@@ -108,15 +108,13 @@ class Gem::Validator
108
108
  end
109
109
 
110
110
  good.each do |entry, data|
111
- begin
112
- next unless data # HACK `gem check -a mkrf`
111
+ next unless data # HACK `gem check -a mkrf`
113
112
 
114
- source = File.join gem_directory, entry["path"]
113
+ source = File.join gem_directory, entry["path"]
115
114
 
116
- File.open source, Gem.binary_mode do |f|
117
- unless f.read == data
118
- errors[gem_name][entry["path"]] = "Modified from original"
119
- end
115
+ File.open source, Gem.binary_mode do |f|
116
+ unless f.read == data
117
+ errors[gem_name][entry["path"]] = "Modified from original"
120
118
  end
121
119
  end
122
120
  end
data/lib/rubygems.rb CHANGED
@@ -9,7 +9,7 @@
9
9
  require "rbconfig"
10
10
 
11
11
  module Gem
12
- VERSION = "3.4.19"
12
+ VERSION = "3.4.20"
13
13
  end
14
14
 
15
15
  # Must be first since it unloads the prelude from 1.9.2
@@ -1102,13 +1102,11 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
1102
1102
  require "bundler"
1103
1103
  begin
1104
1104
  Gem::DefaultUserInteraction.use_ui(ui) do
1105
- begin
1106
- Bundler.ui.silence do
1107
- @gemdeps = Bundler.setup
1108
- end
1109
- ensure
1110
- Gem::DefaultUserInteraction.ui.close
1105
+ Bundler.ui.silence do
1106
+ @gemdeps = Bundler.setup
1111
1107
  end
1108
+ ensure
1109
+ Gem::DefaultUserInteraction.ui.close
1112
1110
  end
1113
1111
  rescue Bundler::BundlerError => e
1114
1112
  warn e.message
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.4.19"
5
+ s.version = "3.4.20"
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