rubygems-update 3.3.12 → 3.3.13

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: 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.