rubygems-update 3.3.12 → 3.3.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9314857143aa2b095c0028db4bbc09949f82782bd34c0d893d65deb6931945af
4
- data.tar.gz: a2d4832c42b5fa2849ff2d912c1b88fdbe7d0181fdddb8cf901e30c1f7930d33
3
+ metadata.gz: 9b84404a23be4d5c0d8b792e3be778b73d70e395391e7a29fb6e5202ccd7e932
4
+ data.tar.gz: cd324cb048ea993af5062c3be237860bceb0d8bc47fa0995b389dcc4894d388b
5
5
  SHA512:
6
- metadata.gz: 6e1db6cb3a120848b7888a4f1b93289386e16354028c72edae9b3db54024a80cc53b469112ee2e9fba2aeb9bdb741e3f67d5a146eeec096b916d3f189d9fdd16
7
- data.tar.gz: 9c295eacaa13320c41af660ef26d81440d07af5ceeef8a0e4ed426b6af9029a4f59897424d5e81519c6097384aa88afd4bf35cf4669784d27a1452a138da278c
6
+ metadata.gz: 266f47a145a701aa9ca021b4e7d4ad78df5ecc4d65fcf08b987da9928da87c20c7ae756beb2b462e0a3eb652cdbeb1cae70625449506281e264e8718db8be772
7
+ data.tar.gz: 770da1dba85ffa21b03002fbf0dd0227ce3bbe59d5e263dea4483e6fc752831c87d24b5dc0f59a8d255347403fbdb3d9852ae1378839d17cde9fb4d4a4d9ac6c
data/CHANGELOG.md CHANGED
@@ -1,3 +1,18 @@
1
+ # 3.3.13 / 2022-05-04
2
+
3
+ ## Enhancements:
4
+
5
+ * Installs bundler 2.3.13 as a default gem.
6
+
7
+ ## Bug fixes:
8
+
9
+ * Fix regression when resolving ruby constraints. Pull request #5486 by
10
+ deivid-rodriguez
11
+
12
+ ## Documentation:
13
+
14
+ * Clarify description of owner-flags. Pull request #5497 by kronn
15
+
1
16
  # 3.3.12 / 2022-04-20
2
17
 
3
18
  ## Enhancements:
