rubygems-update 2.1.7 → 2.1.8

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
  SHA1:
3
- metadata.gz: c20c7c669b32417a83211d35eeff0d0d98713e7d
4
- data.tar.gz: bd5443e865df6b0ce628a5965697b774c86d3ac3
3
+ metadata.gz: c3eb7f711990fd0f87cb87eca6c1627ebb4ff6c7
4
+ data.tar.gz: c4f84f383343a06eaa173d95a7e67d909f041cb2
5
5
  SHA512:
6
- metadata.gz: 4613025ac39f89bd6e74699f2f3b6a46de2bdeb5e76617e1623014d339aff631e56e5d2dac5acb908dd7cabfb9e30da1043ce6d45eb85751b4ad26dc2d637cda
7
- data.tar.gz: c19dd4c9508c24558e644483d17158266825b9dc8220719be5caa292f2edc9c81b9e0c9c8ac6568c249e1da4163034de2c364ca6023ba203579275845ea41895
6
+ metadata.gz: 902cedce83b8ec3fab27ec81b8c3e0722c4517b71cfe132b30f366b51aafa01d69195233d0645d3a2e27d750c2ee63902794dcdd9cce682613910ab5f28e1da3
7
+ data.tar.gz: 3116347b7dcd216652caff56d52ef2c55940f67c7117623d49d75313a8f89dd6f2989327375ea8a9ea9b70aee66d87c8ba11daa72d1aec2ee41806eaacdd9c8c
checksums.yaml.gz.sig CHANGED
Binary file
data.tar.gz.sig CHANGED
Binary file
data/History.txt CHANGED
@@ -1,5 +1,15 @@
1
1
  # coding: UTF-8
2
2
 
3
+ === 2.1.8 / 2013-10-10
4
+
5
+ Bug fixes:
6
+
7
+ * Fixed local installation of platform gem files. Issue #664 by Ryan Melton.
8
+ * Files starting with "." in the root directory are installed again. Issue
9
+ #680 by Ivo Wever, Pull Request #681 by Jeremy Evans.
10
+ * The index generator no longer indexes default gems. Issue #661 by
11
+ Jeremy Hinegardner.
12
+
3
13
  === 2.1.7 / 2013-10-09
4
14
 
5
15
  Bug fixes:
data/lib/rubygems.rb CHANGED
@@ -8,7 +8,7 @@
8
8
  require 'rbconfig'
9
9
 
10
10
  module Gem
11
- VERSION = '2.1.7'
11
+ VERSION = '2.1.8'
12
12
  end
13
13
 
14
14
  # Must be first since it unloads the prelude from 1.9.2
@@ -403,7 +403,9 @@ class Gem::DependencyInstaller
403
403
  request_set.soft_missing = true
404
404
  end
405
405
 
406
- request_set.resolve Gem::DependencyResolver.compose_sets(as, installer_set)
406
+ composed_set = Gem::DependencyResolver.compose_sets as, installer_set
407
+
408
+ request_set.resolve composed_set
407
409
 
408
410
  request_set
409
411
  end
@@ -30,7 +30,7 @@ class Gem::DependencyResolver::IndexSet
30
30
  name = req.dependency.name
31
31
 
32
32
  @all[name].each do |uri, n|
33
- if req.dependency.match? n
33
+ if req.dependency.match? n then
34
34
  res << Gem::DependencyResolver::IndexSpecification.new(
35
35
  self, n.name, n.version, uri, n.platform)
36
36
  end
@@ -14,12 +14,12 @@ class Gem::DependencyResolver::IndexSpecification
14
14
 
15
15
  attr_reader :version
16
16
 
17
- def initialize set, name, version, source, plat
17
+ def initialize set, name, version, source, platform
18
18
  @set = set
19
19
  @name = name
20
20
  @version = version
21
21
  @source = source
22
- @platform = plat
22
+ @platform = platform.to_s
23
23
 
24
24
  @spec = nil
25
25
  end
@@ -87,7 +87,11 @@ class Gem::DependencyResolver::InstallerSet
87
87
  end
