rubygems-update 3.2.31 → 3.2.32
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 +10 -0
- data/bundler/CHANGELOG.md +13 -0
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli.rb +1 -1
- data/bundler/lib/bundler/definition.rb +35 -69
- data/bundler/lib/bundler/gem_helper.rb +2 -2
- data/bundler/lib/bundler/templates/newgem/standard.yml.tt +0 -2
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems/installer.rb +2 -10
- data/lib/rubygems/specification.rb +27 -33
- data/lib/rubygems.rb +17 -17
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/helper.rb +6 -14
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +7 -3
- data/test/rubygems/test_require.rb +6 -4
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 87e453bd13f69a120fdadd84b3a57e16527b54f7283a5077d742eb218b634bfa
|
|
4
|
+
data.tar.gz: ce3cfe1c1c8a515e4904fdcddae871c2012b374aea224ce66ffdd92dfd007d8f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 57fe0ccc4919643d63c6bf2016458924af17d3ec8aab9ddca552781aceebe44bfc8ac350a20e8323265ef6d3e943c4399bf0ccd280cdc000fbe4be9acdfa1a0a
|
|
7
|
+
data.tar.gz: c354269b3a4e084d76ada0c3547cf2890aaa989554a4011f51654cea114677ccf76c5944ea669c93b9ad7dc09d9b533d51ade69f96f167aadd372311bc208bac
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
# 3.2.32 / 2021-11-23
|
|
2
|
+
|
|
3
|
+
## Enhancements:
|
|
4
|
+
|
|
5
|
+
* Refactor installer thread safety protections. Pull request #5050 by
|
|
6
|
+
deivid-rodriguez
|
|
7
|
+
* Allow gem activation from `operating_system.rb`. Pull request #5044 by
|
|
8
|
+
deivid-rodriguez
|
|
9
|
+
* Installs bundler 2.2.32 as a default gem.
|
|
10
|
+
|
|
1
11
|
# 3.2.31 / 2021-11-08
|
|
2
12
|
|
|
3
13
|
## Enhancements:
|
data/bundler/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
# 2.2.32 (November 23, 2021)
|
|
2
|
+
|
|
3
|
+
## Enhancements:
|
|
4
|
+
|
|
5
|
+
- Clarify `bundle viz` deprecation [#5083](https://github.com/rubygems/rubygems/pull/5083)
|
|
6
|
+
- Unlock dependencies that no longer match lockfile [#5068](https://github.com/rubygems/rubygems/pull/5068)
|
|
7
|
+
- Use `shellsplit` instead of array of strings for git push [#5062](https://github.com/rubygems/rubygems/pull/5062)
|
|
8
|
+
- Re-enable `default_ignores` option for standard [#5003](https://github.com/rubygems/rubygems/pull/5003)
|
|
9
|
+
|
|
10
|
+
## Bug fixes:
|
|
11
|
+
|
|
12
|
+
- Fix downgrading dependencies by changing the `Gemfile` and running `bundle update` [#5078](https://github.com/rubygems/rubygems/pull/5078)
|
|
13
|
+
|
|
1
14
|
# 2.2.31 (November 8, 2021)
|
|
2
15
|
|
|
3
16
|
## 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 = "2021-11-
|
|
8
|
-
@git_commit_sha = "
|
|
7
|
+
@built_at = "2021-11-23".freeze
|
|
8
|
+
@git_commit_sha = "20d4957649".freeze
|
|
9
9
|
@release = true
|
|
10
10
|
# end ivars
|
|
11
11
|
|
data/bundler/lib/bundler/cli.rb
CHANGED
|
@@ -552,7 +552,7 @@ module Bundler
|
|
|
552
552
|
method_option :version, :type => :boolean, :default => false, :aliases => "-v", :desc => "Set to show each gem version."
|
|
553
553
|
method_option :without, :type => :array, :default => [], :aliases => "-W", :banner => "GROUP[ GROUP...]", :desc => "Exclude gems that are part of the specified named group."
|
|
554
554
|
def viz
|
|
555
|
-
SharedHelpers.major_deprecation 2, "The `viz` command has been
|
|
555
|
+
SharedHelpers.major_deprecation 2, "The `viz` command has been renamed to `graph` and moved to a plugin. See https://github.com/rubygems/bundler-graph"
|
|
556
556
|
require_relative "cli/viz"
|
|
557
557
|
Viz.new(options.dup).run
|
|
558
558
|
end
|
|
@@ -649,25 +649,16 @@ module Bundler
|
|
|
649
649
|
end
|
|
650
650
|
|
|
651
651
|
def converge_dependencies
|
|
652
|
-
frozen = Bundler.frozen_bundle?
|
|
653
652
|
(@dependencies + locked_dependencies).each do |dep|
|
|
654
|
-
|
|
655
|
-
# This is to make sure that if bundler is installing in deployment mode and
|
|
656
|
-
# after locked_source and sources don't match, we still use locked_source.
|
|
657
|
-
if frozen && !locked_source.nil? &&
|
|
658
|
-
locked_source.respond_to?(:source) && locked_source.source.instance_of?(Source::Path) && locked_source.source.path.exist?
|
|
659
|
-
dep.source = locked_source.source
|
|
660
|
-
elsif dep.source
|
|
653
|
+
if dep.source
|
|
661
654
|
dep.source = sources.get(dep.source)
|
|
662
655
|
end
|
|
663
656
|
end
|
|
664
657
|
|
|
665
658
|
changes = false
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
@dependencies.each do |dependency|
|
|
670
|
-
unless locked_dep = @locked_deps[dependency.name]
|
|
659
|
+
|
|
660
|
+
@dependencies.each do |dep|
|
|
661
|
+
unless locked_dep = @locked_deps[dep.name]
|
|
671
662
|
changes = true
|
|
672
663
|
next
|
|
673
664
|
end
|
|
@@ -678,11 +669,11 @@ module Bundler
|
|
|
678
669
|
# directive, the lockfile dependencies and resolved dependencies end up
|
|
679
670
|
# with a mismatch on #type. Work around that by setting the type on the
|
|
680
671
|
# dep from the lockfile.
|
|
681
|
-
locked_dep.instance_variable_set(:@type,
|
|
672
|
+
locked_dep.instance_variable_set(:@type, dep.type)
|
|
682
673
|
|
|
683
674
|
# We already know the name matches from the hash lookup
|
|
684
675
|
# so we only need to check the requirement now
|
|
685
|
-
changes ||=
|
|
676
|
+
changes ||= dep.requirement != locked_dep.requirement
|
|
686
677
|
end
|
|
687
678
|
|
|
688
679
|
changes
|
|
@@ -692,34 +683,34 @@ module Bundler
|
|
|
692
683
|
# commonly happen if the Gemfile has changed since the lockfile was last
|
|
693
684
|
# generated
|
|
694
685
|
def converge_locked_specs
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
# Build a list of dependencies that are the same in the Gemfile
|
|
698
|
-
# and Gemfile.lock. If the Gemfile modified a dependency, but
|
|
699
|
-
# the gem in the Gemfile.lock still satisfies it, this is fine
|
|
700
|
-
# too.
|
|
701
|
-
@dependencies.each do |dep|
|
|
702
|
-
locked_dep = @locked_deps[dep.name]
|
|
686
|
+
resolve = converge_specs(@locked_specs)
|
|
703
687
|
|
|
704
|
-
|
|
705
|
-
locked_dep = nil unless locked_dep == dep
|
|
688
|
+
diff = nil
|
|
706
689
|
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
@locked_specs.each do |s|
|
|
711
|
-
@unlock[:gems] << s.name if s.source == dep.source
|
|
712
|
-
end
|
|
690
|
+
# Now, we unlock any sources that do not have anymore gems pinned to it
|
|
691
|
+
sources.all_sources.each do |source|
|
|
692
|
+
next unless source.respond_to?(:unlock!)
|
|
713
693
|
|
|
714
|
-
|
|
715
|
-
|
|
694
|
+
unless resolve.any? {|s| s.source == source }
|
|
695
|
+
diff ||= @locked_specs.to_a - resolve.to_a
|
|
696
|
+
source.unlock! if diff.any? {|s| s.source == source }
|
|
716
697
|
end
|
|
717
698
|
end
|
|
718
699
|
|
|
700
|
+
resolve
|
|
701
|
+
end
|
|
702
|
+
|
|
703
|
+
def converge_specs(specs)
|
|
704
|
+
deps = []
|
|
719
705
|
converged = []
|
|
720
|
-
|
|
706
|
+
specs.each do |s|
|
|
721
707
|
# Replace the locked dependency's source with the equivalent source from the Gemfile
|
|
722
708
|
dep = @dependencies.find {|d| s.satisfies?(d) }
|
|
709
|
+
|
|
710
|
+
if dep && (!dep.source || s.source.include?(dep.source))
|
|
711
|
+
deps << dep
|
|
712
|
+
end
|
|
713
|
+
|
|
723
714
|
s.source = (dep && dep.source) || sources.get(s.source) unless multisource_allowed?
|
|
724
715
|
|
|
725
716
|
# Don't add a spec to the list if its source is expired. For example,
|
|
@@ -737,7 +728,7 @@ module Bundler
|
|
|
737
728
|
rescue PathError, GitError
|
|
738
729
|
# if we won't need the source (according to the lockfile),
|
|
739
730
|
# don't error if the path/git source isn't available
|
|
740
|
-
next if
|
|
731
|
+
next if specs.
|
|
741
732
|
for(requested_dependencies, false, true).
|
|
742
733
|
none? {|locked_spec| locked_spec.source == s.source }
|
|
743
734
|
|
|
@@ -753,35 +744,15 @@ module Bundler
|
|
|
753
744
|
s.dependencies.replace(new_spec.dependencies)
|
|
754
745
|
end
|
|
755
746
|
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
resolve = SpecSet.new(resolve.for(expand_dependencies(deps, true), false, false).reject{|s| @unlock[:gems].include?(s.name) })
|
|
761
|
-
diff = nil
|
|
762
|
-
|
|
763
|
-
# Now, we unlock any sources that do not have anymore gems pinned to it
|
|
764
|
-
sources.all_sources.each do |source|
|
|
765
|
-
next unless source.respond_to?(:unlock!)
|
|
766
|
-
|
|
767
|
-
unless resolve.any? {|s| s.source == source }
|
|
768
|
-
diff ||= @locked_specs.to_a - resolve.to_a
|
|
769
|
-
source.unlock! if diff.any? {|s| s.source == source }
|
|
747
|
+
if dep.nil? && @dependencies.find {|d| s.name == d.name }
|
|
748
|
+
@unlock[:gems] << s.name
|
|
749
|
+
else
|
|
750
|
+
converged << s
|
|
770
751
|
end
|
|
771
752
|
end
|
|
772
753
|
|
|
773
|
-
resolve
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
def in_locked_deps?(dep, locked_dep)
|
|
777
|
-
# Because the lockfile can't link a dep to a specific remote, we need to
|
|
778
|
-
# treat sources as equivalent anytime the locked dep has all the remotes
|
|
779
|
-
# that the Gemfile dep does.
|
|
780
|
-
locked_dep && locked_dep.source && dep.source && locked_dep.source.include?(dep.source)
|
|
781
|
-
end
|
|
782
|
-
|
|
783
|
-
def satisfies_locked_spec?(dep)
|
|
784
|
-
@locked_specs[dep].any? {|s| s.satisfies?(dep) && (!dep.source || s.source.include?(dep.source)) }
|
|
754
|
+
resolve = SpecSet.new(converged)
|
|
755
|
+
SpecSet.new(resolve.for(expand_dependencies(deps, true), false, false).reject{|s| @unlock[:gems].include?(s.name) })
|
|
785
756
|
end
|
|
786
757
|
|
|
787
758
|
def metadata_dependencies
|
|
@@ -874,16 +845,11 @@ module Bundler
|
|
|
874
845
|
|
|
875
846
|
def additional_base_requirements_for_resolve
|
|
876
847
|
return [] unless @locked_gems && unlocking? && !sources.expired_sources?(@locked_gems.sources)
|
|
877
|
-
|
|
878
|
-
@locked_gems.specs.reduce({}) do |requirements, locked_spec|
|
|
848
|
+
converge_specs(@locked_gems.specs).map do |locked_spec|
|
|
879
849
|
name = locked_spec.name
|
|
880
|
-
dependency = dependencies_by_name[name]
|
|
881
|
-
next requirements if @locked_gems.dependencies[name] != dependency
|
|
882
|
-
next requirements if dependency && dependency.source.is_a?(Source::Path)
|
|
883
850
|
dep = Gem::Dependency.new(name, ">= #{locked_spec.version}")
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
end.values
|
|
851
|
+
DepProxy.get_proxy(dep, locked_spec.platform)
|
|
852
|
+
end
|
|
887
853
|
end
|
|
888
854
|
|
|
889
855
|
def equivalent_rubygems_remotes?(source)
|
|
@@ -129,8 +129,8 @@ module Bundler
|
|
|
129
129
|
|
|
130
130
|
def git_push(remote = nil)
|
|
131
131
|
remote ||= default_remote
|
|
132
|
-
sh(
|
|
133
|
-
sh(
|
|
132
|
+
sh("git push #{remote} refs/heads/#{current_branch}".shellsplit)
|
|
133
|
+
sh("git push #{remote} refs/tags/#{version_tag}".shellsplit)
|
|
134
134
|
Bundler.ui.confirm "Pushed git commits and release tag."
|
|
135
135
|
end
|
|
136
136
|
|
data/lib/rubygems/installer.rb
CHANGED
|
@@ -67,8 +67,6 @@ class Gem::Installer
|
|
|
67
67
|
|
|
68
68
|
@path_warning = false
|
|
69
69
|
|
|
70
|
-
@install_lock = Thread::Mutex.new
|
|
71
|
-
|
|
72
70
|
class << self
|
|
73
71
|
#
|
|
74
72
|
# Changes in rubygems to lazily loading `rubygems/command` (in order to
|
|
@@ -92,12 +90,6 @@ class Gem::Installer
|
|
|
92
90
|
|
|
93
91
|
attr_accessor :path_warning
|
|
94
92
|
|
|
95
|
-
##
|
|
96
|
-
# Certain aspects of the install process are not thread-safe. This lock is
|
|
97
|
-
# used to allow multiple threads to install Gems at the same time.
|
|
98
|
-
|
|
99
|
-
attr_reader :install_lock
|
|
100
|
-
|
|
101
93
|
##
|
|
102
94
|
# Overrides the executable format.
|
|
103
95
|
#
|
|
@@ -342,7 +334,7 @@ class Gem::Installer
|
|
|
342
334
|
|
|
343
335
|
say spec.post_install_message if options[:post_install_message] && !spec.post_install_message.nil?
|
|
344
336
|
|
|
345
|
-
Gem::
|
|
337
|
+
Gem::Specification.reset
|
|
346
338
|
|
|
347
339
|
run_post_install_hooks
|
|
348
340
|
|
|
@@ -527,7 +519,7 @@ class Gem::Installer
|
|
|
527
519
|
end
|
|
528
520
|
|
|
529
521
|
def generate_plugins # :nodoc:
|
|
530
|
-
latest = Gem::
|
|
522
|
+
latest = Gem::Specification.latest_spec_for(spec.name)
|
|
531
523
|
return if latest && latest.version > spec.version
|
|
532
524
|
|
|
533
525
|
ensure_writable_dir @plugins_dir
|
|
@@ -102,12 +102,8 @@ class Gem::Specification < Gem::BasicSpecification
|
|
|
102
102
|
today = Time.now.utc
|
|
103
103
|
TODAY = Time.utc(today.year, today.month, today.day) # :nodoc:
|
|
104
104
|
|
|
105
|
-
#
|
|
106
|
-
|
|
107
|
-
# rubocop:enable Style/MutableConstant
|
|
108
|
-
LOAD_CACHE_MUTEX = Thread::Mutex.new
|
|
109
|
-
|
|
110
|
-
private_constant :LOAD_CACHE if defined? private_constant
|
|
105
|
+
@load_cache = {} # :nodoc:
|
|
106
|
+
@load_cache_mutex = Thread::Mutex.new
|
|
111
107
|
|
|
112
108
|
VALID_NAME_PATTERN = /\A[a-zA-Z0-9\.\-\_]+\z/.freeze # :nodoc:
|
|
113
109
|
|
|
@@ -182,13 +178,23 @@ class Gem::Specification < Gem::BasicSpecification
|
|
|
182
178
|
@@default_value[k].nil?
|
|
183
179
|
end
|
|
184
180
|
|
|
185
|
-
|
|
186
|
-
|
|
181
|
+
def self.clear_specs # :nodoc:
|
|
182
|
+
@@all_specs_mutex.synchronize do
|
|
183
|
+
@@all = nil
|
|
184
|
+
@@stubs = nil
|
|
185
|
+
@@stubs_by_name = {}
|
|
186
|
+
@@spec_with_requirable_file = {}
|
|
187
|
+
@@active_stub_with_requirable_file = {}
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
private_class_method :clear_specs
|
|
191
|
+
|
|
192
|
+
@@all_specs_mutex = Thread::Mutex.new
|
|
193
|
+
|
|
194
|
+
clear_specs
|
|
187
195
|
|
|
188
196
|
# Sentinel object to represent "not found" stubs
|
|
189
197
|
NOT_FOUND = Struct.new(:to_spec, :this).new # :nodoc:
|
|
190
|
-
@@spec_with_requirable_file = {}
|
|
191
|
-
@@active_stub_with_requirable_file = {}
|
|
192
198
|
|
|
193
199
|
# Tracking removed method calls to warn users during build time.
|
|
194
200
|
REMOVED_METHODS = [:rubyforge_project=].freeze # :nodoc:
|
|
@@ -748,23 +754,15 @@ class Gem::Specification < Gem::BasicSpecification
|
|
|
748
754
|
attr_accessor :specification_version
|
|
749
755
|
|
|
750
756
|
def self._all # :nodoc:
|
|
751
|
-
|
|
752
|
-
@@all = stubs.map(&:to_spec)
|
|
753
|
-
|
|
754
|
-
# After a reset, make sure already loaded specs
|
|
755
|
-
# are still marked as activated.
|
|
756
|
-
specs = {}
|
|
757
|
-
Gem.loaded_specs.each_value{|s| specs[s] = true }
|
|
758
|
-
@@all.each{|s| s.activated = true if specs[s] }
|
|
759
|
-
end
|
|
760
|
-
@@all
|
|
757
|
+
@@all_specs_mutex.synchronize { @@all ||= Gem.loaded_specs.values | stubs.map(&:to_spec) }
|
|
761
758
|
end
|
|
762
759
|
|
|
763
|
-
def self.
|
|
764
|
-
|
|
765
|
-
|
|
760
|
+
def self.clear_load_cache # :nodoc:
|
|
761
|
+
@load_cache_mutex.synchronize do
|
|
762
|
+
@load_cache.clear
|
|
766
763
|
end
|
|
767
764
|
end
|
|
765
|
+
private_class_method :clear_load_cache
|
|
768
766
|
|
|
769
767
|
def self.each_gemspec(dirs) # :nodoc:
|
|
770
768
|
dirs.each do |dir|
|
|
@@ -1112,7 +1110,7 @@ class Gem::Specification < Gem::BasicSpecification
|
|
|
1112
1110
|
def self.load(file)
|
|
1113
1111
|
return unless file
|
|
1114
1112
|
|
|
1115
|
-
_spec =
|
|
1113
|
+
_spec = @load_cache_mutex.synchronize { @load_cache[file] }
|
|
1116
1114
|
return _spec if _spec
|
|
1117
1115
|
|
|
1118
1116
|
file = file.dup.tap(&Gem::UNTAINT)
|
|
@@ -1127,12 +1125,12 @@ class Gem::Specification < Gem::BasicSpecification
|
|
|
1127
1125
|
|
|
1128
1126
|
if Gem::Specification === _spec
|
|
1129
1127
|
_spec.loaded_from = File.expand_path file.to_s
|
|
1130
|
-
|
|
1131
|
-
prev =
|
|
1128
|
+
@load_cache_mutex.synchronize do
|
|
1129
|
+
prev = @load_cache[file]
|
|
1132
1130
|
if prev
|
|
1133
1131
|
_spec = prev
|
|
1134
1132
|
else
|
|
1135
|
-
|
|
1133
|
+
@load_cache[file] = _spec
|
|
1136
1134
|
end
|
|
1137
1135
|
end
|
|
1138
1136
|
return _spec
|
|
@@ -1230,12 +1228,8 @@ class Gem::Specification < Gem::BasicSpecification
|
|
|
1230
1228
|
def self.reset
|
|
1231
1229
|
@@dirs = nil
|
|
1232
1230
|
Gem.pre_reset_hooks.each {|hook| hook.call }
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
@@stubs_by_name = {}
|
|
1236
|
-
@@spec_with_requirable_file = {}
|
|
1237
|
-
@@active_stub_with_requirable_file = {}
|
|
1238
|
-
_clear_load_cache
|
|
1231
|
+
clear_specs
|
|
1232
|
+
clear_load_cache
|
|
1239
1233
|
unresolved = unresolved_deps
|
|
1240
1234
|
unless unresolved.empty?
|
|
1241
1235
|
w = "W" + "ARN"
|
data/lib/rubygems.rb
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
require 'rbconfig'
|
|
9
9
|
|
|
10
10
|
module Gem
|
|
11
|
-
VERSION = "3.2.
|
|
11
|
+
VERSION = "3.2.32".freeze
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
# Must be first since it unloads the prelude from 1.9.2
|
|
@@ -1325,22 +1325,6 @@ end
|
|
|
1325
1325
|
require_relative 'rubygems/exceptions'
|
|
1326
1326
|
|
|
1327
1327
|
# REFACTOR: This should be pulled out into some kind of hacks file.
|
|
1328
|
-
begin
|
|
1329
|
-
##
|
|
1330
|
-
# Defaults the operating system (or packager) wants to provide for RubyGems.
|
|
1331
|
-
|
|
1332
|
-
require 'rubygems/defaults/operating_system'
|
|
1333
|
-
rescue LoadError
|
|
1334
|
-
# Ignored
|
|
1335
|
-
rescue StandardError => e
|
|
1336
|
-
msg = "#{e.message}\n" \
|
|
1337
|
-
"Loading the rubygems/defaults/operating_system.rb file caused an error. " \
|
|
1338
|
-
"This file is owned by your OS, not by rubygems upstream. " \
|
|
1339
|
-
"Please find out which OS package this file belongs to and follow the guidelines from your OS to report " \
|
|
1340
|
-
"the problem and ask for help."
|
|
1341
|
-
raise e.class, msg
|
|
1342
|
-
end
|
|
1343
|
-
|
|
1344
1328
|
begin
|
|
1345
1329
|
##
|
|
1346
1330
|
# Defaults the Ruby implementation wants to provide for RubyGems
|
|
@@ -1356,3 +1340,19 @@ Gem::Specification.load_defaults
|
|
|
1356
1340
|
require_relative 'rubygems/core_ext/kernel_gem'
|
|
1357
1341
|
require_relative 'rubygems/core_ext/kernel_require'
|
|
1358
1342
|
require_relative 'rubygems/core_ext/kernel_warn'
|
|
1343
|
+
|
|
1344
|
+
begin
|
|
1345
|
+
##
|
|
1346
|
+
# Defaults the operating system (or packager) wants to provide for RubyGems.
|
|
1347
|
+
|
|
1348
|
+
require 'rubygems/defaults/operating_system'
|
|
1349
|
+
rescue LoadError
|
|
1350
|
+
# Ignored
|
|
1351
|
+
rescue StandardError => e
|
|
1352
|
+
msg = "#{e.message}\n" \
|
|
1353
|
+
"Loading the rubygems/defaults/operating_system.rb file caused an error. " \
|
|
1354
|
+
"This file is owned by your OS, not by rubygems upstream. " \
|
|
1355
|
+
"Please find out which OS package this file belongs to and follow the guidelines from your OS to report " \
|
|
1356
|
+
"the problem and ask for help."
|
|
1357
|
+
raise e.class, msg
|
|
1358
|
+
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.2.
|
|
5
|
+
s.version = "3.2.32"
|
|
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
|
|
data/test/rubygems/helper.rb
CHANGED
|
@@ -247,16 +247,14 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
|
247
247
|
output.scan(/^#{Regexp.escape make_command}(?:[[:blank:]].*)?$/)
|
|
248
248
|
end
|
|
249
249
|
|
|
250
|
-
def
|
|
251
|
-
|
|
250
|
+
def parse_make_command_line_targets(line)
|
|
251
|
+
args = line.sub(/^#{Regexp.escape make_command}/, "").shellsplit
|
|
252
252
|
|
|
253
253
|
targets = []
|
|
254
|
-
macros = {}
|
|
255
254
|
|
|
256
255
|
args.each do |arg|
|
|
257
256
|
case arg
|
|
258
257
|
when /\A(\w+)=/
|
|
259
|
-
macros[$1] = $'
|
|
260
258
|
else
|
|
261
259
|
targets << arg
|
|
262
260
|
end
|
|
@@ -264,11 +262,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
|
264
262
|
|
|
265
263
|
targets << '' if targets.empty?
|
|
266
264
|
|
|
267
|
-
|
|
268
|
-
:command => command,
|
|
269
|
-
:targets => targets,
|
|
270
|
-
:macros => macros,
|
|
271
|
-
}
|
|
265
|
+
targets
|
|
272
266
|
end
|
|
273
267
|
|
|
274
268
|
def assert_contains_make_command(target, output, msg = nil)
|
|
@@ -281,7 +275,7 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
|
281
275
|
)
|
|
282
276
|
else
|
|
283
277
|
msg = build_message(msg,
|
|
284
|
-
'Expected make command "%s"
|
|
278
|
+
'Expected make command "%s", but was "%s"' % [
|
|
285
279
|
('%s %s' % [make_command, target]).rstrip,
|
|
286
280
|
output,
|
|
287
281
|
]
|
|
@@ -289,10 +283,9 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
|
289
283
|
end
|
|
290
284
|
|
|
291
285
|
assert scan_make_command_lines(output).any? {|line|
|
|
292
|
-
|
|
286
|
+
targets = parse_make_command_line_targets(line)
|
|
293
287
|
|
|
294
|
-
if
|
|
295
|
-
yield make, line if block_given?
|
|
288
|
+
if targets.include?(target)
|
|
296
289
|
true
|
|
297
290
|
else
|
|
298
291
|
false
|
|
@@ -489,7 +482,6 @@ class Gem::TestCase < Test::Unit::TestCase
|
|
|
489
482
|
Gem.instance_variable_set :@default_dir, nil
|
|
490
483
|
end
|
|
491
484
|
|
|
492
|
-
Gem::Specification._clear_load_cache
|
|
493
485
|
Gem::Specification.unresolved_deps.clear
|
|
494
486
|
Gem::refresh
|
|
495
487
|
|
|
@@ -66,8 +66,11 @@ class TestGemExtExtConfBuilder < Gem::TestCase
|
|
|
66
66
|
end
|
|
67
67
|
end
|
|
68
68
|
|
|
69
|
-
def
|
|
70
|
-
env_make = ENV.delete '
|
|
69
|
+
def test_class_build_env_MAKE
|
|
70
|
+
env_make = ENV.delete 'make'
|
|
71
|
+
ENV['make'] = nil
|
|
72
|
+
|
|
73
|
+
env_MAKE = ENV.delete 'MAKE'
|
|
71
74
|
ENV['MAKE'] = 'anothermake'
|
|
72
75
|
|
|
73
76
|
if java_platform?
|
|
@@ -89,7 +92,8 @@ class TestGemExtExtConfBuilder < Gem::TestCase
|
|
|
89
92
|
assert_contains_make_command 'clean', output[4]
|
|
90
93
|
end
|
|
91
94
|
ensure
|
|
92
|
-
ENV['MAKE'] =
|
|
95
|
+
ENV['MAKE'] = env_MAKE
|
|
96
|
+
ENV['make'] = env_make
|
|
93
97
|
end
|
|
94
98
|
|
|
95
99
|
def test_class_build_extconf_fail
|
|
@@ -466,8 +466,7 @@ class TestGemRequire < Gem::TestCase
|
|
|
466
466
|
end
|
|
467
467
|
|
|
468
468
|
def test_realworld_default_gem
|
|
469
|
-
|
|
470
|
-
pend "this test can't work under ruby-core setup" if testing_ruby_repo || java_platform?
|
|
469
|
+
omit "this test can't work under ruby-core setup" if testing_ruby_repo?
|
|
471
470
|
|
|
472
471
|
cmd = <<-RUBY
|
|
473
472
|
$stderr = $stdout
|
|
@@ -480,8 +479,7 @@ class TestGemRequire < Gem::TestCase
|
|
|
480
479
|
end
|
|
481
480
|
|
|
482
481
|
def test_realworld_upgraded_default_gem
|
|
483
|
-
|
|
484
|
-
pend "this test can't work under ruby-core setup" if testing_ruby_repo
|
|
482
|
+
omit "this test can't work under ruby-core setup" if testing_ruby_repo?
|
|
485
483
|
|
|
486
484
|
newer_json = util_spec("json", "999.99.9", nil, ["lib/json.rb"])
|
|
487
485
|
install_gem newer_json
|
|
@@ -720,6 +718,10 @@ class TestGemRequire < Gem::TestCase
|
|
|
720
718
|
|
|
721
719
|
private
|
|
722
720
|
|
|
721
|
+
def testing_ruby_repo?
|
|
722
|
+
!ENV["GEM_COMMAND"].nil?
|
|
723
|
+
end
|
|
724
|
+
|
|
723
725
|
def silence_warnings
|
|
724
726
|
old_verbose, $VERBOSE = $VERBOSE, false
|
|
725
727
|
yield
|
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.2.
|
|
4
|
+
version: 3.2.32
|
|
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: 2021-11-
|
|
19
|
+
date: 2021-11-23 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
|
|
@@ -798,7 +798,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
798
798
|
- !ruby/object:Gem::Version
|
|
799
799
|
version: '0'
|
|
800
800
|
requirements: []
|
|
801
|
-
rubygems_version: 3.2.
|
|
801
|
+
rubygems_version: 3.2.32
|
|
802
802
|
signing_key:
|
|
803
803
|
specification_version: 4
|
|
804
804
|
summary: RubyGems is a package management framework for Ruby.
|