Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 500612 - app-emulation/vagrant-1.4.3-r2 should probably force USE=ruby_targets_ruby20
Summary: app-emulation/vagrant-1.4.3-r2 should probably force USE=ruby_targets_ruby20
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Tim Harder
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-07 12:52 UTC by Juergen Rose
Modified: 2014-02-07 19:03 UTC (History)
0 users

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 Juergen Rose 2014-02-07 12:52:37 UTC
'emerge world' fails with:

root@leopard:/root(13)# emerge -uvND world

These are the packages that would be merged, in order:

Calculating dependencies |

!!! Problem resolving dependencies for app-emulation/vagrant from @selected
... done!

!!! The ebuild selected to satisfy "app-emulation/vagrant" has unmet requirements.
- app-emulation/vagrant-1.4.3-r2::gentoo USE="-test" RUBY_TARGETS="-ruby20"

  The following REQUIRED_USE flag constraints are unsatisfied:
    ruby_targets_ruby20

  The above constraints are a subset of the following complete expression:
    any-of ( ruby_targets_ruby20 )

(dependency required by "@selected" [set])
(dependency required by "@world" [argument])


If I add 
app-emulation/vagrant ruby_targets_ruby20
tp /etc/portage/packages.use, it fails with:


root@leopard:/root(14)# emerge -uvND world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild     U  ] dev-libs/libyaml-0.1.5 [0.1.4] USE="doc examples -static-libs {-test}" 494 kB
[ebuild     U  ] kde-base/kde-env-4.12.2:4/4.12 [4.12.1:4/4.12] USE="(-aqua)" 0 kB
[ebuild     U  ] app-editors/vim-core-7.4.169 [7.4.155] USE="acl nls -minimal" 219 kB
[ebuild     U  ] x11-libs/pango-1.36.2 [1.36.1] USE="X introspection -debug" 1,002 kB
[ebuild     U  ] net-misc/youtube-dl-2014.02.06.2 [2014.02.04.1] USE="-offensive {-test}" PYTHON_SINGLE_TARGET="python2_7 -python2_6 -python3_3" PYTHON_TARGETS="python2_7 python3_3 -python2_6" 615 kB
[ebuild     U  ] dev-python/python-dateutil-2.2 [2.1-r1] USE="examples" PYTHON_TARGETS="python2_7 python3_3 -pypy2_0 -python2_6 -python3_2" 254 kB
[ebuild     U  ] dev-python/pytz-2013.9 [2013d] PYTHON_TARGETS="python2_7 python3_3 -pypy2_0 -python2_6 -python3_2" 156 kB
[ebuild  NS    ] virtual/ruby-threads-4:ruby20 [0:ruby18, 1:ruby19] RUBY_TARGETS="(ruby20)" 0 kB
[ebuild  NS    ] virtual/ruby-ssl-3:ruby20 [1:ruby19] RUBY_TARGETS="(ruby20)" 0 kB
[ebuild   R    ] dev-ruby/log4r-1.1.10-r1  USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20*" 0 kB
[ebuild   R    ] dev-ruby/abstract-1.0.0-r2  USE="{-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] dev-ruby/rspec-mocks-2.14.5:2  USE="{-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] dev-ruby/net-ssh-2.8.0:2.6  USE="doc {-test}" RUBY_TARGETS="ruby19 ruby20*" 0 kB
[ebuild   R    ] dev-ruby/rake-compiler-0.9.2  USE="{-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] dev-ruby/erubis-2.7.0-r1  USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] dev-ruby/i18n-0.6.9-r1:0.6  USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] dev-ruby/net-scp-1.1.2-r1:2  USE="doc {-test}" RUBY_TARGETS="ruby19 ruby20*" 0 kB
[ebuild   R    ] dev-ruby/diff-lcs-1.2.5  USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] dev-ruby/hoe-2.13.0-r1  USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] dev-ruby/rspec-expectations-2.14.2:2  USE="{-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] dev-ruby/bluecloth-2.2.0-r1  USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20*" 0 kB
[ebuild   R    ] dev-ruby/yard-0.8.7.3  USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] dev-ruby/rspec-core-2.14.3:2  USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] dev-ruby/ffi-1.9.3  USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20*" 0 kB
[ebuild   R    ] dev-ruby/rspec-2.14.1:2  USE="{-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] virtual/ruby-ffi-2  RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
[ebuild   R    ] dev-ruby/childprocess-0.4.0:2  USE="doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20* -jruby" 0 kB
...
[ebuild     U  ] gnome-base/gnome-shell-3.10.3 [3.10.2.1] USE="bluetooth i18n networkmanager (-openrc-force)" PYTHON_TARGETS="python2_7 -python2_6" 1,485 kB

