View previous topic :: View next topic |
Author |
Message |
v_andal Guru
Joined: 26 Aug 2008 Posts: 541 Location: Germany
|
Posted: Tue Dec 24, 2013 2:39 pm Post subject: [SOLVED] ruby wants to install itself |
|
|
There's something funny about Ruby. None of my applications uses it. I have USE = -ruby -jruby in make.conf. equery depends reports none of the application that depend on ruby. Nevertheless when I try to update world emerge installs ruby. I've allowed to install it, then removed everything manually and run revdep-rebuild. Nothing broken was found. When I try to run emerge -pvNDtu @world it gives me following output
Quote: |
These are the packages that would be merged, in reverse order:
Calculating dependencies... done!
[nomerge ] dev-ruby/json-1.8.0 USE="-doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20 -jruby"
[nomerge ] virtual/rubygems-6:ruby20 RUBY_TARGETS="(ruby20)"
[nomerge ] dev-lang/ruby-2.0.0_p353:2.0 USE="berkdb gdbm ipv6 ncurses rdoc readline ssl -debug -doc -examples -rubytests -socks5 -tk -xemacs"
[ebuild N ] dev-ruby/rdoc-4.0.1-r1 USE="-doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20 -jruby" 0 kB
[ebuild N ] dev-ruby/racc-1.4.9 USE="-doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20 -jruby" 0 kB
[ebuild N ] dev-ruby/rubygems-2.0.3 USE="-server {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20 -jruby" 0 kB
[ebuild N ] dev-ruby/json-1.8.0 USE="-doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20 -jruby" 0 kB
[ebuild N ] dev-ruby/rake-0.9.6 USE="-doc {-test}" RUBY_TARGETS="ruby18 ruby19 ruby20 -jruby" 0 kB
[ebuild N ] dev-lang/ruby-1.9.3_p484:1.9 USE="berkdb gdbm ipv6 ncurses rdoc readline ssl yaml -debug -doc -examples -rubytests -socks5 -tk -xemacs" 0 kB
[ebuild N ] dev-lang/ruby-2.0.0_p353:2.0 USE="berkdb gdbm ipv6 ncurses rdoc readline ssl -debug -doc -examples -rubytests -socks5 -tk -xemacs" 0 kB
[ebuild N ] dev-lang/ruby-1.8.7_p374:1.8 USE="berkdb gdbm ipv6 ncurses readline ssl -debug -doc -examples -libedit -rubytests -socks5 -threads -tk -xemacs" 0 kB
Total: 8 packages (8 new), Size of downloads: 0 kB
|
As one can see, the reason why 3 versions of ruby is installed is because uninstalled package dev-ruby/json wants to have them. And that package is installed because it is needed by itself. Looks like some circular dependency.
Any way around it. Definitely I don't want to have so much of junk in my system.
Last edited by v_andal on Tue Dec 24, 2013 6:40 pm; edited 2 times in total |
|
Back to top |
|
|
v_andal Guru
Joined: 26 Aug 2008 Posts: 541 Location: Germany
|
Posted: Tue Dec 24, 2013 2:48 pm Post subject: |
|
|
Actually I've found the workaround. Adding following to package.mask solves the problem
Quote: |
dev-ruby/json
dev-ruby/rdoc
dev-lang/ruby
dev-ruby/racc
|
|
|
Back to top |
|
|
Dr.Willy Guru
Joined: 15 Jul 2007 Posts: 547 Location: NRW, Germany
|
Posted: Tue Dec 24, 2013 3:19 pm Post subject: |
|
|
If I had to guess I'd say it's sys-block/thin-provisioning-tools from lvm2 'thin' useflag that pulls in ruby. |
|
Back to top |
|
|
v_andal Guru
Joined: 26 Aug 2008 Posts: 541 Location: Germany
|
Posted: Tue Dec 24, 2013 6:38 pm Post subject: |
|
|
No. It looks like I've figured out what was the problem. Before, I had gdm installed. When I've tried to update today I've noticed that it pulls in lots of gnome stuff and creates conflicts. So, I've uninstalled gdm. I've executed 'emerge --depclean' but for whatever reason it didn't clean up all of the packages. Then I did update and that pulled in ruby because that was new gdm dependency. Then I've run 'emerge --depclean' again and this removed few more packages.
Then I've removed ruby manually, but I've missed 'virtual/rubygems' and that was pulling ruby back in. After masking ruby I executed 'emerge --depclean' again and this time that virtual/rubygems was removed. Now I could unmask all ruby packages and they don't get pulled in anymore.
The thin-provisioning-tools is installed, but this package does not require ruby.
So, I'm marking this as SOLVED, though the 'emerge' was not very helpful in this situation, even somewhat misleading because -t option showed circular dependency where virtual packet was the culprit. |
|
Back to top |
|
|
Dr.Willy Guru
Joined: 15 Jul 2007 Posts: 547 Location: NRW, Germany
|
Posted: Wed Dec 25, 2013 12:06 pm Post subject: |
|
|
v_andal wrote: | The thin-provisioning-tools is installed, but this package does not require ruby. |
The currently stable version 0.2.8 does.
That appears to be a mistake though since 0.2.8-r1 only needs ruby for the tests. |
|
Back to top |
|
|
i92guboj Bodhisattva
Joined: 30 Nov 2004 Posts: 10315 Location: Córdoba (Spain)
|
Posted: Wed Dec 25, 2013 1:02 pm Post subject: |
|
|
virtual/* oddities
I hit this same issue some days ago. What I did was to create an overlay for thin-provisioning-tools and set the dependencies to just expat. I really hate when distros starts forcing random compilers down your throat. I have managed to live without java (not without fight) until now, and no one's going to force ruby or lua on me, even if that means I'll have to create a GNU/i92OS |
|
Back to top |
|
|
v_andal Guru
Joined: 26 Aug 2008 Posts: 541 Location: Germany
|
Posted: Fri Dec 27, 2013 5:40 pm Post subject: |
|
|
Dr.Willy wrote: | v_andal wrote: | The thin-provisioning-tools is installed, but this package does not require ruby. |
The currently stable version 0.2.8 does.
That appears to be a mistake though since 0.2.8-r1 only needs ruby for the tests. |
I see, but I have 0.2.8-r1 without "test", that is why I don't have ruby. Interesting, I remember that it was "emerge" that requested adding thin-provisioning to the keywords file. But now I can't find any package that would require development version of it. Probably again it was one of the removed packages. Or maybe it was because all of ruby was masked |
|
Back to top |
|
|
|