rubygems-update 2.7.3 → 2.7.4.pre1

Sign up to get free protection for your applications and to get access to all the features.

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: ''