rubygems-update 3.4.7 → 3.4.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +32 -0
  3. data/Manifest.txt +2 -0
  4. data/POLICIES.md +5 -5
  5. data/README.md +1 -4
  6. data/bundler/CHANGELOG.md +23 -0
  7. data/bundler/README.md +1 -4
  8. data/bundler/lib/bundler/build_metadata.rb +2 -2
  9. data/bundler/lib/bundler/environment_preserver.rb +2 -2
  10. data/bundler/lib/bundler/fetcher.rb +2 -2
  11. data/bundler/lib/bundler/index.rb +2 -2
  12. data/bundler/lib/bundler/injector.rb +1 -1
  13. data/bundler/lib/bundler/installer/parallel_installer.rb +1 -14
  14. data/bundler/lib/bundler/lockfile_generator.rb +1 -1
  15. data/bundler/lib/bundler/lockfile_parser.rb +9 -9
  16. data/bundler/lib/bundler/plugin.rb +1 -1
  17. data/bundler/lib/bundler/rubygems_integration.rb +1 -1
  18. data/bundler/lib/bundler/setup.rb +4 -1
  19. data/bundler/lib/bundler/source/git/git_proxy.rb +16 -4
  20. data/bundler/lib/bundler/source/git.rb +1 -0
  21. data/bundler/lib/bundler/source/path.rb +1 -1
  22. data/bundler/lib/bundler/spec_set.rb +8 -2
  23. data/bundler/lib/bundler/templates/Executable.bundler +1 -1
  24. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +1 -1
  25. data/bundler/lib/bundler/version.rb +1 -1
  26. data/bundler/lib/bundler.rb +9 -9
  27. data/lib/rubygems/bundler_version_finder.rb +1 -1
  28. data/lib/rubygems/command.rb +10 -6
  29. data/lib/rubygems/command_manager.rb +1 -0
  30. data/lib/rubygems/commands/exec_command.rb +248 -0
  31. data/lib/rubygems/commands/help_command.rb +3 -3
  32. data/lib/rubygems/defaults.rb +2 -2
  33. data/lib/rubygems/dependency.rb +1 -1
  34. data/lib/rubygems/package/tar_reader/entry.rb +82 -3
  35. data/lib/rubygems/package/tar_reader.rb +0 -28
  36. data/lib/rubygems/platform.rb +2 -2
  37. data/lib/rubygems/request_set/gem_dependency_api.rb +0 -1
  38. data/lib/rubygems/requirement.rb +1 -1
  39. data/lib/rubygems/resolver/stats.rb +1 -1
  40. data/lib/rubygems/source/git.rb +1 -1
  41. data/lib/rubygems/specification.rb +9 -1
  42. data/lib/rubygems/stub_specification.rb +7 -7
  43. data/lib/rubygems/text.rb +1 -1
  44. data/lib/rubygems/util/licenses.rb +2 -2
  45. data/lib/rubygems/version.rb +2 -2
  46. data/lib/rubygems.rb +3 -3
  47. data/rubygems-update.gemspec +1 -1
  48. data/test/rubygems/helper.rb +2 -3
  49. data/test/rubygems/package/tar_test_case.rb +49 -14
  50. data/test/rubygems/simple_gem.rb +1 -1
  51. data/test/rubygems/test_gem.rb +24 -0
  52. data/test/rubygems/test_gem_bundler_version_finder.rb +2 -2
  53. data/test/rubygems/test_gem_commands_exec_command.rb +851 -0
  54. data/test/rubygems/test_gem_commands_install_command.rb +1 -1
  55. data/test/rubygems/test_gem_commands_setup_command.rb +1 -1
  56. data/test/rubygems/test_gem_ext_builder.rb +3 -5
  57. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +20 -6
  58. data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
  59. data/test/rubygems/test_gem_gem_runner.rb +2 -2
  60. data/test/rubygems/test_gem_package.rb +0 -25
  61. data/test/rubygems/test_gem_package_tar_reader.rb +48 -1
  62. data/test/rubygems/test_gem_package_tar_reader_entry.rb +102 -15
  63. data/test/rubygems/test_gem_remote_fetcher.rb +1 -1
  64. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +10 -10
  65. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +2 -2
  66. data/test/rubygems/test_gem_resolver_git_set.rb +9 -9
  67. data/test/rubygems/test_gem_resolver_git_specification.rb +1 -1
  68. data/test/rubygems/test_gem_source.rb +1 -1
  69. data/test/rubygems/test_gem_source_git.rb +13 -12
  70. data/test/rubygems/test_gem_source_installed.rb +1 -1
  71. data/test/rubygems/test_gem_source_lock.rb +3 -3
  72. data/test/rubygems/test_gem_source_vendor.rb +1 -1
  73. data/test/rubygems/test_gem_specification.rb +19 -2
  74. data/test/rubygems/test_gem_version.rb +2 -2
  75. data/test/rubygems/test_kernel.rb +0 -8
  76. metadata +5 -3
