rubygems-update 3.2.13 → 3.2.14

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 666dcbc545356912c49ba537a3964a73cf66167dae38bd44a1ef874c24939d09
4
- data.tar.gz: 63c0da17d148277c4d34d63354fda167768b64d1349a4cb9b4175c74f918a9f0
3
+ metadata.gz: 183f3b2ffdc6ae6ff74b07aa4fb847ce8dad2346d34053258d1f4a1dae58ee75
4
+ data.tar.gz: 65ebe08bd47e237947d6292a1d8bd8eacfdb02ba2ca0c49abbb46dfb5d4508ba
5
5
  SHA512:
6
- metadata.gz: 3d99946c2c1d0ce009b4864fa1ab4bde104e70ba20d9b859cb5ad377e83a969d420a3abbe517c91290b788a83b8886e0e1403de15177dd0d5bd0d53583737e73
7
- data.tar.gz: aa89692b9cdbb6c4220a6c51b3b0fdd07c2187ec1d71e83db17bd216ce26a1fc29912fff748409f44fbfff830dc998c888005c98851615369462de3a1ee5e620
6
+ metadata.gz: 6bab93bbd24b3fb753b6a2818cecaad7dffff505937f4a3a0625c9c6f8ccfcb1742d642fc74ab7e8aed5bc505aa18651aed3ced2e794efa0b0a758ac5fab50a8
7
+ data.tar.gz: 1a5c4126510e7dfb037e52f3da7a2cc815d14b925089ebf3aed4c120c95580a6e1e119fc3cc205bf320baf02cd140e3a2cd17499dd4b6c9b2747004654ae82bb
data/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ # 3.2.14 / 2021-03-08
2
+
3
+ ## Enhancements:
4
+
5
+ * Less wrapping of network errors. Pull request #4064 by deivid-rodriguez
6
+
7
+ ## Bug fixes:
8
+
9
+ * Revert addition of support for `musl` variants to restore graceful
10
+ fallback on Alpine. Pull request #4434 by deivid-rodriguez
11
+
1
12
  # 3.2.13 / 2021-03-03
2
13
 
3
14
  ## Bug fixes:
