rubygems-update 2.1.7 → 2.1.8

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