@@ -10,7 +10,7 @@ class TestGemSourceGit < Gem::TestCase
10
10
 
11
11
  @hash = Digest::SHA1.hexdigest @repository
12
12
 
13
- @source = Gem::Source::Git.new @name, @repository, "master", false
13
+ @source = Gem::Source::Git.new @name, @repository, nil, false
14
14
  end
15
15
 
16
16
  def test_base_dir
@@ -27,12 +27,13 @@ class TestGemSourceGit < Gem::TestCase
27
27
  assert_path_exist File.join @source.install_dir, "a.gemspec"
28
28
  end
29
29
 
30
- def test_checkout_master
30
+ def test_checkout_default
31
31
  Dir.chdir @repository do
32
+ default_branch = Gem::Util.popen(@git, "branch", "--show-current").strip
32
33
  system @git, "checkout", "-q", "-b", "other"
33
34
  system @git, "mv", "a.gemspec", "b.gemspec"
34
35
  system @git, "commit", "-q", "-a", "-m", "rename gemspec"
35
- system @git, "checkout", "-q", "master"
36
+ system @git, "checkout", "-q", default_branch
36
37
  end
37
38
 
38
39
  @source = Gem::Source::Git.new @name, @repository, "other", false
@@ -68,7 +69,7 @@ class TestGemSourceGit < Gem::TestCase
68
69
  # https://lore.kernel.org/lkml/xmqq4jw1uku5.fsf@gitster.g/
69
70
  system(@git, *%W[config --global protocol.file.allow always])
70
71
 
71
- source = Gem::Source::Git.new @name, @repository, "master", true
72
+ source = Gem::Source::Git.new @name, @repository, nil, true
72
73
 
73
74
  git_gem "b"
74
75
 
@@ -92,7 +93,7 @@ class TestGemSourceGit < Gem::TestCase
92
93
  assert_path_exist @source.repo_cache_dir
93
94
 
94
95
  Dir.chdir @source.repo_cache_dir do
95
- assert_equal @head, Gem::Util.popen(@git, "rev-parse", "master").strip
96
+ assert_equal @head, Gem::Util.popen(@git, "rev-parse", "HEAD").strip
96
97
  end
97
98
  end
98
99
 
@@ -178,7 +179,7 @@ class TestGemSourceGit < Gem::TestCase
178
179
  system @git, "checkout", "--quiet", "-b", "other"
179
180
  end
180
181
 
181
- master_head = @head
182
+ default_head = @head
182
183
 
183
184
  git_gem "a", 2
184
185
 
@@ -186,7 +187,7 @@ class TestGemSourceGit < Gem::TestCase
186
187
 
187
188
  source.cache
188
189
 
189
- refute_equal master_head, source.rev_parse
190
+ refute_equal default_head, source.rev_parse
190
191
 
191
192
  source = Gem::Source::Git.new @name, @repository, "nonexistent", false
192
193
 
@@ -209,7 +210,7 @@ class TestGemSourceGit < Gem::TestCase
209
210
  end
210
211
 
211
212
  def test_spaceship
212
- git = Gem::Source::Git.new "a", "git/a", "master", false
213
+ git = Gem::Source::Git.new "a", "git/a", nil, false
213
214
  remote = Gem::Source.new @gem_repo
214
215
  installed = Gem::Source::Installed.new
215
216
  vendor = Gem::Source::Vendor.new "vendor/foo"
@@ -227,7 +228,7 @@ class TestGemSourceGit < Gem::TestCase
227
228
  end
228
229
 
229
230
  def test_specs
230
- source = Gem::Source::Git.new @name, @repository, "master", true
231
+ source = Gem::Source::Git.new @name, @repository, nil, true
231
232
 
232
233
  Dir.chdir "git/a" do
233
234
  FileUtils.mkdir "b"