88
88
 
89
89
  def inspect # :nodoc:
90
- '#<%s domain: %s specs: %p>' % [ self.class, @domain, @specs.keys ]
90
+ always_install = @always_install.map { |s| s.full_name }
91
+
92
+ '#<%s domain: %s specs: %p always install: %p>' % [
93
+ self.class, @domain, @specs.keys, always_install,
94
+ ]
91
95
  end
92
96
 
93
97
  ##
@@ -131,5 +135,20 @@ class Gem::DependencyResolver::InstallerSet
131
135
  def prefetch(reqs)
132
136
  end
133
137
 
138
+ def pretty_print q # :nodoc:
139
+ q.group 2, '[InstallerSet', ']' do
140
+ q.breakable
141
+ q.text "domain: #{@domain}"
142
+
143
+ q.breakable
144
+ q.text 'specs: '
145
+ q.pp @specs.keys
146
+
147
+ q.breakable
148
+ q.text 'always install: '
149
+ q.pp @always_install
150
+ end
151
+ end
152
+
134
153
  end
135
154
 
@@ -126,7 +126,7 @@ class Gem::Indexer
126
126
  # Builds Marshal quick index gemspecs.
127
127
 
128
128
  def build_marshal_gemspecs
129
- count = Gem::Specification.count
129
+ count = Gem::Specification.count { |s| not s.default_gem? }
130
130
  progress = ui.progress_reporter count,
131
131
  "Generating Marshal quick index gemspecs for #{count} gems",
132
132
  "Complete"
@@ -135,6 +135,7 @@ class Gem::Indexer
135
135
 
136
136
  Gem.time 'Generated Marshal quick index gemspecs' do
137
137
  Gem::Specification.each do |spec|
138
+ next if spec.default_gem?
138
139
  spec_file_name = "#{spec.original_name}.gemspec.rz"
139
140
  marshal_name = File.join @quick_marshal_dir, spec_file_name
140
141
 
@@ -188,10 +189,13 @@ class Gem::Indexer
188
189
  # Builds indicies for RubyGems 1.2 and newer. Handles full, latest, prerelease
189
190
 
190
191
  def build_modern_indicies
