rubygems-update 3.2.3 → 3.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{History.txt → CHANGELOG.md} +443 -427
- data/Manifest.txt +28 -27
- data/Rakefile +3 -3
- data/bundler/CHANGELOG.md +7 -0
- data/bundler/bundler.gemspec +1 -1
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli.rb +2 -5
- data/bundler/{man → lib/bundler/man}/bundle-add.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-cache.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-check.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-clean.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-config.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-exec.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-gem.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-info.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-init.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-inject.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-install.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-list.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-lock.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-open.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-platform.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-remove.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-show.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-update.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle-viz.1 +0 -0
- data/bundler/{man → lib/bundler/man}/bundle.1 +0 -0
- data/bundler/{man → lib/bundler/man}/gemfile.5 +0 -0
- data/bundler/{man → lib/bundler/man}/index.txt +0 -0
- data/bundler/lib/bundler/source/git/git_proxy.rb +27 -40
- data/bundler/lib/bundler/version.rb +1 -1
- data/lib/rubygems.rb +1 -1
- data/lib/rubygems/commands/setup_command.rb +16 -60
- data/lib/rubygems/ext/builder.rb +3 -3
- data/lib/rubygems/ext/cmake_builder.rb +1 -2
- data/lib/rubygems/ext/configure_builder.rb +1 -2
- data/lib/rubygems/remote_fetcher.rb +3 -1
- data/lib/rubygems/resolver/best_set.rb +1 -1
- data/lib/rubygems/resolver/index_specification.rb +4 -1
- data/lib/rubygems/test_case.rb +3 -3
- data/rubygems-update.gemspec +2 -2
- data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
- data/test/rubygems/test_gem_commands_setup_command.rb +13 -36
- data/test/rubygems/test_gem_dependency_installer.rb +27 -47
- data/test/rubygems/test_gem_ext_builder.rb +6 -6
- data/test/rubygems/test_gem_ext_cmake_builder.rb +2 -4
- data/test/rubygems/test_gem_ext_configure_builder.rb +2 -2
- data/test/rubygems/test_gem_remote_fetcher.rb +1 -1
- data/test/rubygems/test_gem_resolver_best_set.rb +23 -0
- data/test/rubygems/test_gem_specification.rb +1 -3
- metadata +32 -55
data/Manifest.txt
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
+
CHANGELOG.md
|
1
2
|
CODE_OF_CONDUCT.md
|
2
3
|
CONTRIBUTING.md
|
3
|
-
History.txt
|
4
4
|
LICENSE.txt
|
5
5
|
MAINTAINERS.txt
|
6
6
|
MIT.txt
|
@@ -91,31 +91,57 @@ bundler/lib/bundler/lazy_specification.rb
|
|
91
91
|
bundler/lib/bundler/lockfile_generator.rb
|
92
92
|
bundler/lib/bundler/lockfile_parser.rb
|
93
93
|
bundler/lib/bundler/man/.document
|
94
|
+
bundler/lib/bundler/man/bundle-add.1
|
94
95
|
bundler/lib/bundler/man/bundle-add.1.ronn
|
96
|
+
bundler/lib/bundler/man/bundle-binstubs.1
|
95
97
|
bundler/lib/bundler/man/bundle-binstubs.1.ronn
|
98
|
+
bundler/lib/bundler/man/bundle-cache.1
|
96
99
|
bundler/lib/bundler/man/bundle-cache.1.ronn
|
100
|
+
bundler/lib/bundler/man/bundle-check.1
|
97
101
|
bundler/lib/bundler/man/bundle-check.1.ronn
|
102
|
+
bundler/lib/bundler/man/bundle-clean.1
|
98
103
|
bundler/lib/bundler/man/bundle-clean.1.ronn
|
104
|
+
bundler/lib/bundler/man/bundle-config.1
|
99
105
|
bundler/lib/bundler/man/bundle-config.1.ronn
|
106
|
+
bundler/lib/bundler/man/bundle-doctor.1
|
100
107
|
bundler/lib/bundler/man/bundle-doctor.1.ronn
|
108
|
+
bundler/lib/bundler/man/bundle-exec.1
|
101
109
|
bundler/lib/bundler/man/bundle-exec.1.ronn
|
110
|
+
bundler/lib/bundler/man/bundle-gem.1
|
102
111
|
bundler/lib/bundler/man/bundle-gem.1.ronn
|
112
|
+
bundler/lib/bundler/man/bundle-info.1
|
103
113
|
bundler/lib/bundler/man/bundle-info.1.ronn
|
114
|
+
bundler/lib/bundler/man/bundle-init.1
|
104
115
|
bundler/lib/bundler/man/bundle-init.1.ronn
|
116
|
+
bundler/lib/bundler/man/bundle-inject.1
|
105
117
|
bundler/lib/bundler/man/bundle-inject.1.ronn
|
118
|
+
bundler/lib/bundler/man/bundle-install.1
|
106
119
|
bundler/lib/bundler/man/bundle-install.1.ronn
|
120
|
+
bundler/lib/bundler/man/bundle-list.1
|
107
121
|
bundler/lib/bundler/man/bundle-list.1.ronn
|
122
|
+
bundler/lib/bundler/man/bundle-lock.1
|
108
123
|
bundler/lib/bundler/man/bundle-lock.1.ronn
|
124
|
+
bundler/lib/bundler/man/bundle-open.1
|
109
125
|
bundler/lib/bundler/man/bundle-open.1.ronn
|
126
|
+
bundler/lib/bundler/man/bundle-outdated.1
|
110
127
|
bundler/lib/bundler/man/bundle-outdated.1.ronn
|
128
|
+
bundler/lib/bundler/man/bundle-platform.1
|
111
129
|
bundler/lib/bundler/man/bundle-platform.1.ronn
|
130
|
+
bundler/lib/bundler/man/bundle-pristine.1
|
112
131
|
bundler/lib/bundler/man/bundle-pristine.1.ronn
|
132
|
+
bundler/lib/bundler/man/bundle-remove.1
|
113
133
|
bundler/lib/bundler/man/bundle-remove.1.ronn
|
134
|
+
bundler/lib/bundler/man/bundle-show.1
|
114
135
|
bundler/lib/bundler/man/bundle-show.1.ronn
|
136
|
+
bundler/lib/bundler/man/bundle-update.1
|
115
137
|
bundler/lib/bundler/man/bundle-update.1.ronn
|
138
|
+
bundler/lib/bundler/man/bundle-viz.1
|
116
139
|
bundler/lib/bundler/man/bundle-viz.1.ronn
|
140
|
+
bundler/lib/bundler/man/bundle.1
|
117
141
|
bundler/lib/bundler/man/bundle.1.ronn
|
142
|
+
bundler/lib/bundler/man/gemfile.5
|
118
143
|
bundler/lib/bundler/man/gemfile.5.ronn
|
144
|
+
bundler/lib/bundler/man/index.txt
|
119
145
|
bundler/lib/bundler/match_platform.rb
|
120
146
|
bundler/lib/bundler/mirror.rb
|
121
147
|
bundler/lib/bundler/plugin.rb
|
@@ -280,32 +306,6 @@ bundler/lib/bundler/version_ranges.rb
|
|
280
306
|
bundler/lib/bundler/vlad.rb
|
281
307
|
bundler/lib/bundler/worker.rb
|
282
308
|
bundler/lib/bundler/yaml_serializer.rb
|
283
|
-
bundler/man/bundle-add.1
|
284
|
-
bundler/man/bundle-binstubs.1
|
285
|
-
bundler/man/bundle-cache.1
|
286
|
-
bundler/man/bundle-check.1
|
287
|
-
bundler/man/bundle-clean.1
|
288
|
-
bundler/man/bundle-config.1
|
289
|
-
bundler/man/bundle-doctor.1
|
290
|
-
bundler/man/bundle-exec.1
|
291
|
-
bundler/man/bundle-gem.1
|
292
|
-
bundler/man/bundle-info.1
|
293
|
-
bundler/man/bundle-init.1
|
294
|
-
bundler/man/bundle-inject.1
|
295
|
-
bundler/man/bundle-install.1
|
296
|
-
bundler/man/bundle-list.1
|
297
|
-
bundler/man/bundle-lock.1
|
298
|
-
bundler/man/bundle-open.1
|
299
|
-
bundler/man/bundle-outdated.1
|
300
|
-
bundler/man/bundle-platform.1
|
301
|
-
bundler/man/bundle-pristine.1
|
302
|
-
bundler/man/bundle-remove.1
|
303
|
-
bundler/man/bundle-show.1
|
304
|
-
bundler/man/bundle-update.1
|
305
|
-
bundler/man/bundle-viz.1
|
306
|
-
bundler/man/bundle.1
|
307
|
-
bundler/man/gemfile.5
|
308
|
-
bundler/man/index.txt
|
309
309
|
hide_lib_for_update/note.txt
|
310
310
|
lib/rubygems.rb
|
311
311
|
lib/rubygems/available_set.rb
|
@@ -511,6 +511,7 @@ test/rubygems/child_key.pem
|
|
511
511
|
test/rubygems/client.pem
|
512
512
|
test/rubygems/data/gem-private_key.pem
|
513
513
|
test/rubygems/data/gem-public_cert.pem
|
514
|
+
test/rubygems/data/null-required-rubygems-version.gemspec.rz
|
514
515
|
test/rubygems/data/null-type.gemspec.rz
|
515
516
|
test/rubygems/encrypted_private_key.pem
|
516
517
|
test/rubygems/expired_cert.pem
|
data/Rakefile
CHANGED
@@ -39,7 +39,7 @@ RDoc::Task.new :rdoc => 'docs', :clobber_rdoc => 'clobber_docs' do |doc|
|
|
39
39
|
doc.title = "RubyGems #{v} API Documentation"
|
40
40
|
|
41
41
|
rdoc_files = Rake::FileList.new %w[lib bundler/lib]
|
42
|
-
rdoc_files.add %w[
|
42
|
+
rdoc_files.add %w[CHANGELOG.md LICENSE.txt MIT.txt CODE_OF_CONDUCT.md CONTRIBUTING.md
|
43
43
|
MAINTAINERS.txt Manifest.txt POLICIES.md README.md UPGRADING.md bundler/CHANGELOG.md
|
44
44
|
bundler/doc/contributing/README.md bundler/LICENSE.md bundler/README.md
|
45
45
|
hide_lib_for_update/note.txt].map(&:freeze)
|
@@ -108,7 +108,7 @@ end
|
|
108
108
|
|
109
109
|
desc "Install rubygems to local system"
|
110
110
|
task :install => [:clear_package, :package] do
|
111
|
-
sh "ruby -Ilib bin/gem install --no-document pkg/rubygems-update-#{v}.gem && update_rubygems --no-document"
|
111
|
+
sh "ruby -Ilib bin/gem install --no-document pkg/rubygems-update-#{v}.gem --backtrace && update_rubygems --no-document --backtrace"
|
112
112
|
end
|
113
113
|
|
114
114
|
desc "Clears previously built package"
|
@@ -365,7 +365,7 @@ module Rubygems
|
|
365
365
|
class ProjectFiles
|
366
366
|
def self.all
|
367
367
|
files = []
|
368
|
-
exclude = %r{\A(?:\.|dev_gems|bundler/(?!lib|
|
368
|
+
exclude = %r{\A(?:\.|dev_gems|bundler/(?!lib|exe|[^/]+\.md|bundler.gemspec)|util/)}
|
369
369
|
tracked_files = `git ls-files`.split("\n")
|
370
370
|
|
371
371
|
tracked_files.each do |path|
|
data/bundler/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
# 2.2.4 (December 31, 2020)
|
2
|
+
|
3
|
+
## Bug fixes:
|
4
|
+
|
5
|
+
- Fix bundle man pages display on truffleruby [#4209](https://github.com/rubygems/rubygems/pull/4209)
|
6
|
+
- Fix Windows + JRuby no longer being able to install git sources [#4196](https://github.com/rubygems/rubygems/pull/4196)
|
7
|
+
|
1
8
|
# 2.2.3 (December 22, 2020)
|
2
9
|
|
3
10
|
## Bug fixes:
|
data/bundler/bundler.gemspec
CHANGED
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
|
|
34
34
|
s.required_ruby_version = ">= 2.3.0"
|
35
35
|
s.required_rubygems_version = ">= 2.5.2"
|
36
36
|
|
37
|
-
s.files = Dir.glob("{lib,
|
37
|
+
s.files = Dir.glob("{lib,exe}/**/*", File::FNM_DOTMATCH).reject {|f| File.directory?(f) }
|
38
38
|
|
39
39
|
# Include the CHANGELOG.md, LICENSE.md, README.md manually
|
40
40
|
s.files += %w[CHANGELOG.md LICENSE.md README.md]
|
@@ -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 = "2020-12-
|
8
|
-
@git_commit_sha = "
|
7
|
+
@built_at = "2020-12-31".freeze
|
8
|
+
@git_commit_sha = "529e536f28".freeze
|
9
9
|
@release = true
|
10
10
|
# end ivars
|
11
11
|
|
data/bundler/lib/bundler/cli.rb
CHANGED
@@ -122,9 +122,7 @@ module Bundler
|
|
122
122
|
else command = "bundle-#{cli}"
|
123
123
|
end
|
124
124
|
|
125
|
-
man_path = File.expand_path("
|
126
|
-
# man files are located under ruby's mandir with the default gems of bundler
|
127
|
-
man_path = RbConfig::CONFIG["mandir"] unless File.directory?(man_path)
|
125
|
+
man_path = File.expand_path("man", __dir__)
|
128
126
|
man_pages = Hash[Dir.glob(File.join(man_path, "**", "*")).grep(/.*\.\d*\Z/).collect do |f|
|
129
127
|
[File.basename(f, ".*"), f]
|
130
128
|
end]
|
@@ -134,8 +132,7 @@ module Bundler
|
|
134
132
|
if Bundler.which("man") && man_path !~ %r{^file:/.+!/META-INF/jruby.home/.+}
|
135
133
|
Kernel.exec "man #{man_page}"
|
136
134
|
else
|
137
|
-
|
138
|
-
puts File.read("#{fallback_man_path}/#{File.basename(man_page)}.ronn")
|
135
|
+
puts File.read("#{man_path}/#{File.basename(man_page)}.ronn")
|
139
136
|
end
|
140
137
|
elsif command_path = Bundler.which("bundler-#{cli}")
|
141
138
|
Kernel.exec(command_path, "--help")
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -67,13 +67,13 @@ module Bundler
|
|
67
67
|
|
68
68
|
def branch
|
69
69
|
@branch ||= allowed_with_path do
|
70
|
-
git("rev-parse --abbrev-ref HEAD", :dir => path).strip
|
70
|
+
git("rev-parse", "--abbrev-ref", "HEAD", :dir => path).strip
|
71
71
|
end
|
72
72
|
end
|
73
73
|
|
74
74
|
def contains?(commit)
|
75
75
|
allowed_with_path do
|
76
|
-
result, status = git_null("branch --contains
|
76
|
+
result, status = git_null("branch", "--contains", commit, :dir => path)
|
77
77
|
status.success? && result =~ /^\* (.*)$/
|
78
78
|
end
|
79
79
|
end
|
@@ -88,20 +88,22 @@ module Bundler
|
|
88
88
|
|
89
89
|
def checkout
|
90
90
|
return if path.exist? && has_revision_cached?
|
91
|
-
extra_ref = "#{
|
91
|
+
extra_ref = "#{ref}:#{ref}" if ref && ref.start_with?("refs/")
|
92
92
|
|
93
93
|
Bundler.ui.info "Fetching #{URICredentialsFilter.credential_filtered_uri(uri)}"
|
94
94
|
|
95
|
+
configured_uri = configured_uri_for(uri).to_s
|
96
|
+
|
95
97
|
unless path.exist?
|
96
98
|
SharedHelpers.filesystem_access(path.dirname) do |p|
|
97
99
|
FileUtils.mkdir_p(p)
|
98
100
|
end
|
99
|
-
git_retry
|
101
|
+
git_retry "clone", configured_uri, path.to_s, "--bare", "--no-hardlinks", "--quiet"
|
100
102
|
return unless extra_ref
|
101
103
|
end
|
102
104
|
|
103
105
|
with_path do
|
104
|
-
git_retry
|
106
|
+
git_retry(*["fetch", "--force", "--quiet", "--tags", configured_uri, "refs/heads/*:refs/heads/*", extra_ref].compact, :dir => path)
|
105
107
|
end
|
106
108
|
end
|
107
109
|
|
@@ -115,7 +117,7 @@ module Bundler
|
|
115
117
|
SharedHelpers.filesystem_access(destination) do |p|
|
116
118
|
FileUtils.rm_rf(p)
|
117
119
|
end
|
118
|
-
git_retry
|
120
|
+
git_retry "clone", "--no-checkout", "--quiet", path.to_s, destination.to_s
|
119
121
|
File.chmod(((File.stat(destination).mode | 0o777) & ~File.umask), destination)
|
120
122
|
rescue Errno::EEXIST => e
|
121
123
|
file_path = e.message[%r{.*?((?:[a-zA-Z]:)?/.*)}, 1]
|
@@ -125,46 +127,45 @@ module Bundler
|
|
125
127
|
end
|
126
128
|
end
|
127
129
|
# method 2
|
128
|
-
git_retry
|
130
|
+
git_retry "fetch", "--force", "--quiet", "--tags", path.to_s, :dir => destination
|
129
131
|
|
130
132
|
begin
|
131
|
-
git "reset --hard
|
133
|
+
git "reset", "--hard", @revision, :dir => destination
|
132
134
|
rescue GitCommandError => e
|
133
135
|
raise MissingGitRevisionError.new(e.command, path, destination, @revision, URICredentialsFilter.credential_filtered_uri(uri))
|
134
136
|
end
|
135
137
|
|
136
138
|
if submodules
|
137
|
-
git_retry "submodule update --init --recursive", :dir => destination
|
139
|
+
git_retry "submodule", "update", "--init", "--recursive", :dir => destination
|
138
140
|
elsif Gem::Version.create(version) >= Gem::Version.create("2.9.0")
|
139
141
|
inner_command = "git -C $toplevel submodule deinit --force $sm_path"
|
140
|
-
|
141
|
-
git_retry "submodule foreach --quiet \"#{inner_command}\"", :dir => destination
|
142
|
+
git_retry "submodule", "foreach", "--quiet", inner_command, :dir => destination
|
142
143
|
end
|
143
144
|
end
|
144
145
|
|
145
146
|
private
|
146
147
|
|
147
|
-
def git_null(command, dir: SharedHelpers.pwd)
|
148
|
+
def git_null(*command, dir: SharedHelpers.pwd)
|
148
149
|
check_allowed(command)
|
149
150
|
|
150
151
|
out, status = SharedHelpers.with_clean_git_env do
|
151
|
-
capture_and_ignore_stderr("git
|
152
|
+
capture_and_ignore_stderr("git", "-C", dir.to_s, *command)
|
152
153
|
end
|
153
154
|
|
154
155
|
[URICredentialsFilter.credential_filtered_string(out, uri), status]
|
155
156
|
end
|
156
157
|
|
157
|
-
def git_retry(command, dir: SharedHelpers.pwd)
|
158
|
-
Bundler::Retry.new("`git #{URICredentialsFilter.credential_filtered_string(command, uri)}`", GitNotAllowedError).attempts do
|
159
|
-
git(command, :dir => dir)
|
158
|
+
def git_retry(*command, dir: SharedHelpers.pwd)
|
159
|
+
Bundler::Retry.new("`git -C #{dir} #{URICredentialsFilter.credential_filtered_string(command.shelljoin, uri)}`", GitNotAllowedError).attempts do
|
160
|
+
git(*command, :dir => dir)
|
160
161
|
end
|
161
162
|
end
|
162
163
|
|
163
|
-
def git(command, dir: SharedHelpers.pwd)
|
164
|
+
def git(*command, dir: SharedHelpers.pwd)
|
164
165
|
command_with_no_credentials = check_allowed(command)
|
165
166
|
|
166
167
|
out, status = SharedHelpers.with_clean_git_env do
|
167
|
-
capture_and_filter_stderr(
|
168
|
+
capture_and_filter_stderr("git", "-C", dir.to_s, *command)
|
168
169
|
end
|
169
170
|
|
170
171
|
raise GitCommandError.new(command_with_no_credentials, path, dir) unless status.success?
|
@@ -174,7 +175,7 @@ module Bundler
|
|
174
175
|
|
175
176
|
def has_revision_cached?
|
176
177
|
return unless @revision
|
177
|
-
with_path { git("cat-file -e
|
178
|
+
with_path { git("cat-file", "-e", @revision, :dir => path) }
|
178
179
|
true
|
179
180
|
rescue GitError
|
180
181
|
false
|
@@ -186,26 +187,12 @@ module Bundler
|
|
186
187
|
|
187
188
|
def find_local_revision
|
188
189
|
allowed_with_path do
|
189
|
-
git("rev-parse --verify
|
190
|
+
git("rev-parse", "--verify", ref, :dir => path).strip
|
190
191
|
end
|
191
192
|
rescue GitCommandError => e
|
192
193
|
raise MissingGitRevisionError.new(e.command, path, path, ref, URICredentialsFilter.credential_filtered_uri(uri))
|
193
194
|
end
|
194
195
|
|
195
|
-
# Escape the URI for git commands
|
196
|
-
def uri_escaped_with_configured_credentials
|
197
|
-
remote = configured_uri_for(uri)
|
198
|
-
if Bundler::WINDOWS
|
199
|
-
# Windows quoting requires double quotes only, with double quotes
|
200
|
-
# inside the string escaped by being doubled.
|
201
|
-
'"' + remote.gsub('"') { '""' } + '"'
|
202
|
-
else
|
203
|
-
# Bash requires single quoted strings, with the single quotes escaped
|
204
|
-
# by ending the string, escaping the quote, and restarting the string.
|
205
|
-
"'" + remote.gsub("'") { "'\\''" } + "'"
|
206
|
-
end
|
207
|
-
end
|
208
|
-
|
209
196
|
# Adds credentials to the URI as Fetcher#configured_uri_for does
|
210
197
|
def configured_uri_for(uri)
|
211
198
|
if /https?:/ =~ uri
|
@@ -233,21 +220,21 @@ module Bundler
|
|
233
220
|
end
|
234
221
|
|
235
222
|
def check_allowed(command)
|
236
|
-
command_with_no_credentials = URICredentialsFilter.credential_filtered_string(command, uri)
|
223
|
+
command_with_no_credentials = URICredentialsFilter.credential_filtered_string(command.shelljoin, uri)
|
237
224
|
raise GitNotAllowedError.new(command_with_no_credentials) unless allow?
|
238
225
|
command_with_no_credentials
|
239
226
|
end
|
240
227
|
|
241
|
-
def capture_and_filter_stderr(
|
228
|
+
def capture_and_filter_stderr(*cmd)
|
242
229
|
require "open3"
|
243
|
-
return_value, captured_err, status = Open3.capture3(cmd
|
244
|
-
Bundler.ui.warn URICredentialsFilter.credential_filtered_string(captured_err, uri)
|
230
|
+
return_value, captured_err, status = Open3.capture3(*cmd)
|
231
|
+
Bundler.ui.warn URICredentialsFilter.credential_filtered_string(captured_err, uri) unless captured_err.empty?
|
245
232
|
[return_value, status]
|
246
233
|
end
|
247
234
|
|
248
|
-
def capture_and_ignore_stderr(cmd
|
235
|
+
def capture_and_ignore_stderr(*cmd)
|
249
236
|
require "open3"
|
250
|
-
return_value, _, status = Open3.capture3(cmd
|
237
|
+
return_value, _, status = Open3.capture3(*cmd)
|
251
238
|
[return_value, status]
|
252
239
|
end
|
253
240
|
end
|
data/lib/rubygems.rb
CHANGED
@@ -6,8 +6,8 @@ require 'rubygems/command'
|
|
6
6
|
# RubyGems checkout or tarball.
|
7
7
|
|
8
8
|
class Gem::Commands::SetupCommand < Gem::Command
|
9
|
-
HISTORY_HEADER =
|
10
|
-
VERSION_MATCHER =
|
9
|
+
HISTORY_HEADER = /^#\s*[\d.a-zA-Z]+\s*\/\s*\d{4}-\d{2}-\d{2}\s*$/.freeze
|
10
|
+
VERSION_MATCHER = /^#\s*([\d.a-zA-Z]+)\s*\/\s*\d{4}-\d{2}-\d{2}\s*$/.freeze
|
11
11
|
|
12
12
|
ENV_PATHS = %w[/usr/bin/env /bin/env].freeze
|
13
13
|
|
@@ -167,19 +167,18 @@ By default, this RubyGems will install gem as:
|
|
167
167
|
extend MakeDirs
|
168
168
|
|
169
169
|
lib_dir, bin_dir = make_destination_dirs install_destdir
|
170
|
-
man_dir =
|
170
|
+
man_dir = generate_default_man_dir install_destdir
|
171
171
|
|
172
172
|
install_lib lib_dir
|
173
173
|
|
174
|
-
install_man man_dir
|
175
|
-
|
176
174
|
install_executables bin_dir
|
177
175
|
|
178
176
|
remove_old_bin_files bin_dir
|
179
177
|
|
180
178
|
remove_old_lib_files lib_dir
|
181
179
|
|
182
|
-
|
180
|
+
# Can be removed one we drop support for bundler 2.2.3 (the last version installing man files to man_dir)
|
181
|
+
remove_old_man_files man_dir if man_dir && File.exist?(man_dir)
|
183
182
|
|
184
183
|
install_default_bundler_gem bin_dir
|
185
184
|
|
@@ -330,21 +329,6 @@ By default, this RubyGems will install gem as:
|
|
330
329
|
end
|
331
330
|
end
|
332
331
|
|
333
|
-
def install_man(man_dir)
|
334
|
-
mans = { 'Bundler' => 'bundler/man' }
|
335
|
-
mans.each do |tool, path|
|
336
|
-
say "Installing #{tool} manpages" if @verbose
|
337
|
-
|
338
|
-
bundler_man1_files = bundler_man1_files_in(path)
|
339
|
-
bundler_man5_files = bundler_man5_files_in(path)
|
340
|
-
|
341
|
-
Dir.chdir path do
|
342
|
-
install_file_list(bundler_man1_files, "#{man_dir}/man1")
|
343
|
-
install_file_list(bundler_man5_files, "#{man_dir}/man5")
|
344
|
-
end
|
345
|
-
end
|
346
|
-
end
|
347
|
-
|
348
332
|
def install_rdoc
|
349
333
|
gem_doc_dir = File.join Gem.dir, 'doc'
|
350
334
|
rubygems_name = "rubygems-#{Gem::VERSION}"
|
@@ -392,7 +376,7 @@ By default, this RubyGems will install gem as:
|
|
392
376
|
mkdir_p specs_dir, :mode => 0755
|
393
377
|
|
394
378
|
bundler_spec = Gem::Specification.load("bundler/bundler.gemspec")
|
395
|
-
bundler_spec.files = Dir.chdir("bundler") { Dir["{*.md,{lib,exe
|
379
|
+
bundler_spec.files = Dir.chdir("bundler") { Dir["{*.md,{lib,exe}/**/*}"] }
|
396
380
|
bundler_spec.executables -= %w[bundler bundle_ruby]
|
397
381
|
|
398
382
|
# Remove bundler-*.gemspec in default specification directory.
|
@@ -455,19 +439,12 @@ By default, this RubyGems will install gem as:
|
|
455
439
|
return lib_dir, bin_dir
|
456
440
|
end
|
457
441
|
|
458
|
-
def make_man_dir(install_destdir)
|
459
|
-
man_dir = generate_default_man_dir(install_destdir)
|
460
|
-
|
461
|
-
mkdir_p man_dir, :mode => 0755
|
462
|
-
|
463
|
-
return man_dir
|
464
|
-
end
|
465
|
-
|
466
442
|
def generate_default_man_dir(install_destdir)
|
467
443
|
prefix = options[:prefix]
|
468
444
|
|
469
445
|
if prefix.empty?
|
470
446
|
man_dir = RbConfig::CONFIG['mandir']
|
447
|
+
return unless man_dir
|
471
448
|
else
|
472
449
|
man_dir = File.join prefix, 'man'
|
473
450
|
end
|
@@ -518,20 +495,6 @@ By default, this RubyGems will install gem as:
|
|
518
495
|
end
|
519
496
|
end
|
520
497
|
|
521
|
-
# for installation of bundler as default gems
|
522
|
-
def bundler_man1_files_in(dir)
|
523
|
-
Dir.chdir dir do
|
524
|
-
Dir['bundle*.1']
|
525
|
-
end
|
526
|
-
end
|
527
|
-
|
528
|
-
# for installation of bundler as default gems
|
529
|
-
def bundler_man5_files_in(dir)
|
530
|
-
Dir.chdir dir do
|
531
|
-
Dir['gemfile.5']
|
532
|
-
end
|
533
|
-
end
|
534
|
-
|
535
498
|
def remove_old_bin_files(bin_dir)
|
536
499
|
old_bin_files = {
|
537
500
|
'gem_mirror' => 'gem mirror',
|
@@ -585,33 +548,26 @@ abort "#{deprecation_message}"
|
|
585
548
|
end
|
586
549
|
end
|
587
550
|
|
588
|
-
def remove_old_man_files(
|
589
|
-
|
590
|
-
man_dirs.each do |old_man_dir, new_man_dir|
|
591
|
-
man1_files = bundler_man1_files_in(new_man_dir)
|
592
|
-
|
593
|
-
old_man1_dir = "#{old_man_dir}/man1"
|
594
|
-
old_man1_files = bundler_man1_files_in(old_man1_dir)
|
595
|
-
old_man1_files += Dir.chdir(old_man1_dir) { Dir["bundle*.1.{txt,ronn}"] }
|
551
|
+
def remove_old_man_files(old_man_dir)
|
552
|
+
old_man1_dir = "#{old_man_dir}/man1"
|
596
553
|
|
597
|
-
|
554
|
+
if File.exist?(old_man1_dir)
|
555
|
+
man1_to_remove = Dir.chdir(old_man1_dir) { Dir["bundle*.1{,.txt,.ronn}"] }
|
598
556
|
|
599
557
|
remove_file_list(man1_to_remove, old_man1_dir)
|
558
|
+
end
|
600
559
|
|
601
|
-
|
602
|
-
|
603
|
-
old_man5_dir = "#{old_man_dir}/man5"
|
604
|
-
old_man5_files = bundler_man5_files_in(old_man5_dir)
|
605
|
-
old_man5_files += Dir.chdir(old_man5_dir) { Dir["gemfile.5.{txt,ronn}"] }
|
560
|
+
old_man5_dir = "#{old_man_dir}/man5"
|
606
561
|
|
607
|
-
|
562
|
+
if File.exist?(old_man5_dir)
|
563
|
+
man5_to_remove = Dir.chdir(old_man5_dir) { Dir["gemfile.5{,.txt,.ronn}"] }
|
608
564
|
|
609
565
|
remove_file_list(man5_to_remove, old_man5_dir)
|
610
566
|
end
|
611
567
|
end
|
612
568
|
|
613
569
|
def show_release_notes
|
614
|
-
release_notes = File.join Dir.pwd, '
|
570
|
+
release_notes = File.join Dir.pwd, 'CHANGELOG.md'
|
615
571
|
|
616
572
|
release_notes =
|
617
573
|
if File.exist? release_notes
|