@@ -278,7 +279,7 @@ class TestGemSourceGit < Gem::TestCase
278
279
  end
279
280
 
280
281
  def test_specs_local
281
- source = Gem::Source::Git.new @name, @repository, "master", true
282
+ source = Gem::Source::Git.new @name, @repository, nil, true
282
283
  source.remote = false
283
284
 
284
285
  capture_output do
@@ -294,13 +295,13 @@ class TestGemSourceGit < Gem::TestCase
294
295
  assert_equal @hash, @source.uri_hash
295
296
 
296
297
  source =
297
- Gem::Source::Git.new "a", "http://git@example/repo.git", "master", false
298
+ Gem::Source::Git.new "a", "http://git@example/repo.git", nil, false
298
299
 
299
300
  assert_equal "291c4caac7feba8bb64c297987028acb3dde6cfe",
300
301
  source.uri_hash
301
302
 
302
303
  source =
303
- Gem::Source::Git.new "a", "HTTP://git@EXAMPLE/repo.git", "master", false
304
+ Gem::Source::Git.new "a", "HTTP://git@EXAMPLE/repo.git", nil, false
304
305
 
305
306
  assert_equal "291c4caac7feba8bb64c297987028acb3dde6cfe",
306
307
  source.uri_hash
@@ -11,7 +11,7 @@ class TestGemSourceInstalled < Gem::TestCase
11
11
  specific = Gem::Source::SpecificFile.new a1.cache_file
12
12
  installed = Gem::Source::Installed.new
13
13
  local = Gem::Source::Local.new
14
- git = Gem::Source::Git.new "a", "a", "master"
14
+ git = Gem::Source::Git.new "a", "a", nil
15
15
  vendor = Gem::Source::Vendor.new "a"
16
16
 
17
17
  assert_equal(0, installed.<=>(installed), "installed <=> installed")
@@ -18,7 +18,7 @@ class TestGemSourceLock < Gem::TestCase
18
18
  end
19
19
 
20
20
  def test_equals2
21
- git = Gem::Source::Git.new "a", "git/a", "master", false
21
+ git = Gem::Source::Git.new "a", "git/a", nil, false
22
22
  g_lock = Gem::Source::Lock.new git
23
23
 
24
24
  installed = Gem::Source::Installed.new
@@ -30,7 +30,7 @@ class TestGemSourceLock < Gem::TestCase
30
30
  end
31
31
 
32
32
  def test_spaceship
33
- git = Gem::Source::Git.new "a", "git/a", "master", false
33
+ git = Gem::Source::Git.new "a", "git/a", nil, false
34
34
  g_lock = Gem::Source::Lock.new git
35
35
 
36
36
  installed = Gem::Source::Installed.new
@@ -54,7 +54,7 @@ class TestGemSourceLock < Gem::TestCase
54
54
  end
55
55
 
56
56
  def test_spaceship_git
57
- git = Gem::Source::Git.new "a", "git/a", "master", false
57
+ git = Gem::Source::Git.new "a", "git/a", nil, false
58
58
  lock = Gem::Source::Lock.new git
59
59
 
60
60
  assert_equal(1, lock.<=>(git), "lock <=> git")
@@ -12,7 +12,7 @@ class TestGemSourceVendor < Gem::TestCase
12
12
  def test_spaceship
13
13
  vendor = Gem::Source::Vendor.new "vendor/foo"
14
14
  remote = Gem::Source.new @gem_repo
15
- git = Gem::Source::Git.new "a", "a", "master"
15
+ git = Gem::Source::Git.new "a", "a", nil
16
16
  installed = Gem::Source::Installed.new
17
17
 
18
18
  assert_equal(0, vendor.<=>(vendor), "vendor <=> vendor")
@@ -10,7 +10,7 @@ require "rubygems/installer"
10
10
  require "rubygems/platform"
11
11
 
12
12
  class TestGemSpecification < Gem::TestCase
13
- LEGACY_YAML_SPEC = <<-EOF.freeze
13
+ LEGACY_YAML_SPEC = <<-EOF
14
14
  --- !ruby/object:Gem::Specification
15
15
  rubygems_version: "1.0"
16
16
  name: keyedlist
@@ -29,7 +29,7 @@ email: flgr@ccan.de
29
29
  has_rdoc: true
30
30
  EOF
31
31
 
