Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 403047 - app-admin/chef-0.10.8 has impossible dependencies
Summary: app-admin/chef-0.10.8 has impossible dependencies
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Benedikt Böhm (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-02-10 22:49 UTC by James Le Cuirot
Modified: 2012-02-21 09:15 UTC (History)
1 user (show)

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


Attachments
chef-0.10.8.ebuild patch (chef.patch,712 bytes, patch)
2012-02-20 21:07 UTC, Mike Doty (RETIRED)
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description James Le Cuirot gentoo-dev 2012-02-10 22:49:17 UTC
chef includes the following dependencies.

>=dev-ruby/net-ssh-2.1.3
<dev-ruby/net-ssh-2.2
>=dev-ruby/net-ssh-multi-1.1
<dev-ruby/net-ssh-multi-1.2

net-ssh-multi depends on ">=dev-ruby/net-ssh-2.1.4" so 2.1.4 is the only version of net-ssh that can satisfy both of these. Except that graaff culled this version from the tree a little while ago. I think he actually meant to remove 2.1.3, which is still in the tree.

It's also worth noting that it's impossible to install this version of chef together with dev-ruby/capistrano-2.9.0 if the latter has ruby19 enabled. It also depends on net-ssh but only the ebuilds for 2.2 and later include ruby19. It may be worth adding ruby19 to 2.1.4, if indeed it does work with this version of Ruby.
Comment 1 Hans de Graaff gentoo-dev Security 2012-02-11 08:57:38 UTC
I did mean to remove 2.1.4. 2.1.3 can't be removed since it is the latest stable version for most arches.

chef should fix its dependencies to match the slots we use within Gentoo, or bugs should be filed to create new slots. From the ruby side we'll only support that if it is really needed, i.e. if there are actual compatibility issues.
Comment 2 Benedikt Böhm (RETIRED) gentoo-dev 2012-02-13 09:33:55 UTC
these are the dependencies require by the gemspec. please fix the ruby mess yourself
Comment 3 Mike Doty (RETIRED) gentoo-dev 2012-02-20 21:07:21 UTC
Created attachment 302633 [details, diff]
chef-0.10.8.ebuild patch

Patch from flameeyes that works for me.  It looks like the deps from the gems are incorrect.  99.999% positive this all works without issue.
Comment 4 Benedikt Böhm (RETIRED) gentoo-dev 2012-02-21 07:49:10 UTC
for the sake of making this work vs. using the correct dependencies, i've commited your patch. still the ruby team should fix their mess :-(
Comment 5 Hans de Graaff gentoo-dev Security 2012-02-21 09:15:48 UTC
(In reply to comment #4)
> for the sake of making this work vs. using the correct dependencies, i've
> commited your patch. still the ruby team should fix their mess :-(

There is nothing to fix, the real mess is with rubygems itself which considers each individual version a slot and then happily overwrites files in them. In Gentoo we have chosen to create slots only for API-incompatible versions, but obviously this may require changes in gemspec files.

So if chef exposes an API incompatibility in a package that we haven't slotted then we can fix that. In this case it looks like chef has put in premature guards against newer versions. We see that in more gems and usually these are wrong.