191
- prerelease, released = Gem::Specification.partition { |s|
192
+ specs = Gem::Specification.reject { |s| s.default_gem? }
193
+
194
+ prerelease, released = specs.partition { |s|
192
195
  s.version.prerelease?
193
196
  }
194
- latest_specs = Gem::Specification.latest_specs
197
+ latest_specs =
198
+ Gem::Specification.latest_specs.reject { |s| s.default_gem? }
195
199
 
196
200
  build_modern_index(released.sort, @specs_index, 'specs')
197
201
  build_modern_index(latest_specs.sort, @latest_specs_index, 'latest specs')
@@ -339,13 +339,9 @@ EOM
339
339
  def extract_tar_gz io, destination_dir, pattern = "*" # :nodoc:
340
340
  open_tar_gz io do |tar|
341
341
  tar.each do |entry|
342
- # Some entries start with "./" which fnmatch does not like, see github
343
- # issue #644
344
- full_name = entry.full_name.sub %r%\A\./%, ''
342
+ next unless File.fnmatch pattern, entry.full_name, File::FNM_DOTMATCH
345
343
 
346
- next unless File.fnmatch pattern, full_name
347
-
348
- destination = install_location full_name, destination_dir
344
+ destination = install_location entry.full_name, destination_dir
349
345
 
350
346
  FileUtils.rm_rf destination
351
347
 
@@ -97,7 +97,7 @@ class Gem::Source::Local < Gem::Source
97
97
  if data = @specs[name]
98
98
  data.last.spec
99
99
  else
100
- raise Gem::Exception, "Unable to find spec for '#{name}'"
100
+ raise Gem::Exception, "Unable to find spec for #{name.inspect}"
101
101
  end
102
102
  end
103
103
 
@@ -1,5 +1,6 @@
1
1
  require 'rubygems/test_case'
2
2
  require 'rubygems/dependency_resolver'
3
+ require 'rubygems/available_set'
3
4
 
4
5
  class TestGemDependencyResolverIndexSpecification < Gem::TestCase
5
6
 
@@ -18,6 +19,17 @@ class TestGemDependencyResolverIndexSpecification < Gem::TestCase
18
19
  assert_equal source, spec.source
19
20
  end
20
21
 
22
+ def test_initialize_platform
23
+ set = Gem::DependencyResolver::IndexSet.new
24
+ source = Gem::Source::Local.new
25
+ version = Gem::Version.new '3.0.3'
26
+
27
+ spec = Gem::DependencyResolver::IndexSpecification.new(
28
+ set, 'rails', version, source, Gem::Platform.local)
29
+
30
+ assert_equal Gem::Platform.local.to_s, spec.platform
31
+ end
32
+
21
33
  def test_spec
22
34
  @fetcher = Gem::FakeFetcher.new
23
35
  Gem::RemoteFetcher.fetcher = @fetcher
@@ -41,6 +53,21 @@ class TestGemDependencyResolverIndexSpecification < Gem::TestCase
41
53
  assert_equal a_2_p.full_name, spec.full_name
42
54
  end
43
55
 
56
+ def test_spec_local
57
+ a_2_p = quick_spec 'a', 2 do |s| s.platform = Gem::Platform.local end
58
+ Gem::Package.build a_2_p
59
+
60
+ source = Gem::Source::Local.new
61
+ set = Gem::DependencyResolver::InstallerSet.new :local
62
+ set.always_install << a_2_p
63
+
64
+ i_spec = Gem::DependencyResolver::IndexSpecification.new \
65
+ set, 'a', v(2), source, Gem::Platform.local
66
+
67
+ spec = i_spec.spec
68
+
69
+ assert_equal a_2_p.full_name, spec.full_name
70
+ end
44
71
 
45
72
  end
46
73
 
@@ -24,6 +24,9 @@ class TestGemIndexer < Gem::TestCase
24
24
  @d2_0_b = quick_spec 'd', '2.0.b'
25
25
  util_build_gem @d2_0_b
26
26
 
27
+ @default = new_default_spec 'default', 2
28
+ install_default_gems @default
29
+
27
30
  @tempdir = File.join(@tempdir, 'indexer')
28
31
 
29
32
  gems = File.join(@tempdir, 'gems')
@@ -409,6 +409,19 @@ class TestGemPackage < Gem::Package::TarTestCase
409
409
  assert_path_exists extracted
410
410
  end
411
411
 
412
+ def test_extract_tar_gz_dot_file
413
+ package = Gem::Package.new @gem
414
+
415
+ tgz_io = util_tar_gz do |tar|
416
+ tar.add_file '.dot_file.rb', 0644 do |io| io.write 'hi' end
417
+ end
418
+
419
+ package.extract_tar_gz tgz_io, @destination
420
+
421
+ extracted = File.join @destination, '.dot_file.rb'
422
+ assert_path_exists extracted
423
+ end
424
+
412
425
  def test_install_location
413
426
  package = Gem::Package.new @gem
414
427
 
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.1.7
4
+ version: 2.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -32,7 +32,7 @@ cert_chain:
32
32
  KDyY1VIazVgoC8XvR4h/95/iScPiuglzA+DBG1hip1xScAtw05BrXyUNrc9CEMYU
33
33
  wgF94UVoHRp6ywo8I7NP3HcwFQDFNEZPNGXsng==
34
34
  -----END CERTIFICATE-----
35
- date: 2013-10-09 00:00:00.000000000 Z
35
+ date: 2013-10-10 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: minitest
@@ -495,7 +495,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
495
495
  version: '0'
496
496
  requirements: []
497
497
  rubyforge_project: rubygems-update
498
- rubygems_version: 2.1.5
498
+ rubygems_version: 2.1.7
499
499
  signing_key:
500
500
  specification_version: 4
501
501
  summary: RubyGems is a package management framework for Ruby
metadata.gz.sig CHANGED
Binary file