Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 425148

Summary: sys-apps/portage: `emerge` should not install a new slotted version of an otherwise not needed package
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: Portage team <dev-portage>
Status: RESOLVED WONTFIX    
Severity: enhancement    
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: debug log

Description Toralf Förster gentoo-dev 2012-07-07 10:11:13 UTC
The package ompload at my stable system pulled in ruby-1.8

An "emerge --tree --update --keep-going --verbose --autounmask=n --nospinner --quiet-build=y --deep @world" then installed rube-1.9 too -although no package at my system depends on it. (And the ruby USE flag isn't set).

Reproducible: Always
Comment 1 Samuli Suominen (RETIRED) gentoo-dev 2012-07-07 10:22:16 UTC
I actually rely on this feature. For eg. xfce4-meta depends on x11-themes/gtk-engines-xfce:0 and I rely on Portage to pull in the :3 SLOT by world upgrade.
As in, new SLOTs should get always installed since they present an upgrade.

I propose to close as WONTFIX
Comment 2 Zac Medico gentoo-dev 2012-07-07 10:27:22 UTC
The policy has always been to pull in the highest visible version to satisfy any dependency. If you don't want the highest version, use /etc/portage/package.mask to mask it.
Comment 3 Toralf Förster gentoo-dev 2012-07-07 14:10:00 UTC
Well, if it is wanted ...
(In reply to comment #2)
> The policy has always been to pull in the highest visible version to satisfy
> any dependency.
Right, it is just unclear for me, where at my system is this "any dependency" on the new slotted version. (OTOH I should continue this in the forum rather than asking here I think ...)

>If you don't want the highest version, use /etc/portage/package.mask to mask it.
yep - of course.
Comment 4 Zac Medico gentoo-dev 2012-07-07 19:29:40 UTC
(In reply to comment #3)
> Right, it is just unclear for me, where at my system is this "any
> dependency" on the new slotted version.

Yes, the new slot will only get pulled in if it's matched by a dependency atom.
Comment 5 Toralf Förster gentoo-dev 2012-07-11 17:23:47 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > Right, it is just unclear for me, where at my system is this "any
> > dependency" on the new slotted version.
> 
> Yes, the new slot will only get pulled in if it's matched by a dependency
> atom.

Hhm,
then I'm wondering, if there's a bug in portage, because I do not have ruby set in my USE flags and with these result set only ompload requires ruby-1.8 :


 * These packages depend on ruby:
app-editors/vim-7.3.409 (ruby ? =dev-lang/ruby-1.8*)
app-misc/ompload-20101220 (>=dev-lang/ruby-1.8)
dev-ruby/hoe-2.12.5 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)
                    (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
dev-ruby/json-1.5.4-r1 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)
                       (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
dev-ruby/minitest-2.12.1 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)
                         (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
dev-ruby/racc-1.4.6-r1 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)
                       (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
dev-ruby/rake-0.8.7-r6 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)
                       (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
dev-ruby/rdoc-3.12 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)
                   (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
                   (ruby_targets_ruby19 ? >=dev-lang/ruby-1.9.2:1.9)
                   (ruby_targets_ruby18 ? >=dev-lang/ruby-1.8.7:1.8)
dev-ruby/rubyforge-2.0.4-r2 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)
                            (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
dev-ruby/rubygems-1.8.24 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)
                         (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
                         (ruby_targets_ruby19 ? >=dev-lang/ruby-1.9.3_rc1)
dev-vcs/subversion-1.6.17-r7 (ruby ? >=dev-lang/ruby-1.8.2)
sci-libs/gdal-1.8.1-r1 (ruby ? dev-lang/ruby:1.8)
virtual/ruby-rdoc-0 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)
                    (dev-lang/ruby:1.8)
virtual/ruby-rdoc-1 (ruby_targets_ruby19 ? dev-lang/ruby:1.9)
                    (<dev-lang/ruby-1.9.2_rc2-r1:1.9)
virtual/ruby-ssl-0 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)
                   (dev-lang/ruby:1.8[ssl])                                                                     
virtual/ruby-ssl-1 (ruby_targets_ruby19 ? dev-lang/ruby:1.9)                                                    
                   (dev-lang/ruby:1.9[ssl])                                                                     
virtual/ruby-test-unit-0-r4 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)                                           
                            (ruby_targets_ruby19 ? dev-lang/ruby:1.9)                                           
virtual/rubygems-1 (ruby_targets_ruby18 ? dev-lang/ruby:1.8)                                                    
virtual/rubygems-4 (ruby_targets_ruby19 ? dev-lang/ruby:1.9)                                                    
www-client/elinks-0.11.7 (ruby ? dev-lang/ruby)
Comment 6 Zac Medico gentoo-dev 2012-07-11 19:00:37 UTC
Create a debug log like this and attach it:

  emerge --pretend --depclean --debug ruby &>debug.log
Comment 7 Toralf Förster gentoo-dev 2012-07-11 19:42:41 UTC
Created attachment 317948 [details]
debug log
Comment 8 Zac Medico gentoo-dev 2012-07-11 19:54:17 UTC
(In reply to comment #5)
> (In reply to comment #4)
> > (In reply to comment #3)
> > > Right, it is just unclear for me, where at my system is this "any
> > > dependency" on the new slotted version.
> > 
> > Yes, the new slot will only get pulled in if it's matched by a dependency
> > atom.
> 
> Hhm,
> then I'm wondering, if there's a bug in portage, because I do not have ruby
> set in my USE flags and with these result set only ompload requires ruby-1.8
> :

No, it requires >=1.8, which means that it can pull in 1.0:

> app-misc/ompload-20101220 (>=dev-lang/ruby-1.8)
Comment 9 Zac Medico gentoo-dev 2012-07-11 19:58:24 UTC
Also, your debug log shows that you have ruby_targets_ruby19 enabled, which you should probably disable if you don't want ruby:1.9.
Comment 10 Toralf Förster gentoo-dev 2012-07-12 13:12:19 UTC
well - thx for your reply.
I got rid of the old ruby  by unmerging all ruby packages, setting RUBY_TARGETS="ruby19" into make.conf and updating @world.