Bug 1163039
Summary: | Bundler can't see its dependencies after Bundler.setup | |||
---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Josef Stribny <jstribny> | |
Component: | rubygem-bundler | Assignee: | Josef Stribny <jstribny> | |
Status: | CLOSED RAWHIDE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | |
Severity: | unspecified | Docs Contact: | ||
Priority: | unspecified | |||
Version: | rawhide | CC: | besser82, bkabrda, hhorak, jstribny, s, vondruch | |
Target Milestone: | --- | |||
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | rubygem-bundler-1.7.6-1.fc22 | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1163041 1163042 1163076 1163083 (view as bug list) | Environment: | ||
Last Closed: | 2014-11-12 13:52:17 UTC | Type: | Bug | |
Regression: | --- | Mount Type: | --- | |
Documentation: | --- | CRM: | ||
Verified Versions: | Category: | --- | ||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
Cloudforms Team: | --- | Target Upstream Version: | ||
Embargoed: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1163041, 1163042, 1163076, 1163083, 1163085 |
I did a new build that contains the fix. This issue is fixed by generating the proper symlinks to system RubyGems after installation of bundler or uninstallation of old thor/net-http-persistent gems. |
Description of problem: Bundler can't see its dependencies after Bundler.setup. If thor or net-http-persistent are already in memory, Bundler can reuse them just fine, but if Bundler locks the Gemfile and those libs are not already loaded, Bundler doesn't see them even though they are its dependencies. Originally these dependencies are vendored inside the gem, but we removed them in Fedora. For Bundler to function as expected and designed by upstream we should most likely symlink the originally vendored libs to system-installed RubyGems. I am including a simple reproducer for rawhide although I came across this in the real usecase when Vagrant couldn't download remote plugins, because Bundler (which Vagrant uses underneath) uses net-http-persistent for that. How reproducible: $ bundle init $ irb > require 'bundler' > Bundler.setup > require 'bundler/vendored_thor' LoadError: cannot load such file -- thor from /usr/share/gems/gems/bundler-1.7.4/lib/bundler/vendored_thor.rb:7:in `require' from /usr/share/gems/gems/bundler-1.7.4/lib/bundler/vendored_thor.rb:7:in `<top (required)>' from (irb):5:in `require' from (irb):5 from /usr/bin/irb:11:in `<main>'