Total: 126 packages (106 upgrades, 2 in new slots, 18 reinstalls), Size of downloads: 538,164 kB

The following USE changes are necessary to proceed:
 (see "package.use" in the portage(5) man page for more details)
# required by dev-ruby/rspec-expectations-2.14.2[ruby_targets_ruby20]
# required by dev-ruby/rspec-2.14.1[ruby_targets_ruby19]
# required by dev-ruby/childprocess-0.4.0[-test,doc,ruby_targets_ruby20]
# required by app-emulation/vagrant-1.4.3-r2[ruby_targets_ruby20]
# required by @selected
# required by @world (argument)
>=dev-ruby/diff-lcs-1.2.5 ruby_targets_ruby20
# required by dev-ruby/childprocess-0.4.0[-test,doc,ruby_targets_ruby20]
# required by app-emulation/vagrant-1.4.3-r2[ruby_targets_ruby20]
# required by @selected
# required by @world (argument)
>=dev-ruby/rspec-2.14.1 ruby_targets_ruby20
# required by dev-ruby/bluecloth-2.2.0-r1[ruby_targets_ruby20]
# required by dev-ruby/yard-0.8.7.3[doc,ruby_targets_ruby20]
# required by dev-ruby/ffi-1.9.3[ruby_targets_ruby20]
# required by virtual/ruby-ffi-2[ruby_targets_ruby19]
# required by dev-ruby/childprocess-0.4.0[ruby_targets_ruby18]
# required by app-emulation/vagrant-1.4.3-r2[ruby_targets_ruby20]
# required by @selected
# required by @world (argument)
>=dev-ruby/hoe-2.13.0-r1 ruby_targets_ruby20
...
>=dev-ruby/erubis-2.7.0-r1 ruby_targets_ruby20
# required by dev-ruby/erubis-2.7.0-r1[ruby_targets_ruby20]
# required by app-emulation/vagrant-1.4.3-r2[ruby_targets_ruby20]
# required by @selected
# required by @world (argument)
>=dev-ruby/abstract-1.0.0-r2 ruby_targets_ruby20

The following ruby packages are installed:
root@leopard:/root(15)# qlist -Iv ruby
app-admin/eselect-ruby-20131227
app-xemacs/ruby-modes-1.04
dev-lang/ruby-1.8.7_p374-r1
dev-lang/ruby-1.9.3_p484
dev-lang/ruby-2.0.0_p353-r1
dev-lang/ruby-2.1.0
dev-ruby/abstract-1.0.0-r2
dev-ruby/bluecloth-2.2.0-r1
dev-ruby/builder-3.2.2
dev-ruby/childprocess-0.4.0
dev-ruby/diff-lcs-1.2.5
dev-ruby/erubis-2.7.0-r1
dev-ruby/facter-1.7.4
dev-ruby/ffi-1.9.3
dev-ruby/hiera-1.3.1
dev-ruby/hoe-2.13.0-r1
dev-ruby/i18n-0.6.9-r1
dev-ruby/json-1.8.1
dev-ruby/log4r-1.1.10-r1
dev-ruby/net-scp-1.1.2-r1
dev-ruby/net-ssh-2.8.0
dev-ruby/racc-1.4.11
dev-ruby/rake-0.9.6-r1
dev-ruby/rake-compiler-0.9.2
dev-ruby/rdoc-4.0.1-r2
dev-ruby/rspec-2.14.1
dev-ruby/rspec-core-2.14.3
dev-ruby/rspec-expectations-2.14.2
dev-ruby/rspec-mocks-2.14.5
dev-ruby/ruby-ldap-0.9.16
dev-ruby/rubygems-2.0.14
dev-ruby/yard-0.8.7.3
virtual/ruby-ffi-2
virtual/ruby-ssl-1
virtual/ruby-threads-0
virtual/ruby-threads-1
virtual/rubygems-1
virtual/rubygems-4
virtual/rubygems-6
virtual/rubygems-7

