rubygems-update 3.3.20 → 3.3.21
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +8 -0
- data/Manifest.txt +4 -1
- data/bundler/CHANGELOG.md +23 -0
- data/bundler/UPGRADING.md +11 -4
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/platform.rb +1 -1
- data/bundler/lib/bundler/definition.rb +27 -22
- data/bundler/lib/bundler/endpoint_specification.rb +1 -12
- data/bundler/lib/bundler/gem_version_promoter.rb +4 -0
- data/bundler/lib/bundler/inline.rb +1 -1
- data/bundler/lib/bundler/installer.rb +6 -11
- data/bundler/lib/bundler/lazy_specification.rb +2 -4
- data/bundler/lib/bundler/man/bundle-add.1 +1 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +1 -1
- data/bundler/lib/bundler/man/bundle-check.1 +1 -1
- data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
- data/bundler/lib/bundler/man/bundle-config.1 +11 -2
- data/bundler/lib/bundler/man/bundle-config.1.ronn +4 -1
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
- data/bundler/lib/bundler/man/bundle-info.1 +1 -1
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +1 -1
- data/bundler/lib/bundler/man/bundle-install.1 +1 -1
- data/bundler/lib/bundler/man/bundle-list.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-open.1 +1 -1
- data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/lib/bundler/man/bundle-platform.1 +1 -1
- data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
- data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
- data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
- data/bundler/lib/bundler/man/bundle-show.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
- data/bundler/lib/bundler/man/bundle.1 +5 -1
- data/bundler/lib/bundler/man/bundle.1.ronn +3 -0
- data/bundler/lib/bundler/man/gemfile.5 +1 -1
- data/bundler/lib/bundler/man/index.txt +1 -0
- data/bundler/lib/bundler/match_metadata.rb +13 -0
- data/bundler/lib/bundler/match_remote_metadata.rb +26 -0
- data/bundler/lib/bundler/plugin.rb +2 -0
- data/bundler/lib/bundler/remote_specification.rb +1 -7
- data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
- data/bundler/lib/bundler/resolver.rb +39 -17
- data/bundler/lib/bundler/rubygems_ext.rb +28 -0
- data/bundler/lib/bundler/spec_set.rb +19 -9
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +3 -4
- data/lib/rubygems/platform.rb +16 -5
- data/lib/rubygems.rb +1 -1
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +4 -4
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +4 -4
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
- data/test/rubygems/test_gem_platform.rb +41 -2
- data/test/rubygems/test_gem_resolver.rb +37 -3
- metadata +7 -4
- data/bundler/lib/bundler/incomplete_specification.rb +0 -12
@@ -119,8 +119,8 @@ class TestGemPlatform < Gem::TestCase
|
|
119
119
|
"i586-linux" => ["x86", "linux", nil],
|
120
120
|
"i486-linux" => ["x86", "linux", nil],
|
121
121
|
"i386-linux" => ["x86", "linux", nil],
|
122
|
-
"i586-linux-gnu" => ["x86", "linux",
|
123
|
-
"i386-linux-gnu" => ["x86", "linux",
|
122
|
+
"i586-linux-gnu" => ["x86", "linux", "gnu"],
|
123
|
+
"i386-linux-gnu" => ["x86", "linux", "gnu"],
|
124
124
|
"i386-mingw32" => ["x86", "mingw32", nil],
|
125
125
|
"x64-mingw-ucrt" => ["x64", "mingw", "ucrt"],
|
126
126
|
"i386-mswin32" => ["x86", "mswin32", nil],
|
@@ -135,7 +135,9 @@ class TestGemPlatform < Gem::TestCase
|
|
135
135
|
"i386-solaris2.8" => ["x86", "solaris", "2.8"],
|
136
136
|
"mswin32" => ["x86", "mswin32", nil],
|
137
137
|
"x86_64-linux" => ["x86_64", "linux", nil],
|
138
|
+
"x86_64-linux-gnu" => ["x86_64", "linux", "gnu"],
|
138
139
|
"x86_64-linux-musl" => ["x86_64", "linux", "musl"],
|
140
|
+
"x86_64-linux-uclibc" => ["x86_64", "linux", "uclibc"],
|
139
141
|
"x86_64-openbsd3.9" => ["x86_64", "openbsd", "3.9"],
|
140
142
|
"x86_64-openbsd4.0" => ["x86_64", "openbsd", "4.0"],
|
141
143
|
"x86_64-openbsd" => ["x86_64", "openbsd", nil],
|
@@ -144,6 +146,7 @@ class TestGemPlatform < Gem::TestCase
|
|
144
146
|
test_cases.each do |arch, expected|
|
145
147
|
platform = Gem::Platform.new arch
|
146
148
|
assert_equal expected, platform.to_a, arch.inspect
|
149
|
+
assert_equal expected, Gem::Platform.new(platform.to_s).to_a, arch.inspect
|
147
150
|
end
|
148
151
|
end
|
149
152
|
|
@@ -262,6 +265,42 @@ class TestGemPlatform < Gem::TestCase
|
|
262
265
|
assert((with_x86_arch === with_nil_arch), "x86 =~ nil")
|
263
266
|
end
|
264
267
|
|
268
|
+
def test_nil_version_is_treated_as_any_version
|
269
|
+
x86_darwin_8 = Gem::Platform.new "i686-darwin8.0"
|
270
|
+
x86_darwin_nil = Gem::Platform.new "i686-darwin"
|
271
|
+
|
272
|
+
assert((x86_darwin_8 === x86_darwin_nil), "8.0 =~ nil")
|
273
|
+
assert((x86_darwin_nil === x86_darwin_8), "nil =~ 8.0")
|
274
|
+
end
|
275
|
+
|
276
|
+
def test_nil_version_is_stricter_for_linux_os
|
277
|
+
x86_linux = Gem::Platform.new "i686-linux"
|
278
|
+
x86_linux_gnu = Gem::Platform.new "i686-linux-gnu"
|
279
|
+
x86_linux_musl = Gem::Platform.new "i686-linux-musl"
|
280
|
+
x86_linux_uclibc = Gem::Platform.new "i686-linux-uclibc"
|
281
|
+
|
282
|
+
# a naked linux runtime is implicit gnu, as it represents the common glibc-linked runtime
|
283
|
+
assert(x86_linux === x86_linux_gnu, "linux =~ linux-gnu")
|
284
|
+
assert(x86_linux_gnu === x86_linux, "linux-gnu =~ linux")
|
285
|
+
|
286
|
+
# musl and explicit gnu should differ
|
287
|
+
refute(x86_linux_gnu === x86_linux_musl, "linux-gnu =~ linux-musl")
|
288
|
+
refute(x86_linux_musl === x86_linux_gnu, "linux-musl =~ linux-gnu")
|
289
|
+
|
290
|
+
# explicit libc differ
|
291
|
+
refute(x86_linux_uclibc === x86_linux_musl, "linux-uclibc =~ linux-musl")
|
292
|
+
refute(x86_linux_musl === x86_linux_uclibc, "linux-musl =~ linux-uclibc")
|
293
|
+
|
294
|
+
# musl host runtime accepts libc-generic or statically linked gems...
|
295
|
+
assert(x86_linux === x86_linux_musl, "linux =~ linux-musl")
|
296
|
+
# ...but implicit gnu runtime generally does not accept musl-specific gems
|
297
|
+
refute(x86_linux_musl === x86_linux, "linux-musl =~ linux")
|
298
|
+
|
299
|
+
# other libc are not glibc compatible
|
300
|
+
refute(x86_linux === x86_linux_uclibc, "linux =~ linux-uclibc")
|
301
|
+
refute(x86_linux_uclibc === x86_linux, "linux-uclibc =~ linux")
|
302
|
+
end
|
303
|
+
|
265
304
|
def test_equals3_cpu_arm
|
266
305
|
arm = Gem::Platform.new "arm-linux"
|
267
306
|
armv5 = Gem::Platform.new "armv5-linux"
|
@@ -322,16 +322,15 @@ class TestGemResolver < Gem::TestCase
|
|
322
322
|
def test_picks_best_platform
|
323
323
|
is = Gem::Resolver::IndexSpecification
|
324
324
|
unknown = Gem::Platform.new "unknown"
|
325
|
-
a2_p1 = a3_p2 = nil
|
326
325
|
|
327
326
|
spec_fetcher do |fetcher|
|
328
327
|
fetcher.spec "a", 2
|
329
328
|
|
330
|
-
|
329
|
+
fetcher.spec "a", 2 do |s|
|
331
330
|
s.platform = Gem::Platform.local
|
332
331
|
end
|
333
332
|
|
334
|
-
|
333
|
+
fetcher.spec "a", 3 do |s|
|
335
334
|
s.platform = unknown
|
336
335
|
end
|
337
336
|
end
|
@@ -357,6 +356,41 @@ class TestGemResolver < Gem::TestCase
|
|
357
356
|
assert_resolves_to [a2_p1.spec], res
|
358
357
|
end
|
359
358
|
|
359
|
+
def test_does_not_pick_musl_variants_on_non_musl_linux
|
360
|
+
util_set_arch "aarch64-linux" do
|
361
|
+
is = Gem::Resolver::IndexSpecification
|
362
|
+
|
363
|
+
linux_musl = Gem::Platform.new("aarch64-linux-musl")
|
364
|
+
|
365
|
+
spec_fetcher do |fetcher|
|
366
|
+
fetcher.spec "libv8-node", "15.14.0.1" do |s|
|
367
|
+
s.platform = Gem::Platform.local
|
368
|
+
end
|
369
|
+
|
370
|
+
fetcher.spec "libv8-node", "15.14.0.1" do |s|
|
371
|
+
s.platform = linux_musl
|
372
|
+
end
|
373
|
+
end
|
374
|
+
|
375
|
+
v15 = v("15.14.0.1")
|
376
|
+
source = Gem::Source.new @gem_repo
|
377
|
+
|
378
|
+
s = set
|
379
|
+
|
380
|
+
v15_linux = is.new s, "libv8-node", v15, source, Gem::Platform.local.to_s
|
381
|
+
v15_linux_musl = is.new s, "libv8-node", v15, source, linux_musl.to_s
|
382
|
+
|
383
|
+
s.add v15_linux
|
384
|
+
s.add v15_linux_musl
|
385
|
+
|
386
|
+
ad = make_dep "libv8-node", "= 15.14.0.1"
|
387
|
+
|
388
|
+
res = Gem::Resolver.new([ad], s)
|
389
|
+
|
390
|
+
assert_resolves_to [v15_linux.spec], res
|
391
|
+
end
|
392
|
+
end
|
393
|
+
|
360
394
|
def test_only_returns_spec_once
|
361
395
|
a1 = util_spec "a", "1", "c" => "= 1"
|
362
396
|
b1 = util_spec "b", "1", "c" => "= 1"
|
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.
|
4
|
+
version: 3.3.21
|
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-08-
|
19
|
+
date: 2022-08-24 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
|
@@ -136,7 +136,6 @@ files:
|
|
136
136
|
- bundler/lib/bundler/gem_tasks.rb
|
137
137
|
- bundler/lib/bundler/gem_version_promoter.rb
|
138
138
|
- bundler/lib/bundler/graph.rb
|
139
|
-
- bundler/lib/bundler/incomplete_specification.rb
|
140
139
|
- bundler/lib/bundler/index.rb
|
141
140
|
- bundler/lib/bundler/injector.rb
|
142
141
|
- bundler/lib/bundler/inline.rb
|
@@ -184,6 +183,8 @@ files:
|
|
184
183
|
- bundler/lib/bundler/man/bundle-outdated.1.ronn
|
185
184
|
- bundler/lib/bundler/man/bundle-platform.1
|
186
185
|
- bundler/lib/bundler/man/bundle-platform.1.ronn
|
186
|
+
- bundler/lib/bundler/man/bundle-plugin.1
|
187
|
+
- bundler/lib/bundler/man/bundle-plugin.1.ronn
|
187
188
|
- bundler/lib/bundler/man/bundle-pristine.1
|
188
189
|
- bundler/lib/bundler/man/bundle-pristine.1.ronn
|
189
190
|
- bundler/lib/bundler/man/bundle-remove.1
|
@@ -199,7 +200,9 @@ files:
|
|
199
200
|
- bundler/lib/bundler/man/gemfile.5
|
200
201
|
- bundler/lib/bundler/man/gemfile.5.ronn
|
201
202
|
- bundler/lib/bundler/man/index.txt
|
203
|
+
- bundler/lib/bundler/match_metadata.rb
|
202
204
|
- bundler/lib/bundler/match_platform.rb
|
205
|
+
- bundler/lib/bundler/match_remote_metadata.rb
|
203
206
|
- bundler/lib/bundler/mirror.rb
|
204
207
|
- bundler/lib/bundler/plugin.rb
|
205
208
|
- bundler/lib/bundler/plugin/api.rb
|
@@ -821,7 +824,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
821
824
|
- !ruby/object:Gem::Version
|
822
825
|
version: '0'
|
823
826
|
requirements: []
|
824
|
-
rubygems_version: 3.3.
|
827
|
+
rubygems_version: 3.3.21
|
825
828
|
signing_key:
|
826
829
|
specification_version: 4
|
827
830
|
summary: RubyGems is a package management framework for Ruby.
|