data/bundler/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ # 2.2.14 (March 8, 2021)
2
+
3
+ ## Security fixes:
4
+
5
+ - Lock GEM sources separately and fix locally installed specs confusing bundler [#4381](https://github.com/rubygems/rubygems/pull/4381)
6
+
7
+ ## Bug fixes:
8
+
9
+ - Make `rake` available to other gems' installers right after it's installed [#4428](https://github.com/rubygems/rubygems/pull/4428)
10
+ - Fix encoding issue on compact index updater [#4362](https://github.com/rubygems/rubygems/pull/4362)
11
+
1
12
  # 2.2.13 (March 3, 2021)
2
13
 
3
14
  ## Enhancements:
@@ -4,8 +4,8 @@ module Bundler
4
4
  # Represents metadata from when the Bundler gem was built.
5
5
  module BuildMetadata
6
6
  # begin ivars
7
- @built_at = "2021-03-03".freeze
8
- @git_commit_sha = "9b15ab18c4".freeze
7
+ @built_at = "2021-03-08".freeze
8
+ @git_commit_sha = "3a169d80c1".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -54,7 +54,7 @@ module Bundler
54
54
  if response.is_a?(Net::HTTPPartialContent) && local_temp_path.size.nonzero?
55
55
  local_temp_path.open("a") {|f| f << slice_body(content, 1..-1) }
56
56
  else
57
- local_temp_path.open("w") {|f| f << content }
57
+ local_temp_path.open("wb") {|f| f << content }
58
58
  end
59
59
  end
60
60
 
@@ -106,6 +106,17 @@ module Bundler
106
106
  @locked_platforms = []
107
107
  end
108
108
 
109
+ @locked_gem_sources = @locked_sources.select {|s| s.is_a?(Source::Rubygems) }
110
+ @disable_multisource = @locked_gem_sources.all?(&:disable_multisource?)
111
+
112
+ unless @disable_multisource
113
+ msg = "Your lockfile contains a single rubygems source section with multiple remotes, which is insecure. You should run `bundle update` or generate your lockfile from scratch."
114
+
115
+ Bundler::SharedHelpers.major_deprecation 2, msg
116
+
117
+ @sources.merged_gem_lockfile_sections!
118
+ end
119
+
109
120
  @unlock[:gems] ||= []
110
121
  @unlock[:sources] ||= []
111
122
  @unlock[:ruby] ||= if @ruby_version && locked_ruby_version_object
@@ -145,6 +156,10 @@ module Bundler
145
156
  end
146
157
  end
147
158
 
159
+ def disable_multisource?
160
+ @disable_multisource
161
+ end
162
+
148
163
  def resolve_with_cache!
149
164
  raise "Specs already loaded" if @specs
150
165
  sources.cached!
@@ -530,6 +545,9 @@ module Bundler
530
545
  attr_reader :sources
531
546
  private :sources
532
547
 
548
+ attr_reader :locked_gem_sources
549
+ private :locked_gem_sources
550
+
533
551
  def nothing_changed?
534
552
  !@source_changes && !@dependency_changes && !@new_platform && !@path_changes && !@local_changes && !@locked_specs_incomplete_for_platform
535
553
  end
@@ -654,10 +672,8 @@ module Bundler
654
672
  end
655
673
 
656
674
  def converge_rubygems_sources
657
- return false if Bundler.feature_flag.disable_multisource?
675
+ return false if disable_multisource?
658
676
 
659
- # Get the RubyGems sources from the Gemfile.lock
660
- locked_gem_sources = @locked_sources.select {|s| s.is_a?(Source::Rubygems) }
661
677
  return false if locked_gem_sources.empty?
662
678
 
663
679
  # Get the RubyGems remotes from the Gemfile
@@ -460,19 +460,16 @@ repo_name ||= user_name
460
460
  @sources.add_rubygems_remote(source)
461
461
  end
462
462
 
463
- if Bundler.feature_flag.disable_multisource?
463
+ if Bundler.feature_flag.bundler_3_mode?
464
464
  msg = "This Gemfile contains multiple primary sources. " \
465
465
  "Each source after the first must include a block to indicate which gems " \
466
- "should come from that source. To downgrade this error to a warning, run " \
467
- "`bundle config unset disable_multisource`"
466
+ "should come from that source"
468
467
  raise GemfileEvalError, msg
469
468
  else
470
469
  Bundler::SharedHelpers.major_deprecation 2, "Your Gemfile contains multiple primary sources. " \
471
470
  "Using `source` more than once without a block is a security risk, and " \
472
471
  "may result in installing unexpected gems. To resolve this warning, use " \
473
- "a block to indicate which gems should come from the secondary source. " \
474
- "To upgrade this warning to an error, run `bundle config set --local " \
475
- "disable_multisource true`."
472
+ "a block to indicate which gems should come from the secondary source."
476
473
  end
477
474
  end
478
475
 
@@ -27,13 +27,8 @@ module Bundler
27
27
  state == :failed
28
28
  end
29
29
 
30
- def installation_attempted?
31
- installed? || failed?
32
- end
33
-
34
- # Only true when spec in neither installed nor already enqueued
35
30
  def ready_to_enqueue?
36
- !enqueued? && !installation_attempted?
31
+ state == :none
37
32
  end
38
33
 
39
34
  def has_post_install_message?
@@ -93,6 +88,11 @@ module Bundler
93
88
  def call
94
89
  check_for_corrupt_lockfile
95
90
 
91
+ if @rake
92
+ do_install(@rake, 0)
93
+ Gem::Specification.reset
94
+ end
95
+
96
96
  if @size > 1
97
97
  install_with_worker
98
98
  else
@@ -217,8 +217,6 @@ module Bundler
217
217
  # are installed.
218
218
  def enqueue_specs
219
219
  @specs.select(&:ready_to_enqueue?).each do |spec|
220
- next if @rake && !@rake.installed? && spec.name != @rake.name
221
-
222
220
  if spec.dependencies_installed? @specs
223
221
  spec.state = :enqueued
224
222
  worker_pool.enq spec
@@ -131,18 +131,8 @@ module Bundler
131
131
  @sources << @current_source
132
132
  end
133
133
  when GEM
134
- source_remotes = Array(@opts["remote"])
135
-
136
- if source_remotes.size == 1
137
- @opts["remotes"] = @opts.delete("remote")
138
- @current_source = TYPES[@type].from_lock(@opts)
139
- else
140
- source_remotes.each do |url|
141
- rubygems_aggregate.add_remote(url)
142
- end
143
- @current_source = rubygems_aggregate
144
- end
145
-
134
+ @opts["remotes"] = Array(@opts.delete("remote")).reverse
135
+ @current_source = TYPES[@type].from_lock(@opts)
146
136
  @sources << @current_source
147
137
  when PLUGIN
148
138
  @current_source = Plugin.source_from_lock(@opts)
@@ -245,9 +235,5 @@ module Bundler
245
235
  def parse_ruby(line)
246
236
  @ruby_version = line.strip
247
237
  end
248
-
249
- def rubygems_aggregate
250
- @rubygems_aggregate ||= Source::Rubygems.new
251
- end
252
238
  end
253
239
  end
@@ -140,6 +140,13 @@ module Bundler
140
140
  end
141
141
  end
142
142
 
143
+ # Set internal representation to fetch the gems/specs locally.
144
+ #
145
+ # When this is called, the source should try to fetch the specs and
146
+ # install from the local system.
147
+ def local!
148
+ end
149
+
143
150
  # Set internal representation to fetch the gems/specs from remote.
144
151
  #
145
152
  # When this is called, the source should try to fetch the specs and
@@ -33,6 +33,12 @@ module Bundler
33
33
  spec.source == self
34
34
  end
35
35
 
36
+ def local!; end
37
+
38
+ def cached!; end
39
+
40
+ def remote!; end
41
+
36
42
  # it's possible that gems from one source depend on gems from some
37
43
  # other source, so now we download gemspecs and iterate over those
38
44
  # dependencies, looking for gems we don't have info on yet.
@@ -33,10 +33,6 @@ module Bundler
33
33
  end
34
34
  end
35
35
 
36
- def cached!; end
37
-
38
- def remote!; end
39
-
40
36
  def options
41
37
  {}
42
38
  end
@@ -20,17 +20,29 @@ module Bundler
20
20
  @dependency_names = []
21
21
  @allow_remote = false
22
22
  @allow_cached = false
23
+ @allow_local = options["allow_local"] || false
23
24
  @caches = [cache_path, *Bundler.rubygems.gem_cache]
24
25
 
25
- Array(options["remotes"] || []).reverse_each {|r| add_remote(r) }
26
+ Array(options["remotes"]).reverse_each {|r| add_remote(r) }
27
+ end
28
+
29
+ def local!
30
+ return if @allow_local
31
+
32
+ @specs = nil
33
+ @allow_local = true
26
34
  end
27
35
 
28
36
  def remote!
37
+ return if @allow_remote
38
+
29
39
  @specs = nil
30
40
  @allow_remote = true
31
41
  end
32
42
 
33
43
  def cached!
44
+ return if @allow_cached
45
+
34
46
  @specs = nil
35
47
  @allow_cached = true
36
48
  end
@@ -49,8 +61,12 @@ module Bundler
49
61
  o.is_a?(Rubygems) && (o.credless_remotes - credless_remotes).empty?
50
62
  end
51
63
 
64
+ def disable_multisource?
65
+ @remotes.size <= 1
66
+ end
67
+
52
68
  def can_lock?(spec)
53
- return super if Bundler.feature_flag.disable_multisource?
69
+ return super if disable_multisource?
54
70
  spec.source.is_a?(Rubygems)
55
71
  end
56
72
 
@@ -87,7 +103,7 @@ module Bundler
87
103
  # small_idx.use large_idx.
88
104
  idx = @allow_remote ? remote_specs.dup : Index.new
89
105
  idx.use(cached_specs, :override_dupes) if @allow_cached || @allow_remote
90
- idx.use(installed_specs, :override_dupes)
106
+ idx.use(installed_specs, :override_dupes) if @allow_local
91
107
  idx
92
108
  end
93
109
  end
@@ -365,7 +381,7 @@ module Bundler
365
381
 
366
382
  def cached_specs
367
383
  @cached_specs ||= begin
368
- idx = installed_specs.dup
384
+ idx = @allow_local ? installed_specs.dup : Index.new
369
385
 
370
386
  Dir["#{cache_path}/*.gem"].each do |gemfile|
371
387
  next if gemfile =~ /^bundler\-[\d\.]+?\.gem/
@@ -9,7 +9,7 @@ module Bundler
9
9
  :metadata_source
10
10
 
11
11
  def global_rubygems_source
12
- @global_rubygems_source ||= rubygems_aggregate_class.new
12
+ @global_rubygems_source ||= rubygems_aggregate_class.new("allow_local" => true)
13
13
  end
14
14
 
15
15
  def initialize
@@ -20,6 +20,16 @@ module Bundler
20
20
  @global_path_source = nil
21
21
  @rubygems_sources = []
22
22
  @metadata_source = Source::Metadata.new
23
+
24
+ @disable_multisource = true
25
+ end
26
+
27
+ def disable_multisource?
28
+ @disable_multisource
29
+ end
30
+
31
+ def merged_gem_lockfile_sections!
32
+ @disable_multisource = false
23
33
  end
24
34
 
25
35
  def add_path_source(options = {})
@@ -47,7 +57,7 @@ module Bundler
47
57
  end
48
58
 
49
59
  def global_rubygems_source=(uri)
50
- @global_rubygems_source ||= rubygems_aggregate_class.new("remotes" => uri)
60
+ @global_rubygems_source ||= rubygems_aggregate_class.new("remotes" => uri, "allow_local" => true)
51
61
  end
52
62
 
53
63
  def add_rubygems_remote(uri)
@@ -77,7 +87,7 @@ module Bundler
77
87
 
78
88
  def lock_sources
79
89
  lock_sources = (path_sources + git_sources + plugin_sources).sort_by(&:to_s)
80
- if Bundler.feature_flag.disable_multisource?
90
+ if disable_multisource?
81
91
  lock_sources + rubygems_sources.sort_by(&:to_s)
82
92
  else
83
93
  lock_sources << combine_rubygems_sources
@@ -94,7 +104,7 @@ module Bundler
94
104
  end
95
105
  end
96
106
 
97
- replacement_rubygems = !Bundler.feature_flag.disable_multisource? &&
107
+ replacement_rubygems = !disable_multisource? &&
98
108
  replacement_sources.detect {|s| s.is_a?(Source::Rubygems) }
99
109
  @global_rubygems_source = replacement_rubygems if replacement_rubygems
100
110
 
@@ -82,6 +82,7 @@ module Bundler
82
82
  materialized.map! do |s|
83
83
  next s unless s.is_a?(LazySpecification)
84
84
  s.source.dependency_names = deps if s.source.respond_to?(:dependency_names=)
85
+ s.source.local!
85
86
  spec = s.__materialize__
86
87
  unless spec
87
88
  unless missing_specs
@@ -102,6 +103,7 @@ module Bundler
102
103
  @specs.map do |s|
103
104
  next s unless s.is_a?(LazySpecification)
104
105
  s.source.dependency_names = names if s.source.respond_to?(:dependency_names=)
106
+ s.source.local!
105
107
  s.source.remote!
106
108
  spec = s.__materialize__
107
109
  raise GemNotFound, "Could not find #{s.full_name} in any of the sources" unless spec
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.2.13".freeze
4
+ VERSION = "2.2.14".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
data/lib/rubygems.rb CHANGED
@@ -8,7 +8,7 @@
8
8
  require 'rbconfig'
9
9
 
10
10
  module Gem
11
- VERSION = "3.2.13".freeze
11
+ VERSION = "3.2.14".freeze
12
12
  end
13
13
 
14
14
  # Must be first since it unloads the prelude from 1.9.2
@@ -66,7 +66,7 @@ class Gem::Platform
66
66
  when String then
67
67
  arch = arch.split '-'
68
68
 
69
- if arch.length > 2 and arch.last !~ /\d+(\.\d+)?$/ # reassemble x86-linux-{libc}
69
+ if arch.length > 2 and arch.last !~ /\d/ # reassemble x86-linux-gnu
70
70
  extra = arch.pop
71
71
  arch.last << "-#{extra}"
72
72
  end
@@ -146,8 +146,7 @@ class Gem::Platform
146
146
  ##
147
147
  # Does +other+ match this platform? Two platforms match if they have the
148
148
  # same CPU, or either has a CPU of 'universal', they have the same OS, and
149
- # they have the same version, or either has no version (except for 'linux'
150
- # where the version is the libc name, with no version standing for 'gnu')
149
+ # they have the same version, or either has no version.
151
150
  #
152
151
  # Additionally, the platform will match if the local CPU is 'arm' and the
153
152
  # other CPU starts with "arm" (for generic ARM family support).
@@ -163,10 +162,7 @@ class Gem::Platform
163
162
  @os == other.os and
164
163
 
165
164
  # version
166
- (
167
- (@os != 'linux' and (@version.nil? or other.version.nil?)) or
168
- @version == other.version
169
- )
165
+ (@version.nil? or other.version.nil? or @version == other.version)
170
166
  end
171
167
 
172
168
  ##
@@ -51,6 +51,7 @@ class Gem::RemoteFetcher
51
51
 
52
52
  class UnknownHostError < FetchError
53
53
  end
54
+ deprecate_constant(:UnknownHostError)
54
55
 
55
56
  @fetcher = nil
56
57
 
@@ -262,15 +263,9 @@ class Gem::RemoteFetcher
262
263
  end
263
264
 
264
265
  data
265
- rescue Timeout::Error
266
- raise UnknownHostError.new('timed out', uri)
267
- rescue IOError, SocketError, SystemCallError,
266
+ rescue Timeout::Error, IOError, SocketError, SystemCallError,
268
267
  *(OpenSSL::SSL::SSLError if Gem::HAVE_OPENSSL) => e
269
- if e.message =~ /getaddrinfo/
270
- raise UnknownHostError.new('no such name', uri)
271
- else
272
- raise FetchError.new("#{e.class}: #{e}", uri)
273
- end
268
+ raise FetchError.new("#{e.class}: #{e}", uri)
274
269
  end
275
270
 
276
271
  def fetch_s3(uri, mtime = nil, head = false)
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.2.13"
5
+ s.version = "3.2.14"
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
 
@@ -134,9 +134,7 @@ class TestGemPlatform < Gem::TestCase
134
134
  'i386-solaris2.8' => ['x86', 'solaris', '2.8'],
135
135
  'mswin32' => ['x86', 'mswin32', nil],
136
136
  'x86_64-linux' => ['x86_64', 'linux', nil],
137
- 'x86_64-linux-gnu' => ['x86_64', 'linux', nil],
138
137
  'x86_64-linux-musl' => ['x86_64', 'linux', 'musl'],
139
- 'x86_64-linux-uclibc' => ['x86_64', 'linux', 'uclibc'],
140
138
  'x86_64-openbsd3.9' => ['x86_64', 'openbsd', '3.9'],
141
139
  'x86_64-openbsd4.0' => ['x86_64', 'openbsd', '4.0'],
142
140
  'x86_64-openbsd' => ['x86_64', 'openbsd', nil],
@@ -145,7 +143,6 @@ class TestGemPlatform < Gem::TestCase
145
143
  test_cases.each do |arch, expected|
146
144
  platform = Gem::Platform.new arch
147
145
  assert_equal expected, platform.to_a, arch.inspect
148
- assert_equal expected, Gem::Platform.new(platform.to_s).to_a, arch.inspect
149
146
  end
150
147
  end
151
148
 
@@ -264,32 +261,6 @@ class TestGemPlatform < Gem::TestCase
264
261
  assert((with_x86_arch === with_nil_arch), 'x86 =~ nil')
265
262
  end
266
263
 
267
- def test_nil_version_is_treated_as_any_version
268
- x86_darwin_8 = Gem::Platform.new 'i686-darwin8.0'
269
- x86_darwin_nil = Gem::Platform.new 'i686-darwin'
270
-
271
- assert((x86_darwin_8 === x86_darwin_nil), '8.0 =~ nil')
272
- assert((x86_darwin_nil === x86_darwin_8), 'nil =~ 8.0')
273
- end
274
-
275
- def test_nil_version_is_stricter_for_linux_os
276
- x86_linux = Gem::Platform.new 'i686-linux'
277
- x86_linux_gnu = Gem::Platform.new 'i686-linux-gnu'
278
- x86_linux_musl = Gem::Platform.new 'i686-linux-musl'
279
- x86_linux_uclibc = Gem::Platform.new 'i686-linux-uclibc'
280
-
281
- assert((x86_linux === x86_linux_gnu), 'linux =~ linux-gnu')
282
- assert((x86_linux_gnu === x86_linux), 'linux-gnu =~ linux')
283
- assert(!(x86_linux_gnu === x86_linux_musl), 'linux-gnu =~ linux-musl')
284
- assert(!(x86_linux_musl === x86_linux_gnu), 'linux-musl =~ linux-gnu')
285
- assert(!(x86_linux_uclibc === x86_linux_musl), 'linux-uclibc =~ linux-musl')
286
- assert(!(x86_linux_musl === x86_linux_uclibc), 'linux-musl =~ linux-uclibc')
287
- assert(!(x86_linux === x86_linux_musl), 'linux =~ linux-musl')
288
- assert(!(x86_linux_musl === x86_linux), 'linux-musl =~ linux')
289
- assert(!(x86_linux === x86_linux_uclibc), 'linux =~ linux-uclibc')
290
- assert(!(x86_linux_uclibc === x86_linux), 'linux-uclibc =~ linux')
291
- end
292
-
293
264
  def test_equals3_cpu_arm
294
265
  arm = Gem::Platform.new 'arm-linux'
295
266
  armv5 = Gem::Platform.new 'armv5-linux'
@@ -496,6 +496,44 @@ PeIQQkFng2VVot/WAQbv3ePqWq07g1BBcwIBAg==
496
496
  assert_equal url, e.uri
497
497
  end
498
498
 
499
+ def test_fetch_path_timeout_error
500
+ fetcher = Gem::RemoteFetcher.new nil
501
+ @fetcher = fetcher
502
+
503
+ def fetcher.fetch_http(uri, mtime = nil, head = nil)
504
+ raise Timeout::Error, 'timed out'
505
+ end
506
+
507
+ url = 'http://example.com/uri'
508
+
509
+ e = assert_raises Gem::RemoteFetcher::FetchError do
510
+ fetcher.fetch_path url
511
+ end
512
+
513
+ assert_match %r{Timeout::Error: timed out \(#{Regexp.escape url}\)\z},
514
+ e.message
515
+ assert_equal url, e.uri
516
+ end
517
+
518
+ def test_fetch_path_getaddrinfo_error
519
+ fetcher = Gem::RemoteFetcher.new nil
520
+ @fetcher = fetcher
521
+
522
+ def fetcher.fetch_http(uri, mtime = nil, head = nil)
523
+ raise SocketError, 'getaddrinfo: nodename nor servname provided'
524
+ end
525
+
526
+ url = 'http://example.com/uri'
527
+
528
+ e = assert_raises Gem::RemoteFetcher::FetchError do
529
+ fetcher.fetch_path url
530
+ end
531
+
532
+ assert_match %r{SocketError: getaddrinfo: nodename nor servname provided \(#{Regexp.escape url}\)\z},
533
+ e.message
534
+ assert_equal url, e.uri
535
+ end
536
+
499
537
  def test_fetch_path_openssl_ssl_sslerror
500
538
  fetcher = Gem::RemoteFetcher.new nil
501
539
  @fetcher = fetcher
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-update
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.13
4
+ version: 3.2.14
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -16,7 +16,7 @@ authors:
16
16
  autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
- date: 2021-03-03 00:00:00.000000000 Z
19
+ date: 2021-03-08 00:00:00.000000000 Z
20
20
  dependencies: []
21
21
  description: |-
22
22
  A package (also known as a library) contains a set of functionality
@@ -768,7 +768,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
768
768
  - !ruby/object:Gem::Version
769
769
  version: '0'
770
770
  requirements: []
771
- rubygems_version: 3.2.13
771
+ rubygems_version: 3.2.14
772
772
  signing_key:
773
773
  specification_version: 4
774
774
  summary: RubyGems is a package management framework for Ruby.