I am not really interested in these ruby-packages. I have not 'really' set ruby USE flags in /etc/make.conf or /etc/portage/package.use/monolithic besides of some ruby_targets_*, where I was requested to do:

root@leopard:/root(16)# grep ruby /etc/make.conf 
#NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml"
#RUBY_TARGETS="ruby18 jruby"
root@leopard:/root(17)# grep "^[^#].*ruby" /etc/make.conf 
root@leopard:/root(18)# grep "^[^#].*ruby" /etc/portage/package.use/
grep: /etc/portage/package.use/: Is a directory
root@leopard:/root(19)# grep "^[^#].*ruby" /etc/portage/package.use/monolithic
app-emulation/vagrant ruby_targets_ruby20
dev-lang/ruby -tk
dev-ruby/bouncy-castle-java ruby_targets_jruby
>=dev-ruby/json-1.8.1 ruby_targets_ruby21
>=dev-ruby/racc-1.4.10 ruby_targets_ruby21
>=dev-ruby/rake-0.9.6-r1 ruby_targets_ruby21
>=dev-ruby/rdoc-4.0.1-r2 ruby_targets_ruby21
>=dev-ruby/rubygems-2.0.14 ruby_targets_ruby21
>=virtual/rubygems-6 ruby_targets_ruby21

I have the feeling that ruby is often responsible for dependency problems in 'emerge -uvDN world'. So I would like to get rid of as much as possible ruby packages. Is there a recommended way?
Comment 1 Juergen Rose 2014-02-07 13:14:15 UTC
I tried to find out, which of my installed package requires ruby:

root@leopard:/root(33)# emerge -pv --depclean `qlist -ICv ruby | sed "s/^/=/g"` | grep -v "^[[:space:]]*dev-ruby\|^[[:space:]]*dev-lang/ruby\|^[[:space:]]*virtual/ruby\|^$"
Calculating dependencies  .......... .... done!
  app-admin/eselect-ruby-20131227 pulled in by:
  app-xemacs/ruby-modes-1.04 pulled in by:
    app-xemacs/xemacs-packages-all-2010.07.29 requires >=app-xemacs/ruby-modes-1.04
    app-admin/puppet-3.4.2-r1 requires dev-lang/ruby:1.9, dev-lang/ruby:1.9[yaml]
    app-emulation/vagrant-1.4.3-r1 requires dev-lang/ruby:1.9
    media-video/mkvtoolnix-6.7.0 requires dev-lang/ruby
    net-analyzer/rrdtool-1.4.8 requires >=dev-lang/ruby-1.8.6_p287-r13
    app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/childprocess-0.3.7[ruby_targets_ruby19]
    app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/erubis-2.7.0[ruby_targets_ruby19]
    app-admin/puppet-3.4.2-r1 requires >=dev-ruby/facter-1.6.2[ruby_targets_ruby19]
    app-admin/puppet-3.4.2-r1 requires dev-ruby/hiera[ruby_targets_ruby19]
    app-emulation/vagrant-1.4.3-r1 requires dev-ruby/i18n:0.6[ruby_targets_ruby19]
    app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/json-1.5.1[ruby_targets_ruby19]
    app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/log4r-1.1.9[ruby_targets_ruby19]
    app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/net-scp-1.1.0[ruby_targets_ruby19]


