Forum: Ruby-core [Open] Install local versions of bundeld gems

C4c327c418a3182b7f6a30dd1534143a?d=identicon&s=25 Vít Ondruch (vo_x)
on 2014-09-01 14:07
(Received via mailing list)
Issue #10192 has been reported by Vit Ondruch.

----------------------------------------
Bug #10192: Install local versions of bundeld gems
https://bugs.ruby-lang.org/issues/10192

* Author: Vit Ondruch
* Status: Open
* Priority: Normal
* Assignee:
* Category:
* Target version:
* ruby -v: ruby 2.2.0dev (2014-08-26 trunk 47288) [x86_64-linux]
* Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN
----------------------------------------
Trying to build recent version of Ruby in Fedora's builder, which has no
access to the internet, the "make install" fails with error:

~~~
installing bundle gems:       /usr/share/ruby/gems/ (build_info, cache,
doc, extensions, gems, specifications)
                              minitest-5.4.0.gem
                              power_assert-0.1.3.gem
/builddir/build/BUILD/ruby-2.2.0-r47288/lib/rubygems/resolver.rb:406:in
`resolve_for_zero': Unable to resolve dependency: 'test-unit (= 3.0.0)'
requires 'power_assert (>= 0)' (Gem::UnsatisfiableDependencyError)
  from
/builddir/build/BUILD/ruby-2.2.0-r47288/lib/rubygems/resolver.rb:320:in
`resolve_for'
  from
/builddir/build/BUILD/ruby-2.2.0-r47288/lib/rubygems/resolver.rb:175:in
`resolve'
  from
/builddir/build/BUILD/ruby-2.2.0-r47288/lib/rubygems/request_set.rb:254:in
`resolve'
  from
/builddir/build/BUILD/ruby-2.2.0-r47288/lib/rubygems/dependency_installer.rb:436:in
`resolve_dependencies'
  from
/builddir/build/BUILD/ruby-2.2.0-r47288/lib/rubygems/dependency_installer.rb:371:in
`install'
  from /builddir/build/BUILD/ruby-2.2.0-r47288/lib/rubygems.rb:550:in
`install'
  from ./tool/rbinstall.rb:726:in `block (2 levels) in <main>'
  from ./tool/rbinstall.rb:725:in `each'
  from ./tool/rbinstall.rb:725:in `block in <main>'
  from ./tool/rbinstall.rb:756:in `call'
  from ./tool/rbinstall.rb:756:in `block in <main>'
  from ./tool/rbinstall.rb:753:in `each'
  from ./tool/rbinstall.rb:753:in `<main>'
uncommon.mk:239: recipe for target 'do-install-all' failed
~~~

As it appears, the installer doesn't mind to access the internet and
fetch the dependencies if needed, so nobody noticed this issue yet. The
attached patch allows to install only locally available gems and also
disables their dependency checking, to allow to install them unordered
and as a result offline "make isntall"

---Files--------------------------------
0001-Install-bundled-versions-of-gems-and-don-t-check-the.patch (1.08
KB)
This topic is locked and can not be replied to.