32
- LEGACY_RUBY_SPEC = <<-EOF.freeze
32
+ LEGACY_RUBY_SPEC = <<-EOF
33
33
  Gem::Specification.new do |s|
34
34
  s.name = %q{keyedlist}
35
35
  s.version = %q{0.4.0}
@@ -3726,6 +3726,23 @@ end
3726
3726
  assert Gem::Specification.find_by_name "b", ">1"
3727
3727
  end
3728
3728
 
3729
+ def test_find_by_full_name
3730
+ pl = Gem::Platform.new "x86_64-linux"
3731
+
3732
+ a = util_spec "a", "1"
3733
+ install_specs a
3734
+
3735
+ a_pl = util_spec("a", "1") {|s| s.platform = pl }
3736
+ install_specs a_pl
3737
+
3738
+ assert_equal a, Gem::Specification.find_by_full_name("a-1")
3739
+ assert_equal a_pl, Gem::Specification.find_by_full_name("a-1-x86_64-linux")
3740
+
3741
+ assert_nil Gem::Specification.find_by_full_name("a-2")
3742
+ assert_nil Gem::Specification.find_by_full_name("b-1")
3743
+ assert_nil Gem::Specification.find_by_full_name("a-1-arm64-linux")
3744
+ end
3745
+
3729
3746
  def test_find_by_path
3730
3747
  a = util_spec "foo", "1", nil, "lib/foo.rb"
3731
3748
 
@@ -43,7 +43,7 @@ class TestGemVersion < Gem::TestCase
43
43
 
44
44
  assert_equal v("5.1"), Gem::Version.create("5.1")
45
45
 
46
- ver = "1.1".freeze
46
+ ver = "1.1"
47
47
  assert_equal v("1.1"), Gem::Version.create(ver)
48
48
  end
49
49
 
@@ -88,7 +88,7 @@ class TestGemVersion < Gem::TestCase
88
88
  end
89
89
 
90
90
  def test_initialize
91
- ["1.0", "1.0 ", " 1.0 ", "1.0\n", "\n1.0\n", "1.0".freeze].each do |good|
91
+ ["1.0", "1.0 ", " 1.0 ", "1.0\n", "\n1.0\n", "1.0"].each do |good|
92
92
  assert_version_equal "1.0", good
93
93
  end
94
94
 
@@ -5,19 +5,11 @@ class TestKernel < Gem::TestCase
5
5
  def setup
6
6
  super
7
7
 
8
- @old_path = $:.dup
9
-
10
8
  util_make_gems
11
9
 
12
10
  without_any_upwards_gemfiles
13
11
  end
14
12
 
15
- def teardown
16
- super
17
-
18
- $:.replace @old_path
19
- end
20
-
21
13
  def test_gem
22
14
  assert gem("a", "= 1"), "Should load"
23
15
  assert $:.any? {|p| p.include?("a-1/lib") }
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.4.7
4
+ version: 3.4.8
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: 2023-02-15 00:00:00.000000000 Z
19
+ date: 2023-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
@@ -403,6 +403,7 @@ files:
403
403
  - lib/rubygems/commands/contents_command.rb
404
404
  - lib/rubygems/commands/dependency_command.rb
405
405
  - lib/rubygems/commands/environment_command.rb
406
+ - lib/rubygems/commands/exec_command.rb
406
407
  - lib/rubygems/commands/fetch_command.rb
407
408
  - lib/rubygems/commands/generate_index_command.rb
408
409
  - lib/rubygems/commands/help_command.rb
@@ -672,6 +673,7 @@ files:
672
673
  - test/rubygems/test_gem_commands_contents_command.rb
673
674
  - test/rubygems/test_gem_commands_dependency_command.rb
674
675
  - test/rubygems/test_gem_commands_environment_command.rb
676
+ - test/rubygems/test_gem_commands_exec_command.rb
675
677
  - test/rubygems/test_gem_commands_fetch_command.rb
676
678
  - test/rubygems/test_gem_commands_generate_index_command.rb
677
679
  - test/rubygems/test_gem_commands_help_command.rb
@@ -833,7 +835,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
833
835
  - !ruby/object:Gem::Version
834
836
  version: '0'
835
837
  requirements: []
836
- rubygems_version: 3.4.7
838
+ rubygems_version: 3.4.8
837
839
  signing_key:
838
840
  specification_version: 4
839
841
  summary: RubyGems is a package management framework for Ruby.