So essentially it seems to be: puppet, vagrant, xemacs-packages-all, mkvtoolnix, rrdtool, webkit-gtk-2.2.4-r200 and webkit-gtk. Is there any experience with adding -ruby USE flag to this packages?

    app-emulation/vagrant-1.4.3-r1 requires >=dev-ruby/net-ssh-2.6.6[ruby_targets_ruby19]
    app-emulation/vagrant-1.4.3-r1 requires dev-ruby/rake[ruby_targets_ruby19]
    app-admin/puppet-3.4.2-r1 requires dev-ruby/rdoc[ruby_targets_ruby19]
    app-admin/puppet-3.4.2-r1 requires dev-ruby/ruby-ldap[ruby_targets_ruby19]
    app-admin/puppet-3.4.2-r1 requires =virtual/ruby-ssl-1[ruby_targets_ruby19], virtual/ruby-ssl[ruby_targets_ruby19]
    app-emulation/vagrant-1.4.3-r1 requires virtual/rubygems[ruby_targets_ruby19]
    net-libs/webkit-gtk-2.2.4 requires =virtual/rubygems-7[ruby_targets_ruby21], virtual/rubygems[ruby_targets_ruby21]
    net-libs/webkit-gtk-2.2.4-r200 requires =virtual/rubygems-7[ruby_targets_ruby21], virtual/rubygems[ruby_targets_ruby21]
>>> No packages selected for removal by depclean
...
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2014-02-07 13:54:41 UTC
Apparently you should set USE=ruby_targets_ruby20 :

# ebuildvar REQUIRED_USE
   vagrant-1.0.7.ebuild : EAPI=5
   vagrant-1.0.7.ebuild : INHERIT ruby-fakegem ruby-ng eutils multilib toolchain-funcs java-utils-2 versionator
   vagrant-1.0.7.ebuild : REQUIRED_USE="
   vagrant-1.0.7.ebuild :        || ( ruby_targets_ruby18 ruby_targets_ruby19 )
   vagrant-1.0.7.ebuild : "
vagrant-1.4.3-r1.ebuild : EAPI=5
vagrant-1.4.3-r1.ebuild : INHERIT ruby-fakegem ruby-ng eutils multilib toolchain-funcs java-utils-2 versionator
vagrant-1.4.3-r1.ebuild : REQUIRED_USE="
vagrant-1.4.3-r1.ebuild :        || ( ruby_targets_ruby19 )
vagrant-1.4.3-r1.ebuild : "
vagrant-1.4.3-r2.ebuild : EAPI=5
vagrant-1.4.3-r2.ebuild : INHERIT ruby-fakegem ruby-ng eutils multilib toolchain-funcs java-utils-2 versionator
vagrant-1.4.3-r2.ebuild : REQUIRED_USE="
vagrant-1.4.3-r2.ebuild :        || ( ruby_targets_ruby20 )
vagrant-1.4.3-r2.ebuild : "
Comment 3 Tim Harder gentoo-dev 2014-02-07 19:03:10 UTC
(In reply to Juergen Rose from comment #1)
> So essentially it seems to be: puppet, vagrant, xemacs-packages-all,
> mkvtoolnix, rrdtool, webkit-gtk-2.2.4-r200 and webkit-gtk. Is there any
> experience with adding -ruby USE flag to this packages?

This is how ruby works in Gentoo, you'll either have to add RUBY_TARGETS="ruby20" globally in make.conf or specifically enable the ruby_targets_ruby20 use flag for every vagrant-1.4.3-r2 dep.

There's no way to get rid of ruby if you're using vagrant because vagrant is written in ruby.