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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/History.txt +10 -0
- data/lib/rubygems.rb +1 -1
- data/lib/rubygems/dependency_installer.rb +3 -1
- data/lib/rubygems/dependency_resolver/index_set.rb +1 -1
- data/lib/rubygems/dependency_resolver/index_specification.rb +2 -2
- data/lib/rubygems/dependency_resolver/installer_set.rb +20 -1
- data/lib/rubygems/indexer.rb +7 -3
- data/lib/rubygems/package.rb +2 -6
- data/lib/rubygems/source/local.rb +1 -1
- data/test/rubygems/test_gem_dependency_resolver_index_specification.rb +27 -0
- data/test/rubygems/test_gem_indexer.rb +3 -0
- data/test/rubygems/test_gem_package.rb +13 -0
- metadata +3 -3
- metadata.gz.sig +0 -0
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA1:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: c3eb7f711990fd0f87cb87eca6c1627ebb4ff6c7
         | 
| 4 | 
            +
              data.tar.gz: c4f84f383343a06eaa173d95a7e67d909f041cb2
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 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
    
    
| @@ -403,7 +403,9 @@ class Gem::DependencyInstaller | |
| 403 403 | 
             
                  request_set.soft_missing = true
         | 
| 404 404 | 
             
                end
         | 
| 405 405 |  | 
| 406 | 
            -
                 | 
| 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,  | 
| 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 =  | 
| 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 | 
            -
                 | 
| 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 |  | 
    
        data/lib/rubygems/indexer.rb
    CHANGED
    
    | @@ -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 | 
            -
                 | 
| 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 = | 
| 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')
         | 
    
        data/lib/rubygems/package.rb
    CHANGED
    
    | @@ -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 | 
            -
                     | 
| 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 | 
            -
                     | 
| 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 |  | 
| @@ -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. | 
| 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- | 
| 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. | 
| 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 |