data/bundler/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ # 2.3.13 (May 4, 2022)
2
+
3
+ ## Bug fixes:
4
+
5
+ - Fix missing required rubygems version when using old APIs [#5496](https://github.com/rubygems/rubygems/pull/5496)
6
+ - Fix crash when gem used twice in Gemfile under different platforms [#5187](https://github.com/rubygems/rubygems/pull/5187)
7
+
8
+ ## Performance:
9
+
10
+ - Speed up `bundler/setup` time [#5503](https://github.com/rubygems/rubygems/pull/5503)
11
+
1
12
  # 2.3.12 (April 20, 2022)
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 = "2022-04-20".freeze
8
- @git_commit_sha = "75031e03f4".freeze
7
+ @built_at = "2022-05-04".freeze
8
+ @git_commit_sha = "b20be5a433".freeze
9
9
  @release = true
10
10
  # end ivars
11
11
 
@@ -87,10 +87,11 @@ module Bundler
87
87
  @platforms = @locked_platforms.dup
88
88
  @locked_bundler_version = @locked_gems.bundler_version
89
89
  @locked_ruby_version = @locked_gems.ruby_version
90
+ @originally_locked_specs = SpecSet.new(@locked_gems.specs)
90
91
 
91
92
  if unlock != true
92
93
  @locked_deps = @locked_gems.dependencies
93
- @locked_specs = SpecSet.new(@locked_gems.specs)
94
+ @locked_specs = @originally_locked_specs
94
95
  @locked_sources = @locked_gems.sources
95
96
  else
96
97
  @unlock = {}
@@ -255,14 +256,14 @@ module Bundler
255
256
  # @return [SpecSet] resolved dependencies
256
257
  def resolve
257
258
  @resolve ||= begin
258
- last_resolve = converge_locked_specs
259
259
  if Bundler.frozen_bundle?
260
260
  Bundler.ui.debug "Frozen, using resolution from the lockfile"
261
- last_resolve
261
+ @locked_specs
262
262
  elsif !unlocking? && nothing_changed?
263
263
  Bundler.ui.debug("Found no changes, using resolution from the lockfile")
264
- last_resolve
264
+ SpecSet.new(filter_specs(@locked_specs, @dependencies.select{|dep| @locked_specs[dep].any? }))
265
265
  else
266
+ last_resolve = converge_locked_specs
266
267
  # Run a resolve against the locally available gems
267
268
  Bundler.ui.debug("Found changes from the lockfile, re-resolving dependencies because #{change_reason}")
268
269
  expanded_dependencies = expand_dependencies(dependencies + metadata_dependencies, true)
@@ -464,6 +465,10 @@ module Bundler
464
465
 
465
466
  private
466
467
 
468
+ def filter_specs(specs, deps)
469
+ SpecSet.new(specs).for(expand_dependencies(deps, true), false, false)
470
+ end
471
+
467
472
  def materialize(dependencies)
468
473
  specs = resolve.materialize(dependencies)
469
474
  missing_specs = specs.missing_specs
@@ -679,17 +684,17 @@ module Bundler
679
684
  end
680
685
 
681
686
  def converge_specs(specs)
682
- deps = []
683
687
  converged = []
688
+
689
+ deps = @dependencies.select do |dep|
690
+ specs[dep].any? {|s| s.satisfies?(dep) && (!dep.source || s.source.include?(dep.source)) }
691
+ end
692
+
684
693
  specs.each do |s|
685
694
  # Replace the locked dependency's source with the equivalent source from the Gemfile
686
695
  dep = @dependencies.find {|d| s.satisfies?(d) }
687
696
 
688
- if dep && (!dep.source || s.source.include?(dep.source))
689
- deps << dep
690
- end
691
-
692
- s.source = (dep && dep.source) || sources.get(s.source) || sources.default_source unless Bundler.frozen_bundle?
697
+ s.source = (dep && dep.source) || sources.get(s.source) || sources.default_source
693
698
 
694
699
  next if @unlock[:sources].include?(s.source.name)
695
700
 
@@ -726,8 +731,7 @@ module Bundler
726
731
  end
727
732
  end
728
733
 
729
- resolve = SpecSet.new(converged)
730
- SpecSet.new(resolve.for(expand_dependencies(deps, true), false, false).reject{|s| @unlock[:gems].include?(s.name) })
734
+ SpecSet.new(filter_specs(converged, deps).reject{|s| @unlock[:gems].include?(s.name) })
731
735
  end
732
736
 
733
737
  def metadata_dependencies
@@ -804,7 +808,7 @@ module Bundler
804
808
 
805
809
  def additional_base_requirements_for_resolve
806
810
  return [] unless @locked_gems && unlocking? && !sources.expired_sources?(@locked_gems.sources)
807
- converge_specs(@locked_gems.specs).map do |locked_spec|
811
+ converge_specs(@originally_locked_specs).map do |locked_spec|
808
812
  name = locked_spec.name
809
813
  dep = Gem::Dependency.new(name, ">= #{locked_spec.version}")
810
814
  DepProxy.get_proxy(dep, locked_spec.platform)
@@ -26,8 +26,11 @@ module Bundler
26
26
  @required_ruby_version ||= _remote_specification.required_ruby_version
27
27
  end
28
28
 
29
+ # A fallback is included because the original version of the specification
30
+ # API didn't include that field, so some marshalled specs in the index have it
31
+ # set to +nil+.
29
32
  def required_rubygems_version
30
- @required_rubygems_version ||= _remote_specification.required_rubygems_version
33
+ @required_rubygems_version ||= _remote_specification.required_rubygems_version || Gem::Requirement.default
31
34
  end
32
35
 
33
36
  def fetch_platform
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: false
2
2
 
3
3
  module Bundler
4
- VERSION = "2.3.12".freeze
4
+ VERSION = "2.3.13".freeze
5
5
 
6
6
  def self.bundler_major_version
7
7
  @bundler_major_version ||= VERSION.split(".").first.to_i
@@ -12,7 +12,12 @@ class Gem::Commands::OwnerCommand < Gem::Command
12
12
  def description # :nodoc:
13
13
  <<-EOF
14
14
  The owner command lets you add and remove owners of a gem on a push
15
- server (the default is https://rubygems.org).
15
+ server (the default is https://rubygems.org). Multiple owners can be
16
+ added or removed at the same time, if the flag is given multiple times.
17
+
18
+ The supported user identifiers are dependant on the push server.
19
+ For rubygems.org, both e-mail and handle are supported, even though the
20
+ user identifier field is called "email".
16
21
 
17
22
  The owner of a gem has the permission to push new versions, yank existing
18
23
  versions or edit the HTML page of the gem. Be careful of who you give push
@@ -35,11 +40,11 @@ permission to.
35
40
  add_otp_option
36
41
  defaults.merge! :add => [], :remove => []
37
42
 
38
- add_option '-a', '--add EMAIL', 'Add an owner' do |value, options|
43
+ add_option '-a', '--add NEW_OWNER', 'Add an owner by user identifier' do |value, options|
39
44
  options[:add] << value
40
45
  end
41
46
 
42
- add_option '-r', '--remove EMAIL', 'Remove an owner' do |value, options|
47
+ add_option '-r', '--remove OLD_OWNER', 'Remove an owner by user identifier' do |value, options|
43
48
  options[:remove] << value
44
49
  end
45
50
 
data/lib/rubygems.rb CHANGED
@@ -8,7 +8,7 @@
8
8
  require 'rbconfig'
9
9
 
10
10
  module Gem
11
- VERSION = "3.3.12".freeze
11
+ VERSION = "3.3.13".freeze
12
12
  end
13
13
 
14
14
  # Must be first since it unloads the prelude from 1.9.2
@@ -864,7 +864,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
864
864
  return @ruby_version if defined? @ruby_version
865
865
  version = RUBY_VERSION.dup
866
866
 
867
- if defined?(RUBY_DESCRIPTION)
867
+ unless defined?(RUBY_PATCHLEVEL) && RUBY_PATCHLEVEL != -1
868
868
  if RUBY_ENGINE == "ruby"
869
869
  desc = RUBY_DESCRIPTION[/\Aruby #{Regexp.quote(RUBY_VERSION)}([^ ]+) /, 1]
870
870
  else
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "rubygems-update"
5
- s.version = "3.3.12"
5
+ s.version = "3.3.13"
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
 
@@ -1098,22 +1098,24 @@ Also, a list:
1098
1098
  Zlib::Deflate.deflate data
1099
1099
  end
1100
1100
 
1101
- def util_set_RUBY_VERSION(version, revision = nil, description = nil, engine = "ruby", engine_version = nil)
1101
+ def util_set_RUBY_VERSION(version, patchlevel, revision, description, engine = "ruby", engine_version = nil)
1102
1102
  if Gem.instance_variables.include? :@ruby_version
1103
1103
  Gem.send :remove_instance_variable, :@ruby_version
1104
1104
  end
1105
1105
 
1106
1106
  @RUBY_VERSION = RUBY_VERSION
1107
+ @RUBY_PATCHLEVEL = RUBY_PATCHLEVEL if defined?(RUBY_PATCHLEVEL)
1107
1108
  @RUBY_REVISION = RUBY_REVISION if defined?(RUBY_REVISION)
1108
- @RUBY_DESCRIPTION = RUBY_DESCRIPTION if defined?(RUBY_DESCRIPTION)
1109
+ @RUBY_DESCRIPTION = RUBY_DESCRIPTION
1109
1110
  @RUBY_ENGINE = RUBY_ENGINE
1110
1111
  @RUBY_ENGINE_VERSION = RUBY_ENGINE_VERSION if defined?(RUBY_ENGINE_VERSION)
1111
1112
 
1112
1113
  util_clear_RUBY_VERSION
1113
1114
 
1114
1115
  Object.const_set :RUBY_VERSION, version
1115
- Object.const_set :RUBY_REVISION, revision if revision
1116
- Object.const_set :RUBY_DESCRIPTION, description if description
1116
+ Object.const_set :RUBY_PATCHLEVEL, patchlevel
1117
+ Object.const_set :RUBY_REVISION, revision
1118
+ Object.const_set :RUBY_DESCRIPTION, description
1117
1119
  Object.const_set :RUBY_ENGINE, engine
1118
1120
  Object.const_set :RUBY_ENGINE_VERSION, engine_version if engine_version
1119
1121
  end
@@ -1122,10 +1124,11 @@ Also, a list:
1122
1124
  util_clear_RUBY_VERSION
1123
1125
 
1124
1126
  Object.const_set :RUBY_VERSION, @RUBY_VERSION
1127
+ Object.const_set :RUBY_PATCHLEVEL, @RUBY_PATCHLEVEL if
1128
+ defined?(@RUBY_PATCHLEVEL)
1125
1129
  Object.const_set :RUBY_REVISION, @RUBY_REVISION if
1126
1130
  defined?(@RUBY_REVISION)
1127
- Object.const_set :RUBY_DESCRIPTION, @RUBY_DESCRIPTION if
1128
- defined?(@RUBY_DESCRIPTION)
1131
+ Object.const_set :RUBY_DESCRIPTION, @RUBY_DESCRIPTION
1129
1132
  Object.const_set :RUBY_ENGINE, @RUBY_ENGINE
1130
1133
  Object.const_set :RUBY_ENGINE_VERSION, @RUBY_ENGINE_VERSION if
1131
1134
  defined?(@RUBY_ENGINE_VERSION)
@@ -1133,6 +1136,7 @@ Also, a list:
1133
1136
 
1134
1137
  def util_clear_RUBY_VERSION
1135
1138
  Object.send :remove_const, :RUBY_VERSION
1139
+ Object.send :remove_const, :RUBY_PATCHLEVEL if defined?(RUBY_PATCHLEVEL)
1136
1140
  Object.send :remove_const, :RUBY_REVISION if defined?(RUBY_REVISION)
1137
1141
  Object.send :remove_const, :RUBY_DESCRIPTION if defined?(RUBY_DESCRIPTION)
1138
1142
  Object.send :remove_const, :RUBY_ENGINE
@@ -1183,6 +1187,14 @@ Also, a list:
1183
1187
  RUBY_PLATFORM.match('mswin')
1184
1188
  end
1185
1189
 
1190
+ ##
1191
+ # Is this test being run on a ruby/ruby repository?
1192
+ #
1193
+
1194
+ def testing_ruby_repo?
1195
+ !ENV["GEM_COMMAND"].nil?
1196
+ end
1197
+
1186
1198
  ##
1187
1199
  # Returns the make command for the current platform. For versions of Ruby
1188
1200
  # built on MS Windows with VC++ or Borland it will return 'nmake'. On all
@@ -1106,16 +1106,8 @@ class TestGem < Gem::TestCase
1106
1106
  assert_equal Gem::Requirement.default, Gem.env_requirement('qux')
1107
1107
  end
1108
1108
 
1109
- def test_self_ruby_version_with_patchlevel_less_ancient_rubies
1110
- util_set_RUBY_VERSION '1.8.5'
1111
-
1112
- assert_equal Gem::Version.new('1.8.5'), Gem.ruby_version
1113
- ensure
1114
- util_restore_RUBY_VERSION
1115
- end
1116
-
1117
1109
  def test_self_ruby_version_with_non_mri_implementations
1118
- util_set_RUBY_VERSION '2.5.0', 60928, 'jruby 9.2.0.0 (2.5.0) 2018-05-24 81156a8 OpenJDK 64-Bit Server VM 25.171-b11 on 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11 [linux-x86_64]'
1110
+ util_set_RUBY_VERSION '2.5.0', 0, 60928, 'jruby 9.2.0.0 (2.5.0) 2018-05-24 81156a8 OpenJDK 64-Bit Server VM 25.171-b11 on 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11 [linux-x86_64]'
1119
1111
 
1120
1112
  assert_equal Gem::Version.new('2.5.0'), Gem.ruby_version
1121
1113
  ensure
@@ -1123,7 +1115,7 @@ class TestGem < Gem::TestCase
1123
1115
  end
1124
1116
 
1125
1117
  def test_self_ruby_version_with_svn_prerelease
1126
- util_set_RUBY_VERSION '2.6.0', 63539, 'ruby 2.6.0preview2 (2018-05-31 trunk 63539) [x86_64-linux]'
1118
+ util_set_RUBY_VERSION '2.6.0', -1, 63539, 'ruby 2.6.0preview2 (2018-05-31 trunk 63539) [x86_64-linux]'
1127
1119
 
1128
1120
  assert_equal Gem::Version.new('2.6.0.preview2'), Gem.ruby_version
1129
1121
  ensure
@@ -1131,7 +1123,7 @@ class TestGem < Gem::TestCase
1131
1123
  end
1132
1124
 
1133
1125
  def test_self_ruby_version_with_git_prerelease
1134
- util_set_RUBY_VERSION '2.7.0', 'b563439274a402e33541f5695b1bfd4ac1085638', 'ruby 2.7.0preview3 (2019-11-23 master b563439274) [x86_64-linux]'
1126
+ util_set_RUBY_VERSION '2.7.0', -1, 'b563439274a402e33541f5695b1bfd4ac1085638', 'ruby 2.7.0preview3 (2019-11-23 master b563439274) [x86_64-linux]'
1135
1127
 
1136
1128
  assert_equal Gem::Version.new('2.7.0.preview3'), Gem.ruby_version
1137
1129
  ensure
@@ -1139,7 +1131,7 @@ class TestGem < Gem::TestCase
1139
1131
  end
1140
1132
 
1141
1133
  def test_self_ruby_version_with_non_mri_implementations_with_mri_prerelase_compatibility
1142
- util_set_RUBY_VERSION '2.6.0', 63539, 'weirdjruby 9.2.0.0 (2.6.0preview2) 2018-05-24 81156a8 OpenJDK 64-Bit Server VM 25.171-b11 on 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11 [linux-x86_64]', 'weirdjruby', '9.2.0.0'
1134
+ util_set_RUBY_VERSION '2.6.0', -1, 63539, 'weirdjruby 9.2.0.0 (2.6.0preview2) 2018-05-24 81156a8 OpenJDK 64-Bit Server VM 25.171-b11 on 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11 [linux-x86_64]', 'weirdjruby', '9.2.0.0'
1143
1135
 
1144
1136
  assert_equal Gem::Version.new('2.6.0.preview2'), Gem.ruby_version
1145
1137
  ensure
@@ -1147,7 +1139,7 @@ class TestGem < Gem::TestCase
1147
1139
  end
1148
1140
 
1149
1141
  def test_self_ruby_version_with_svn_trunk
1150
- util_set_RUBY_VERSION '1.9.2', 23493, 'ruby 1.9.2dev (2009-05-20 trunk 23493) [x86_64-linux]'
1142
+ util_set_RUBY_VERSION '1.9.2', -1, 23493, 'ruby 1.9.2dev (2009-05-20 trunk 23493) [x86_64-linux]'
1151
1143
 
1152
1144
  assert_equal Gem::Version.new('1.9.2.dev'), Gem.ruby_version
1153
1145
  ensure
@@ -1155,7 +1147,7 @@ class TestGem < Gem::TestCase
1155
1147
  end
1156
1148
 
1157
1149
  def test_self_ruby_version_with_git_master
1158
- util_set_RUBY_VERSION '2.7.0', '5de284ec78220e75643f89b454ce999da0c1c195', 'ruby 2.7.0dev (2019-12-23T01:37:30Z master 5de284ec78) [x86_64-linux]'
1150
+ util_set_RUBY_VERSION '2.7.0', -1, '5de284ec78220e75643f89b454ce999da0c1c195', 'ruby 2.7.0dev (2019-12-23T01:37:30Z master 5de284ec78) [x86_64-linux]'
1159
1151
 
1160
1152
  assert_equal Gem::Version.new('2.7.0.dev'), Gem.ruby_version
1161
1153
  ensure
@@ -142,5 +142,6 @@ class TestGemExtCargoBuilder < Gem::TestCase
142
142
  pend "jruby not supported" if java_platform?
143
143
  pend "truffleruby not supported (yet)" if RUBY_ENGINE == 'truffleruby'
144
144
  pend "mswin not supported (yet)" if /mswin/ =~ RUBY_PLATFORM && ENV.key?('GITHUB_ACTIONS')
145
+ pend "ruby.h is not provided by ruby repo" if testing_ruby_repo?
145
146
  end
146
147
  end
@@ -671,10 +671,6 @@ class TestGemRequire < Gem::TestCase
671
671
 
672
672
  private
673
673
 
674
- def testing_ruby_repo?
675
- !ENV["GEM_COMMAND"].nil?
676
- end
677
-
678
674
  def util_install_extension_file(name)
679
675
  spec = quick_gem name
680
676
  util_build_gem spec
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.3.12
4
+ version: 3.3.13
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: 2022-04-20 00:00:00.000000000 Z
19
+ date: 2022-05-04 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
@@ -817,7 +817,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
817
817
  - !ruby/object:Gem::Version
818
818
  version: '0'
819
819
  requirements: []
820
- rubygems_version: 3.3.12
820
+ rubygems_version: 3.3.13
821
821
  signing_key:
822
822
  specification_version: 4
823
823
  summary: RubyGems is a package management framework for Ruby.