rubygems-update 2.7.3 → 2.7.4.pre1

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.

Potentially problematic release.


This version of rubygems-update might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cc0054d823436dc260e3e3365622dc5bc173ed4855a2f22fdcaac219929b080e
4
- data.tar.gz: 6257d0503e5ca25f0601bec2600de2599c1815014fd866ae040313ded19be794
3
+ metadata.gz: 63ff9e604a757363d9926d8ef215fbe51d795b9d93206eaaed9e4837f7591066
4
+ data.tar.gz: 2bf3a54bc891263ceecef4ac5376eb30019680610c477ee4bd35d7bd8e2f499e
5
5
  SHA512:
6
- metadata.gz: 0041f39fec2a3abb43bf7eca6d3c82f883ca760fb2b4d9b4cc0539d9fa6f3a0f1d80bca636f49ab2960478c921d4b8513e135ae62893c592aa5760d8a2b9226d
7
- data.tar.gz: 5a2e0146149449fd9bb43e57efc2d0835e36fddff60a07ff5714d1f9737efe087505ba9fc40d256d155621c131a94f8e487255e17d67c105b46ac86eb6276d2a
6
+ metadata.gz: 5fcfed1779678c1205d2b1f1d3b8db19dec0ac2fce2b012c01e9c11fcf141ba3f66a6f500a3849be680c3585d5c40e3142475043dd6d192b5d5b584f18f170fb
7
+ data.tar.gz: 4caae01296d1578aa96b937124b71af579ef494ab1fcd45781a8c16f3d751e8b3b8c70755b36f8351ff8afa063773dcef0e954b1c8287a8f65838600622fcbce
data/.travis.yml CHANGED
@@ -18,9 +18,9 @@ rvm:
18
18
  - 1.9.3
19
19
  - 2.0.0
20
20
  - 2.1.10
21
- - 2.2.8
22
- - 2.3.5
23
- - 2.4.2
21
+ - 2.2.9
22
+ - 2.3.6
23
+ - 2.4.3
24
24
  - ruby-head
25
25
  env:
26
26
  - "TEST_TOOL=rubygems YAML=syck"
@@ -38,11 +38,11 @@ matrix:
38
38
  env: "TEST_TOOL=rubygems YAML=syck"
39
39
  - rvm: 2.1.10
40
40
  env: "TEST_TOOL=rubygems YAML=syck"
41
- - rvm: 2.2.7
41
+ - rvm: 2.2.9
42
42
  env: "TEST_TOOL=rubygems YAML=syck"
43
- - rvm: 2.3.4
43
+ - rvm: 2.3.6
44
44
  env: "TEST_TOOL=rubygems YAML=syck"
45
- - rvm: 2.4.1
45
+ - rvm: 2.4.3
46
46
  env: "TEST_TOOL=rubygems YAML=syck"
47
47
  - rvm: ruby-head
48
48
  env: "TEST_TOOL=rubygems YAML=syck"
data/lib/rubygems.rb CHANGED
@@ -10,7 +10,7 @@ require 'rbconfig'
10
10
  require 'thread'
11
11
 
12
12
  module Gem
13
- VERSION = "2.7.3"
13
+ VERSION = "2.7.4.pre1"
14
14
  end
15
15
 
16
16
  # Must be first since it unloads the prelude from 1.9.2
@@ -161,7 +161,7 @@ module Gem
161
161
  # these are defined in Ruby 1.8.7, hence the need for this convoluted setup.
162
162
 
163
163
  READ_BINARY_ERRORS = begin
164
- read_binary_errors = [Errno::EACCES, Errno::EROFS]
164
+ read_binary_errors = [Errno::EACCES, Errno::EROFS, Errno::ENOSYS]
165
165
  read_binary_errors << Errno::ENOTSUP if Errno.const_defined?(:ENOTSUP)
166
166
  read_binary_errors
167
167
  end.freeze
@@ -171,7 +171,7 @@ module Gem
171
171
  # these are defined in Ruby 1.8.7.
172
172
 
173
173
  WRITE_BINARY_ERRORS = begin
174
- write_binary_errors = []
174
+ write_binary_errors = [Errno::ENOSYS]
175
175
  write_binary_errors << Errno::ENOTSUP if Errno.const_defined?(:ENOTSUP)
176
176
  write_binary_errors
177
177
  end.freeze
@@ -300,7 +300,10 @@ class Gem::Command
300
300
 
301
301
  options[:build_args] = build_args
302
302
 
303
- self.ui = Gem::SilentUI.new if options[:silent]
303
+ if options[:silent]
304
+ old_ui = self.ui
305
+ self.ui = ui = Gem::SilentUI.new
306
+ end
304
307
 
305
308
  if options[:help] then
306
309
  show_help
@@ -309,6 +312,11 @@ class Gem::Command
309
312
  else
310
313
  execute
311
314
  end
315
+ ensure
316
+ if ui
317
+ self.ui = old_ui
318
+ ui.close
319
+ end
312
320
  end
313
321
 
314
322
  ##
@@ -359,6 +359,8 @@ By default, this RubyGems will install gem as:
359
359
  bundler_spec = Gem::Specification.load("bundler/bundler.gemspec")
