rubygems-update 3.5.14 → 3.5.16
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 +4 -4
- data/CHANGELOG.md +40 -0
- data/bundler/CHANGELOG.md +32 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/gem.rb +7 -14
- data/bundler/lib/bundler/cli.rb +3 -0
- data/bundler/lib/bundler/definition.rb +37 -25
- data/bundler/lib/bundler/env.rb +1 -1
- data/bundler/lib/bundler/gem_helpers.rb +14 -7
- data/bundler/lib/bundler/injector.rb +1 -4
- data/bundler/lib/bundler/installer/standalone.rb +0 -3
- data/bundler/lib/bundler/installer.rb +1 -3
- data/bundler/lib/bundler/lazy_specification.rb +1 -0
- 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 +1 -1
- data/bundler/lib/bundler/man/bundle-console.1 +1 -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 +7 -1
- data/bundler/lib/bundler/man/bundle-gem.1.ronn +11 -0
- data/bundler/lib/bundler/man/bundle-help.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 +1 -1
- 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-version.1 +1 -1
- data/bundler/lib/bundler/man/bundle-viz.1 +1 -1
- data/bundler/lib/bundler/man/bundle.1 +1 -1
- data/bundler/lib/bundler/man/gemfile.5 +1 -1
- data/bundler/lib/bundler/resolver/base.rb +4 -0
- data/bundler/lib/bundler/resolver/candidate.rb +4 -16
- data/bundler/lib/bundler/resolver/package.rb +4 -0
- data/bundler/lib/bundler/resolver/spec_group.rb +20 -2
- data/bundler/lib/bundler/resolver.rb +18 -9
- data/bundler/lib/bundler/rubygems_ext.rb +69 -1
- data/bundler/lib/bundler/rubygems_gem_installer.rb +31 -1
- data/bundler/lib/bundler/rubygems_integration.rb +2 -2
- data/bundler/lib/bundler/runtime.rb +1 -1
- data/bundler/lib/bundler/self_manager.rb +17 -2
- data/bundler/lib/bundler/source/rubygems.rb +1 -0
- data/bundler/lib/bundler/spec_set.rb +14 -12
- data/bundler/lib/bundler/stub_specification.rb +8 -0
- data/bundler/lib/bundler/vendored_net_http.rb +17 -6
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems/config_file.rb +13 -8
- data/lib/rubygems/installer.rb +8 -7
- data/lib/rubygems/platform.rb +2 -2
- data/lib/rubygems/specification.rb +9 -5
- data/lib/rubygems/specification_policy.rb +14 -4
- data/lib/rubygems.rb +20 -14
- data/rubygems-update.gemspec +1 -1
- metadata +3 -3
data/lib/rubygems/installer.rb
CHANGED
@@ -500,8 +500,7 @@ class Gem::Installer
|
|
500
500
|
dir_mode = options[:prog_mode] || (mode | 0o111)
|
501
501
|
|
502
502
|
unless dir_mode == mode
|
503
|
-
|
504
|
-
FileUtils.chmod dir_mode, bin_path
|
503
|
+
File.chmod dir_mode, bin_path
|
505
504
|
end
|
506
505
|
|
507
506
|
check_executable_overwrite filename
|
@@ -539,12 +538,14 @@ class Gem::Installer
|
|
539
538
|
def generate_bin_script(filename, bindir)
|
540
539
|
bin_script_path = File.join bindir, formatted_program_filename(filename)
|
541
540
|
|
542
|
-
|
543
|
-
|
541
|
+
Gem.open_file_with_flock("#{bin_script_path}.lock") do
|
542
|
+
require "fileutils"
|
543
|
+
FileUtils.rm_f bin_script_path # prior install may have been --no-wrappers
|
544
544
|
|
545
|
-
|
546
|
-
|
547
|
-
|
545
|
+
File.open(bin_script_path, "wb", 0o755) do |file|
|
546
|
+
file.write app_script_text(filename)
|
547
|
+
file.chmod(options[:prog_mode] || 0o755)
|
548
|
+
end
|
548
549
|
end
|
549
550
|
|
550
551
|
verbose bin_script_path
|
data/lib/rubygems/platform.rb
CHANGED
@@ -176,7 +176,7 @@ class Gem::Platform
|
|
176
176
|
# they have the same version, or either one has no version
|
177
177
|
#
|
178
178
|
# Additionally, the platform will match if the local CPU is 'arm' and the
|
179
|
-
# other CPU starts with "
|
179
|
+
# other CPU starts with "armv" (for generic 32-bit ARM family support).
|
180
180
|
#
|
181
181
|
# Of note, this method is not commutative. Indeed the OS 'linux' has a
|
182
182
|
# special case: the version is the libc name, yet while "no version" stands
|
@@ -197,7 +197,7 @@ class Gem::Platform
|
|
197
197
|
|
198
198
|
# cpu
|
199
199
|
([nil,"universal"].include?(@cpu) || [nil, "universal"].include?(other.cpu) || @cpu == other.cpu ||
|
200
|
-
(@cpu == "arm" && other.cpu.start_with?("
|
200
|
+
(@cpu == "arm" && other.cpu.start_with?("armv"))) &&
|
201
201
|
|
202
202
|
# os
|
203
203
|
@os == other.os &&
|
@@ -175,7 +175,7 @@ class Gem::Specification < Gem::BasicSpecification
|
|
175
175
|
end
|
176
176
|
|
177
177
|
@@attributes = @@default_value.keys.sort_by(&:to_s)
|
178
|
-
@@array_attributes = @@default_value.
|
178
|
+
@@array_attributes = @@default_value.select {|_k,v| v.is_a?(Array) }.keys
|
179
179
|
@@nil_attributes, @@non_nil_attributes = @@default_value.keys.partition do |k|
|
180
180
|
@@default_value[k].nil?
|
181
181
|
end
|
@@ -546,9 +546,9 @@ class Gem::Specification < Gem::BasicSpecification
|
|
546
546
|
#
|
547
547
|
# Usage:
|
548
548
|
#
|
549
|
-
# spec.
|
549
|
+
# spec.add_dependency 'example', '~> 1.1', '>= 1.1.4'
|
550
550
|
|
551
|
-
def
|
551
|
+
def add_dependency(gem, *requirements)
|
552
552
|
if requirements.uniq.size != requirements.size
|
553
553
|
warn "WARNING: duplicated #{gem} dependency #{requirements}"
|
554
554
|
end
|
@@ -874,7 +874,7 @@ class Gem::Specification < Gem::BasicSpecification
|
|
874
874
|
# You probably want to use one of the Enumerable methods instead.
|
875
875
|
|
876
876
|
def self.all
|
877
|
-
warn "NOTE: Specification.all called from #{caller.first}" unless
|
877
|
+
warn "NOTE: Specification.all called from #{caller(1, 1).first}" unless
|
878
878
|
Gem::Deprecate.skip
|
879
879
|
_all
|
880
880
|
end
|
@@ -1504,7 +1504,7 @@ class Gem::Specification < Gem::BasicSpecification
|
|
1504
1504
|
|
1505
1505
|
private :add_dependency_with_type
|
1506
1506
|
|
1507
|
-
alias_method :
|
1507
|
+
alias_method :add_runtime_dependency, :add_dependency
|
1508
1508
|
|
1509
1509
|
##
|
1510
1510
|
# Adds this spec's require paths to LOAD_PATH, in the proper location.
|
@@ -2585,6 +2585,10 @@ class Gem::Specification < Gem::BasicSpecification
|
|
2585
2585
|
@test_files.delete_if {|x| File.directory?(x) && !File.symlink?(x) }
|
2586
2586
|
end
|
2587
2587
|
|
2588
|
+
def validate_for_resolution
|
2589
|
+
Gem::SpecificationPolicy.new(self).validate_for_resolution
|
2590
|
+
end
|
2591
|
+
|
2588
2592
|
def validate_metadata
|
2589
2593
|
Gem::SpecificationPolicy.new(self).validate_metadata
|
2590
2594
|
end
|
@@ -45,6 +45,7 @@ class Gem::SpecificationPolicy
|
|
45
45
|
|
46
46
|
def validate(strict = false)
|
47
47
|
validate_required!
|
48
|
+
validate_required_metadata!
|
48
49
|
|
49
50
|
validate_optional(strict) if packaging || strict
|
50
51
|
|
@@ -85,15 +86,17 @@ class Gem::SpecificationPolicy
|
|
85
86
|
|
86
87
|
validate_authors_field
|
87
88
|
|
88
|
-
validate_metadata
|
89
|
-
|
90
89
|
validate_licenses_length
|
91
90
|
|
92
|
-
validate_lazy_metadata
|
93
|
-
|
94
91
|
validate_duplicate_dependencies
|
95
92
|
end
|
96
93
|
|
94
|
+
def validate_required_metadata!
|
95
|
+
validate_metadata
|
96
|
+
|
97
|
+
validate_lazy_metadata
|
98
|
+
end
|
99
|
+
|
97
100
|
def validate_optional(strict)
|
98
101
|
validate_licenses
|
99
102
|
|
@@ -120,6 +123,13 @@ class Gem::SpecificationPolicy
|
|
120
123
|
end
|
121
124
|
end
|
122
125
|
|
126
|
+
##
|
127
|
+
# Implementation for Specification#validate_for_resolution
|
128
|
+
|
129
|
+
def validate_for_resolution
|
130
|
+
validate_required!
|
131
|
+
end
|
132
|
+
|
123
133
|
##
|
124
134
|
# Implementation for Specification#validate_metadata
|
125
135
|
|
data/lib/rubygems.rb
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
require "rbconfig"
|
10
10
|
|
11
11
|
module Gem
|
12
|
-
VERSION = "3.5.
|
12
|
+
VERSION = "3.5.16"
|
13
13
|
end
|
14
14
|
|
15
15
|
# Must be first since it unloads the prelude from 1.9.2
|
@@ -760,6 +760,7 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
760
760
|
|
761
761
|
##
|
762
762
|
# Safely write a file in binary mode on all platforms.
|
763
|
+
|
763
764
|
def self.write_binary(path, data)
|
764
765
|
open_file(path, "wb") do |io|
|
765
766
|
io.write data
|
@@ -771,24 +772,29 @@ An Array (#{env.inspect}) was passed in from #{caller[3]}
|
|
771
772
|
end
|
772
773
|
|
773
774
|
##
|
774
|
-
# Open a file with given flags
|
775
|
+
# Open a file with given flags
|
775
776
|
|
776
777
|
def self.open_file(path, flags, &block)
|
778
|
+
File.open(path, flags, &block)
|
779
|
+
end
|
780
|
+
|
781
|
+
##
|
782
|
+
# Open a file with given flags, and protect access with flock
|
783
|
+
|
784
|
+
def self.open_file_with_flock(path, &block)
|
785
|
+
flags = File.exist?(path) ? "r+" : "a+"
|
786
|
+
|
777
787
|
File.open(path, flags) do |io|
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
rescue Errno::ENOSYS, Errno::ENOTSUP
|
782
|
-
end
|
788
|
+
begin
|
789
|
+
io.flock(File::LOCK_EX)
|
790
|
+
rescue Errno::ENOSYS, Errno::ENOTSUP
|
783
791
|
end
|
784
792
|
yield io
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
File.open(path, flags) do |io|
|
791
|
-
yield io
|
793
|
+
rescue Errno::ENOLCK # NFS
|
794
|
+
if Thread.main != Thread.current
|
795
|
+
raise
|
796
|
+
else
|
797
|
+
open_file(path, flags, &block)
|
792
798
|
end
|
793
799
|
end
|
794
800
|
end
|
data/rubygems-update.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "rubygems-update"
|
5
|
-
s.version = "3.5.
|
5
|
+
s.version = "3.5.16"
|
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
|
|
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.5.
|
4
|
+
version: 3.5.16
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Weirich
|
@@ -16,7 +16,7 @@ authors:
|
|
16
16
|
autorequire:
|
17
17
|
bindir: exe
|
18
18
|
cert_chain: []
|
19
|
-
date: 2024-
|
19
|
+
date: 2024-07-18 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
|
@@ -727,7 +727,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
727
727
|
- !ruby/object:Gem::Version
|
728
728
|
version: '0'
|
729
729
|
requirements: []
|
730
|
-
rubygems_version: 3.5.
|
730
|
+
rubygems_version: 3.5.16
|
731
731
|
signing_key:
|
732
732
|
specification_version: 4
|
733
733
|
summary: RubyGems is a package management framework for Ruby. This gem is downloaded
|