Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 489916 - app-admin/chef should not depend on old versions of dev-ruby/json
Summary: app-admin/chef should not depend on old versions of dev-ruby/json
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-10-30 22:10 UTC by Florian Eitel
Modified: 2015-04-26 14:38 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Eitel 2013-10-30 22:10:47 UTC
dev-ruby/json-1.7.7 works fine with ruby 2.0 (test suite runs without any error).

dev-ruby/json-1.8.0 has already ruby 2.0 use flag but for example app-admin/chef depends on <=dev-ruby-1.7.7 (https://tickets.opscode.com/browse/CHEF-4632).

On the other hand ruby-2.0.0 requires >=dev-ruby/json-1.7.7[ruby_targets_ruby20] but dev-ruby/json-1.7.7 has no ruby20 flag.

This means ruby-2.0.0 installs json-1.8.0 which is to new for chef. So it is currently impossible to install ruby 2.0 and chef on the same system.

Reproducible: Always

Steps to Reproduce:
1. emerge -vat dev-lang/ruby:2.0 app-admin/chef
2.
3.


Expected Results:  
dev-ruby/json.1.7.7 should have USE_RUBY+="ruby20"
Comment 1 Hans de Graaff gentoo-dev Security 2013-10-31 06:29:48 UTC
As far as we can tell all json 1.x versions have a compatible API so we won't slot this package and backport the ruby20 target. This should be fixed at the chef side (at least in Gentoo) to make chef's dependencies consistent with how ruby is packaged in Gentoo.

http://wiki.gentoo.org/wiki/Project:Ruby/Packaging_RubyGems#Version_numbers_and_slots
Comment 2 Florian Eitel 2013-10-31 12:58:57 UTC
Chef installs fine with dev-ruby/json-1.8.0 if I change the dependencies. But due to the RESTRICT=test I can't run the tests. So I don't know if everything is working.

I don't care if chef uses dev-ruby/json-1.8.0 or if dev-ruby/json-1.8.0 supports ruby 2.0 but it would be great if I could install ruby 2.0 and chef on the same system.

But I think it is maybe easier to add "ruby20" to json, run the tests and see that everything is working, instead of changing chefs dependencies and can't test it. But it's up to you.
Comment 3 Hans de Graaff gentoo-dev Security 2013-11-09 08:41:10 UTC
(In reply to Florian Eitel from comment #2)

> But I think it is maybe easier to add "ruby20" to json, run the tests and
> see that everything is working, instead of changing chefs dependencies and
> can't test it. But it's up to you.

The policy on the ruby side is to keep only the latest version in each slot, so json 1.7.7 could be removed at any moment once a newer version is stable. This is the reason chef dependencies should be updated.

https://wiki.gentoo.org/wiki/Project:Ruby/Packaging_RubyGems#Version_numbers_and_slots
Comment 4 James Cline 2014-04-04 21:15:12 UTC
app-emulation/vagrant-1.4.3-r2 now only supports a RUBY_TARGET of ruby20, which prevents me upgrading vagrant past 1.4.3-r1 without some progress here.

In order to prevent emerge from complaining a lot I have to have the following package.mask entries:

>=dev-ruby/json-1.8.0
>app-emulation/vagrant-1.4.3-r1

Depending on what else you have installed you may also need >=dev-lang/ruby-2.0.0
Comment 5 Manuel Rüger (RETIRED) gentoo-dev 2015-04-26 14:38:45 UTC
Removed from the tree.