Summary: | Please re-keyword dev-ruby/sinatra-1.0 and new dependency | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Hans de Graaff <graaff> |
Component: | New packages | Assignee: | Gentoo Ruby Team <ruby> |
Status: | RESOLVED FIXED | ||
Severity: | enhancement | Keywords: | KEYWORDREQ |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Hans de Graaff
![]() ![]() It has a un-keyworded dep and conflicts with dev-ruby/rack-test-0.5.3 when it comes to =dev-ruby/rack-1.0*! # tail /etc/portage/package.keywords/arch -n 7 =dev-ruby/sinatra-1.0 ** dev-ruby/haml dev-ruby/rack-test dev-ruby/rack dev-ruby/test-spec dev-ruby/mocha # emerge -av sinatra * IMPORTANT: 2 news items need reading for repository 'gentoo'. * Use eselect news to read news items. These are the packages that would be merged, in order: Calculating dependencies... done! !!! Multiple package instances within a single package slot have been pulled !!! into the dependency graph, resulting in a slot conflict: dev-ruby/rack:0 ('ebuild', '/', 'dev-ruby/rack-1.0.1-r1', 'merge') pulled in by =dev-ruby/rack-1.0*[ruby_targets_ruby18] required by ('ebuild', '/', 'dev-ruby/rack-test-0.5.3', 'merge') ('ebuild', '/', 'dev-ruby/rack-1.1.0', 'merge') pulled in by >=dev-ruby/rack-1.0[ruby_targets_ruby18] required by ('ebuild', '/', 'dev-ruby/sinatra-1.0', 'merge') It may be possible to solve this problem by using package.mask to prevent one of those packages from being selected. However, it is also possible that conflicting dependencies exist such that they are impossible to satisfy simultaneously. If such a conflict exists in the dependencies of two different packages, then those packages can not be installed simultaneously. You may want to try a larger value of the --backtrack option, such as --backtrack=30, in order to see if that will solve this conflict automatically. For more information, see MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. !!! All ebuilds that could satisfy ">=dev-ruby/abstract-1.0.0[ruby_targets_ruby18]" have been masked. !!! One of the following masked packages is required to complete your request: - dev-ruby/abstract-1.0.0 (masked by: missing keyword) (dependency required by "dev-ruby/erubis-2.6.5" [ebuild]) (dependency required by "dev-ruby/sinatra-1.0" [ebuild]) (dependency required by "sinatra" [argument]) For more information, see the MASKED PACKAGES section in the emerge man page or refer to the Gentoo Handbook. Good catch on the additional dependency, that also needs to be keyworded: dev-ruby/abstract-1.0.0 As for the rack situation, it looks like we added dev-ruby/rack-test specifically to support sinatra's tests, so I've adjusted dev-ruby/sinatra's requirement to be similar to that of rack-test. This should fix the conflict you reported. Thanks for the report! dev-ruby/haml-2.2.24 and some others should probably depend on a few packages with higher version numbers than currently stable, because of "Missing IUSE: ruby_targets_ruby18" on older ebuilds... - dev-ruby/hpricot-0.6 (Missing IUSE: ruby_targets_ruby18) (dependency required by "dev-ruby/haml-2.2.24" [ebuild]) (dependency required by "dev-ruby/sinatra-1.0" [ebuild]) (dependency required by "sinatra" [argument]) - dev-ruby/actionpack-2.3.5 (Missing IUSE: ruby_targets_ruby18) - dev-ruby/actionpack-2.2.3-r1 (Missing IUSE: ruby_targets_ruby18) (dependency required by "dev-ruby/haml-2.2.24" [ebuild]) (dependency required by "dev-ruby/sinatra-1.0" [ebuild]) (dependency required by "sinatra" [argument]) - dev-ruby/actionmailer-2.3.5 (Missing IUSE: ruby_targets_ruby18) (dependency required by "dev-ruby/actionpack-2.3.5-r1" [ebuild]) (dependency required by "dev-ruby/haml-2.2.24" [ebuild]) (dependency required by "dev-ruby/sinatra-1.0" [ebuild]) (dependency required by "sinatra" [argument]) - dev-ruby/activerecord-2.3.5 (Missing IUSE: ruby_targets_ruby18) (dependency required by "dev-ruby/actionpack-2.3.5-r1" [ebuild]) (dependency required by "dev-ruby/haml-2.2.24" [ebuild]) (dependency required by "dev-ruby/sinatra-1.0" [ebuild]) (dependency required by "sinatra" [argument]) - dev-ruby/activesupport-2.3.5 (Missing IUSE: ruby_targets_ruby18) (dependency required by "dev-ruby/actionpack-2.3.5-r1" [ebuild]) (dependency required by "dev-ruby/haml-2.2.24" [ebuild]) (dependency required by "dev-ruby/sinatra-1.0" [ebuild]) (dependency required by "sinatra" [argument]) - dev-ruby/racc-1.4.5 (Missing IUSE: ruby_targets_ruby18) (dependency required by "dev-ruby/tmail-1.2.3.1" [ebuild]) (dependency required by "dev-ruby/actionmailer-2.3.5-r1" [ebuild]) (dependency required by "dev-ruby/actionpack-2.3.5-r1" [ebuild]) (dependency required by "dev-ruby/haml-2.2.24" [ebuild]) (dependency required by "dev-ruby/sinatra-1.0" [ebuild]) (dependency required by "sinatra" [argument]) - dev-ruby/mysql-ruby-2.8.1 (Missing IUSE: ruby_targets_ruby18) (dependency required by "dev-ruby/activerecord-2.3.5-r1" [ebuild]) (dependency required by "dev-ruby/actionpack-2.3.5-r1" [ebuild]) (dependency required by "dev-ruby/actionmailer-2.3.5-r1" [ebuild]) And in the end i get a circular dep! [nomerge ] dev-ruby/sinatra-1.0 USE="test" RUBY_TARGETS="ruby18" [ebuild N ] dev-ruby/rack-test-0.5.3 USE="test" RUBY_TARGETS="ruby18" 19 kB [ebuild N ] dev-ruby/sinatra-1.0 USE="test" RUBY_TARGETS="ruby18" 119 kB [nomerge ] dev-ruby/sinatra-1.0 USE="test" RUBY_TARGETS="ruby18" [nomerge ] dev-ruby/haml-2.2.24 USE="test -doc" RUBY_TARGETS="ruby18" [nomerge ] dev-ruby/actionpack-2.3.5-r1 USE="test -doc" RUBY_TARGETS="ruby18 -jruby" [ebuild N ] dev-ruby/actionmailer-2.3.5-r1 USE="test -doc" RUBY_TARGETS="ruby18 -jruby" 109 kB [ebuild N ] dev-ruby/haml-2.2.24 USE="test -doc" RUBY_TARGETS="ruby18" 152 kB [ebuild N ] dev-ruby/actionpack-2.3.5-r1 USE="test -doc" RUBY_TARGETS="ruby18 -jruby" 721 kB Total: 5 packages (5 new), Size of downloads: 1,119 kB * Error: circular dependencies: ('ebuild', '/', 'dev-ruby/haml-2.2.24', 'merge') depends on ('ebuild', '/', 'dev-ruby/actionpack-2.3.5-r1', 'merge') (buildtime) ('ebuild', '/', 'dev-ruby/actionpack-2.3.5-r1', 'merge') depends on ('ebuild', '/', 'dev-ruby/actionmailer-2.3.5-r1', 'merge') (buildtime) ('ebuild', '/', 'dev-ruby/actionmailer-2.3.5-r1', 'merge') depends on ('ebuild', '/', 'dev-ruby/actionpack-2.3.5-r1', 'merge') (buildtime) ('ebuild', '/', 'dev-ruby/rack-test-0.5.3', 'merge') depends on ('ebuild', '/', 'dev-ruby/sinatra-1.0', 'merge') (buildtime) ('ebuild', '/', 'dev-ruby/sinatra-1.0', 'merge') depends on ('ebuild', '/', 'dev-ruby/haml-2.2.24', 'merge') (buildtime) ('ebuild', '/', 'dev-ruby/rack-test-0.5.3', 'merge') (buildtime) (In reply to comment #3) > dev-ruby/haml-2.2.24 and some others should probably depend on a few packages > with higher version numbers than currently stable, because of "Missing IUSE: > ruby_targets_ruby18" on older ebuilds... I'd like to follow the upstream versions as much as possible, and this should not be a problem since the package manager will work it out. Note that this is a re-keywording bug, so using all testing packages should work. > And in the end i get a circular dep! Yes, this is due to using test and doc in USE. A lot of ruby stuff interdepends on each other, especially using testing. Recommended workaround: install with FEATURES=-test USE=-doc first, then reinstall with FEATURES=test USE=doc to test things and install docs. sinatra depends on a rack-1.0 version and on haml which depends on any version of actionpack for USE=test. The problem is that the latest keyworded actionpack has >=dev-ruby/rack-1.1.0. So IMHO haml-2.2.24.ebuild should have ">=dev-ruby/actionpack-2.3.5-r1 <dev-ruby/actionpack-2.3.8" for USE=test. Otherwise one has to fix the version within package.keywords... Anyway... I think the following 3 packages can get keyworded on x86: =dev-ruby/sinatra-1.0 =dev-ruby/abstract-1.0.0 =dev-ruby/erubis-2.6.5 (I get some sandbox failures, but they seem to be quite common in dev-ruby... ) (In reply to comment #5) > (I get some sandbox failures, but they seem to be quite common in dev-ruby... ) I have never seen sandbox failures for ruby packages, so please include a log for these. (In reply to comment #6) > I have never seen sandbox failures for ruby packages, so please include a log > for these. > Hmm.. i just recompiled sandbox itself now and these problems are gone! :-) I previously had sandbox issues with a few other packages as well on that box, but almost every ruby package got catched by sandbox somehow!? It seems that it didn't liked filesystem linking (symbolic and hard) for whatever reason.... Nice to have that clean now! Thanks! :-) (In reply to comment #5) > sinatra depends on a rack-1.0 version and on haml which depends on any version > of actionpack for USE=test. > The problem is that the latest keyworded actionpack has >=dev-ruby/rack-1.1.0. I've updated the sinatra dependency on rack to include rack 1.1 as well. We can do this now because the latest rack-test also works with rack 1.1. It looks better now! If you now also add dev-ruby/builder as test-dep of sinatra, we can finally get friends! Sorry for the nitpicking! ;-) * Running test phase for ruby18 ... (in /var/tmp/portage/dev-ruby/sinatra-1.0/work/ruby18/sinatra-1.0) /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- builder (LoadError) from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from ./test/builder_test.rb:2 from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `load' from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5 from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5:in `each' from /usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5 rake aborted! Command failed with status (1): [/usr/bin/ruby18 -I"lib" -rubygems -I. "/us...] (In reply to comment #9) > If you now also add dev-ruby/builder as test-dep of sinatra, we can finally get > friends! Sorry for the nitpicking! ;-) No no, *I'm* sorry for not properly adding otherwise-unadvertised dependencies. :-) I've now added a dependency on builder when testing. added ~x86, thanks Andreas. |