Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 608522 - app-emulation/vagrant-1.9.1 invalid dependency
Summary: app-emulation/vagrant-1.9.1 invalid dependency
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Tomáš Mózes
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-07 08:13 UTC by Alessandro Molari
Modified: 2017-02-13 07:30 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Correct gemspec patch (vagrant.gemspec.patch,446 bytes, patch)
2017-02-07 16:59 UTC, gavk
Details | Diff
Updated ebuild. (vagrant-1.9.1.ebuild,2.29 KB, text/plain)
2017-02-07 17:06 UTC, gavk
Details
Changes in ebuild. (vagrant-1.9.1.ebuild.diff,400 bytes, patch)
2017-02-07 17:11 UTC, gavk
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alessandro Molari 2017-02-07 08:13:07 UTC
Overview:

The vagrant ebuild specify childprocess as dependency (without restricting it) but actually the gem needs "childprocess ~> 0.5.0".

Thus, with dev-ruby/childprocess-0.6.1 gives the following error:

/usr/lib64/ruby/site_ruby/2.3.0/rubygems/dependency.rb:310:in `to_specs': Could not find 'childprocess' (~> 0.5.0) - did find: [childprocess-0.6.1] (Gem::MissingSpecVersionError)
Checked in 'GEM_PATH=/home/alem0lars/.gem/ruby/2.3.0:/usr/local/lib64/ruby/gems/2.3.0:/usr/lib64/ruby/gems/2.3.0:/home/alem0lars/.vagrant.d/gems', execute `gem env` for more information
        from /usr/lib64/ruby/site_ruby/2.3.0/rubygems/specification.rb:1439:in `block in activate_dependencies'
        from /usr/lib64/ruby/site_ruby/2.3.0/rubygems/specification.rb:1428:in `each'
        from /usr/lib64/ruby/site_ruby/2.3.0/rubygems/specification.rb:1428:in `activate_dependencies'
        from /usr/lib64/ruby/site_ruby/2.3.0/rubygems/specification.rb:1410:in `activate'
        from /usr/lib64/ruby/site_ruby/2.3.0/rubygems.rb:220:in `rescue in try_activate'
        from /usr/lib64/ruby/site_ruby/2.3.0/rubygems.rb:213:in `try_activate'
        from /usr/lib64/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:126:in `rescue in require'
        from /usr/lib64/ruby/site_ruby/2.3.0/rubygems/core_ext/kernel_require.rb:40:in `require'
        from /usr/lib64/ruby/gems/2.3.0/gems/vagrant-1.9.1/bin/vagrant:64:in `<main>'

Fix:

Should add strict childprocess gem requirement: "0.5.x"

Workaround:

Manually mask childprocess > 0.5
Comment 1 Guillaume Seren 2017-02-07 12:06:14 UTC
Hey,
@Alessandro you are right, as they target specifically 5.x branch[1],
we should add it in the DEPEND of the ebuild as long as they not officially support 6.x

Something like:
--- /usr/portage/app-emulation/vagrant/vagrant-1.9.1.ebuild     2016-12-22 10:28:29.000000000 +0100
+++ vagrant-1.9.1-r1.ebuild     2017-02-07 12:50:57.563908622 +0100
@@ -27,7 +27,7 @@ RDEPEND="${RDEPEND}
        virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )"

 ruby_add_rdepend "
-       >=dev-ruby/childprocess-0.5.0
+       ~dev-ruby/childprocess-0.5.9
        >=dev-ruby/erubis-2.7.0
        >=dev-ruby/i18n-0.6.0:* <dev-ruby/i18n-0.8.0:*
        >=dev-ruby/listen-3.1.5

[1]: https://github.com/mitchellh/vagrant/blob/c11534e13c2e95d9ceb2502955a91e23adfac7d1/vagrant.gemspec
Comment 2 gavk 2017-02-07 16:59:47 UTC
Created attachment 462808 [details, diff]
Correct gemspec patch
Comment 3 gavk 2017-02-07 17:06:35 UTC
Created attachment 462812 [details]
Updated ebuild.

My patch to resolve this situation.
Comment 4 gavk 2017-02-07 17:11:12 UTC
Created attachment 462814 [details, diff]
Changes in ebuild.
Comment 5 Tomáš Mózes 2017-02-08 07:31:20 UTC
I've just tested with dev-ruby/childprocess-0.6.1 and it works properly. So we only need to loosen the dep in the gemspec.

https://github.com/gentoo/gentoo/pull/3880

Thanks for the report guys.