360
360
  bundler_spec.files = Dir.chdir("bundler") { Dir["{*.md,{lib,exe,man}/**/*}"] }
361
361
  bundler_spec.executables -= %w[bundler bundle_ruby]
362
+
363
+ # Remove bundler-*.gemspec in default specification directory.
362
364
  Dir.entries(Gem::Specification.default_specifications_dir).
363
365
  select {|gs| gs.start_with?("bundler-") }.
364
366
  each {|gs| File.delete(File.join(Gem::Specification.default_specifications_dir, gs)) }
@@ -368,9 +370,16 @@ By default, this RubyGems will install gem as:
368
370
 
369
371
  bundler_spec = Gem::Specification.load(default_spec_path)
370
372
 
373
+ # Remove gemspec that was same version of vendored bundler.
374
+ normal_gemspec = File.join(Gem.default_dir, "specifications", "bundler-#{bundler_spec.version}.gemspec")
375
+ if File.file? normal_gemspec
376
+ File.delete normal_gemspec
377
+ end
378
+
379
+ # Remove gem files that were same version of vendored bundler.
371
380
  if File.directory? bundler_spec.gems_dir
372
381
  Dir.entries(bundler_spec.gems_dir).
373
- select {|default_gem| File.basename(default_gem).match(/^bundler-#{Gem::Version::VERSION_PATTERN}$/) }.
382
+ select {|default_gem| File.basename(default_gem) == "bundler-#{bundler_spec.version}" }.
374
383
  each {|default_gem| rm_r File.join(bundler_spec.gems_dir, default_gem) }
375
384
  end
376
385
 
@@ -6,6 +6,8 @@ require 'rubygems/commands/setup_command'
6
6
 
7
7
  class TestGemCommandsSetupCommand < Gem::TestCase
8
8
 
9
+ BUNDLER_VERS = `gem list -e bundler`[/([^() ]+)\)\Z/, 1] || "1.16.0"
10
+
9
11
  def setup
10
12
  super
11
13
 
@@ -41,10 +43,16 @@ class TestGemCommandsSetupCommand < Gem::TestCase
41
43
  end
42
44
 
43
45
  open(File.join(Gem::Specification.default_specifications_dir, "bundler-1.15.4.gemspec"), 'w') do |io|
44
- io.puts '# bundler'
46
+ gemspec.version = "1.15.4"
47
+ io.puts gemspec.to_ruby
45
48
  end
46
49
 
47
50
  FileUtils.mkdir_p File.join(Gem.default_dir, "specifications")
51
+
52
+ open(File.join(Gem.default_dir, "specifications", "bundler-#{BUNDLER_VERS}.gemspec"), 'w') do |io|
53
+ io.puts '# bundler-1.16.1'
54
+ end
55
+
48
56
  open(File.join(Gem.default_dir, "specifications", "bundler-audit-1.0.0.gemspec"), 'w') do |io|
49
57
  io.puts '# bundler-audit'
50
58
  end
@@ -133,13 +141,25 @@ class TestGemCommandsSetupCommand < Gem::TestCase
133
141
 
134
142
  default_dir = Gem::Specification.default_specifications_dir
135
143
 
144
+ # expect to remove other versions of bundler gemspecs on default specification directory.
136
145
  refute_path_exists File.join(default_dir, "bundler-1.15.4.gemspec")
137
- refute_path_exists 'default/gems/bundler-1.15.4'
138
-
139
- assert_path_exists File.join(default_dir, "bundler-1.16.0.gemspec")
140
- assert_path_exists 'default/gems/bundler-1.16.0'
146
+ assert_path_exists File.join(default_dir, "bundler-#{BUNDLER_VERS}.gemspec")
141
147
 
148
+ # expect to not remove bundler-* gemspecs.
142
149
  assert_path_exists File.join(Gem.default_dir, "specifications", "bundler-audit-1.0.0.gemspec")
150
+
151
+ # expect to remove normal gem that was same version. because it's promoted default gems.
152
+ refute_path_exists File.join(Gem.default_dir, "specifications", "bundler-#{BUNDLER_VERS}.gemspec")
153
+
154
+ # expect to install default gems. It location was `site_ruby` direcotry on real world.
155
+ assert_path_exists "default/gems/bundler-#{BUNDLER_VERS}"
156
+
157
+ # expect to not remove other versions of bundler on `site_ruby`
158
+ assert_path_exists 'default/gems/bundler-1.15.4'
159
+
160
+ # TODO: We need to assert to remove same version of bundler on gem_dir direcotry(It's not site_ruby dir)
161
+
162
+ # expect to not remove bundler-* direcotyr.
143
163
  assert_path_exists 'default/gems/bundler-audit-1.0.0'
144
164
  end if Gem::USE_BUNDLER_FOR_GEMDEPS
145
165
 
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: 2.7.3
4
+ version: 2.7.4.pre1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-11-28 00:00:00.000000000 Z
13
+ date: 2017-12-25 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: builder
@@ -803,7 +803,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
803
803
  version: '0'
804
804
  requirements: []
805
805
  rubyforge_project:
806
- rubygems_version: 2.7.2
806
+ rubygems_version: 2.7.3
807
807
  signing_key:
808
808
  specification_version: 4
809
809
  summary: ''