[SOLVED] UD флаг при установке - не могу разрулить зависимости

Не могу поставить шеф, т.к. недавно обновился руби до 2 версии и потянул за собой json-1.8. Шеф же требует 1.7.7

emerge -av chef

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

Calculating dependencies... done!
[ebuild  N    ~] dev-ruby/mixlib-log-1.4.1  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/yajl-ruby-1.1.0  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/mixlib-config-1.1.2  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/mixlib-cli-1.3.0  USE="{-test}" RUBY_TARGETS="ruby19 -jruby -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/mixlib-shellout-1.1.0  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/ruby-shadow-2.1.4  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/moneta-0.6.0-r1  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/uuidtools-2.1.3  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/bunny-0.8.0  USE="{-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild  N     ] dev-ruby/highline-1.6.13  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/polyglot-0.3.3  USE="{-test}" RUBY_TARGETS="ruby19 -jruby -rbx (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/mime-types-1.19  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/ipaddress-0.8.0  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/systemu-2.5.2  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/test-unit-2.5.3:2  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/ohai-6.18.0  USE="{-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/mixlib-authentication-1.3.0  USE="{-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild     UD ] dev-ruby/json-1.7.7 [1.8.0] USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18 (-ruby20%*)" 0 kB
[ebuild  N     ] dev-ruby/rest-client-1.6.7-r1  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/treetop-1.4.15  USE="-doc {-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild  N     ] dev-ruby/net-ssh-gateway-1.1.0-r1:2  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/net-ssh-multi-1.1:2  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] app-admin/chef-10.24.0  USE="{-test}" RUBY_TARGETS="ruby19" 0 kB

Total: 23 packages (1 downgrade, 22 new), Size of downloads: 0 kB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-ruby/json:0

  (dev-ruby/json-1.7.7::gentoo, ebuild scheduled for merge) pulled in by
    <=dev-ruby/json-1.7.7[ruby_targets_ruby19] required by (app-admin/chef-10.24.0::gentoo, ebuild scheduled for merge)

  (dev-ruby/json-1.8.0::gentoo, installed) pulled in by
    >=dev-ruby/json-1.7.7[ruby_targets_ruby20] required by (dev-lang/ruby-2.0.0_p247-r1::gentoo, installed)


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.

Пытался удалить и замаскировать руби-2 - не получилось, т.к. пришлось маскировать много пакетов и то и дело вылезали "косяки"
В идеале, хотелось бы поставить оба json'a, или правильно замаскировать руби

Ну значит либо откатывайте

Ну значит либо откатывайте пакеты, которые тянут dev-lang/ruby-2.0.0_p247-r1, заодно и сам dev-lang/ruby-2.0.0_p247-r1, что бы вы могли установить dev-ruby/json-1.7.7, либо пишите ebuild для новой версии app-admin/chef, насколько я понимаю уже есть 11.

Не зря же вы сидите на тестовой ветке ?

хорошо, попробую еще раз

Однако, как-то я упустил из виду, что я на тестовой ветке, почему-то примелькалась маскировка ~amd64

Попробую еще раз удалить руби и почистить систему

стало еще хуже :(

emerge -av chef

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

Calculating dependencies... done!
[ebuild  NS   #] dev-lang/ruby-2.0.0_p247-r1:2.0 [1.9.3_p448:1.9] USE="berkdb gdbm ncurses readline ssl yaml -debug -doc -examples -ipv6 -rdoc -rubytests -socks5 -tk -xemacs" 0 kB
[ebuild  N     ] dev-ruby/rubygems-2.0.3  USE="-server {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  NS   #] virtual/rubygems-6:ruby20 [4:ruby19] RUBY_TARGETS="(ruby20)" 0 kB
[ebuild  N     ] dev-ruby/rake-0.9.6  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  N     ] dev-ruby/json-1.8.0  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/mixlib-log-1.4.1  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/yajl-ruby-1.1.0  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/mixlib-config-1.1.2  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/mixlib-cli-1.3.0  USE="{-test}" RUBY_TARGETS="ruby19 -jruby -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/mixlib-shellout-1.1.0  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/ruby-shadow-2.1.4  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/moneta-0.6.0-r1  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/json-1.7.7  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/uuidtools-2.1.3  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/bunny-0.8.0  USE="{-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild  N     ] dev-ruby/highline-1.6.13  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/polyglot-0.3.3  USE="{-test}" RUBY_TARGETS="ruby19 -jruby -rbx (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/mime-types-1.19  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/ipaddress-0.8.0  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/systemu-2.5.2  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ] dev-ruby/test-unit-2.5.3:2  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/ohai-6.18.0  USE="{-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/mixlib-authentication-1.3.0  USE="{-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild  N     ] dev-ruby/rest-client-1.6.7-r1  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/treetop-1.4.15  USE="-doc {-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild  N     ] dev-ruby/net-ssh-gateway-1.1.0-r1:2  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] dev-ruby/net-ssh-multi-1.1:2  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~] app-admin/chef-10.24.0  USE="{-test}" RUBY_TARGETS="ruby19" 0 kB

Total: 28 packages (26 new, 2 in new slots), Size of downloads: 0 kB

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

dev-ruby/json:0

  (dev-ruby/json-1.7.7::gentoo, ebuild scheduled for merge) pulled in by
    <=dev-ruby/json-1.7.7[ruby_targets_ruby19] required by (app-admin/chef-10.24.0::gentoo, ebuild scheduled for merge)

  (dev-ruby/json-1.8.0::gentoo, ebuild scheduled for merge) pulled in by
    >=dev-ruby/json-1.7.7[ruby_targets_ruby20] required by (dev-lang/ruby-2.0.0_p247-r1::gentoo, ebuild scheduled for 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.


The following mask changes are necessary to proceed:
 (see "package.unmask" in the portage(5) man page for more details)
# required by dev-ruby/rake-0.9.6[-test]
# required by dev-ruby/json-1.8.0[-test,-doc,ruby_targets_ruby19]
# required by dev-lang/ruby-2.0.0_p247-r1
# required by dev-ruby/rubygems-2.0.3[ruby_targets_ruby19]
# required by dev-lang/ruby-1.9.3_p448
# required by dev-ruby/bunny-0.8.0[ruby_targets_ruby19]
# required by app-admin/chef-10.24.0[ruby_targets_ruby19]
# required by chef (argument)
# /etc/portage/package.mask:
=virtual/rubygems-6
# required by dev-ruby/rubygems-2.0.3[ruby_targets_ruby19]
# required by virtual/rubygems-6
# required by dev-ruby/rake-0.9.6[-test]
# required by dev-ruby/json-1.8.0[-test,-doc,ruby_targets_ruby19]
# /etc/portage/package.mask:
=dev-lang/ruby-2.0.0_p247-r1

NOTE: The --autounmask-keep-masks option will prevent emerge
      from creating package.unmask or ** keyword changes.

Use --autounmask-write to write changes to config files (honoring
CONFIG_PROTECT). Carefully examine the list of proposed changes,
paying special attention to mask or keyword changes that may expose
experimental or unstable packages.

package.mask

>=dev-lang/ruby-2.0.0
>=virtual/rubygems-6                      

Теперь вообще не пойму что делать

Запустите с ключём '-t' и

Запустите с ключом '-t' и посмотрите какие пакеты "тянут" dev-lang/ruby-2.0.0_p247-r1, хотя тут и так видны часть пакетов.

вообще ужас

emerge -avt chef

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

Calculating dependencies... done!
[ebuild  N    ~] app-admin/chef-10.24.0  USE="{-test}" RUBY_TARGETS="ruby19" 0 kB
[ebuild  N    ~]  dev-ruby/net-ssh-multi-1.1:2  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ]   dev-ruby/net-ssh-gateway-1.1.0-r1:2  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ]    dev-ruby/test-unit-2.5.3:2  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~]  dev-ruby/ohai-6.18.0  USE="{-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild  N     ]   dev-ruby/systemu-2.5.2  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~]   dev-ruby/ipaddress-0.8.0  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N     ]  dev-ruby/rest-client-1.6.7-r1  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ]   dev-ruby/mime-types-1.19  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~]  dev-ruby/treetop-1.4.15  USE="-doc {-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild  N    ~]   dev-ruby/polyglot-0.3.3  USE="{-test}" RUBY_TARGETS="ruby19 -jruby -rbx (-ree18) -ruby18" 0 kB
[ebuild  N     ]  dev-ruby/highline-1.6.13  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~]  dev-ruby/bunny-0.8.0  USE="{-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild  N     ]  dev-ruby/uuidtools-2.1.3  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N     ]  dev-ruby/json-1.7.7  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 0 kB
[ebuild  N    ~]  dev-ruby/moneta-0.6.0-r1  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ]  dev-ruby/ruby-shadow-2.1.4  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~]  dev-ruby/mixlib-authentication-1.3.0  USE="{-test}" RUBY_TARGETS="ruby19 -ruby18" 0 kB
[ebuild  N    ~]  dev-ruby/mixlib-shellout-1.1.0  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~]  dev-ruby/mixlib-cli-1.3.0  USE="{-test}" RUBY_TARGETS="ruby19 -jruby -ruby18" 0 kB
[ebuild  N    ~]  dev-ruby/mixlib-config-1.1.2  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N     ]  dev-ruby/yajl-ruby-1.1.0  USE="{-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[ebuild  N    ~]  dev-ruby/mixlib-log-1.4.1  USE="-doc {-test}" RUBY_TARGETS="ruby19 (-ree18) -ruby18" 0 kB
[nomerge       ] app-emulation/vagrant-1.2.7  USE="{-test}" RUBY_TARGETS="ruby19" 
[nomerge       ]  dev-ruby/json-1.7.7  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 
[nomerge       ]   dev-ruby/rake-0.9.6  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 
[nomerge       ]    virtual/rubygems-6:ruby20 [4:ruby19] RUBY_TARGETS="(ruby20)" 
[nomerge       ]     dev-lang/ruby-2.0.0_p247-r1:2.0  USE="berkdb gdbm ncurses readline ssl yaml -debug -doc -examples -ipv6 -rdoc -rubytests -socks5 -tk -xemacs" 
[ebuild  N     ]      dev-ruby/json-1.8.0  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  N     ]       dev-ruby/rake-0.9.6  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  NS   #]        virtual/rubygems-6:ruby20 [4:ruby19] RUBY_TARGETS="(ruby20)" 0 kB
[ebuild  N     ]         dev-ruby/rubygems-2.0.3  USE="-server {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  N    #]          dev-lang/ruby-2.0.0_p247-r1:2.0  USE="berkdb gdbm ncurses readline ssl yaml -debug -doc -examples -ipv6 -rdoc -rubytests -socks5 -tk -xemacs" 0 kB
[ebuild  N     ]          dev-lang/ruby-1.9.3_p448:1.9  USE="berkdb gdbm ncurses readline ssl yaml -debug -doc -examples -ipv6 -rdoc -rubytests -socks5 -tk -xemacs" 0 kB

Total: 29 packages (28 new, 1 in new slot), Size of downloads: 0 kB

Что мне здесь ясно, так это то, что Шеф тянет json-1.7.7
Непонятного больше:
1. Почему дерево идет от vagrant и тянет за собой 2 версии json'a?
2. Что означает RUBY_TARGETS="ruby19 (ruby20)"?
3. Что же все-таки тянет руби-2? rubygems-6 или rake-0.9.6
4. Почему не срабатывает маскировка?

И уж совсем непонятно, что делать дальше :)

У вас rubygems и

У вас rubygems и dev-ruby/rake хотят dev-lang/ruby-2.0.0_p247-r1 .

[ebuild  N     ]      dev-ruby/json-1.8.0  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  N     ]       dev-ruby/rake-0.9.6  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  NS   #]        virtual/rubygems-6:ruby20 [4:ruby19] RUBY_TARGETS="(ruby20)" 0 kB
[ebuild  N     ]         dev-ruby/rubygems-2.0.3  USE="-server {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  N    #]          dev-lang/ruby-2.0.0_p247-r1:2.0  USE="berkdb gdbm ncurses readline ssl yaml -debug -doc -examples -ipv6 -rdoc -rubytests -socks5 -tk -xemacs" 0 kB

как решить?

Спасибо за помощь, но все же не могу понять, как избавиться от RUBY_TARGETS="(ruby20)"
Уже близок к тому, чтобы забить на шефа и ставить его в виртуалке

Изучайте ebuild`ы пакетов, ну

Изучайте ebuild`ы пакетов, ну и обратите внимание на все эти пакеты:

[nomerge       ] app-emulation/vagrant-1.2.7  USE="{-test}" RUBY_TARGETS="ruby19" 
[nomerge       ]  dev-ruby/json-1.7.7  USE="-doc {-test}" RUBY_TARGETS="ruby19 -jruby (-ree18) -ruby18" 
[nomerge       ]   dev-ruby/rake-0.9.6  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 
[nomerge       ]    virtual/rubygems-6:ruby20 [4:ruby19] RUBY_TARGETS="(ruby20)" 
[nomerge       ]     dev-lang/ruby-2.0.0_p247-r1:2.0  USE="berkdb gdbm ncurses readline ssl yaml -debug -doc -examples -ipv6 -rdoc -rubytests -socks5 -tk -xemacs" 
[ebuild  N     ]      dev-ruby/json-1.8.0  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  N     ]       dev-ruby/rake-0.9.6  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  NS   #]        virtual/rubygems-6:ruby20 [4:ruby19] RUBY_TARGETS="(ruby20)" 0 kB
[ebuild  N     ]         dev-ruby/rubygems-2.0.3  USE="-server {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  N    #]          dev-lang/ruby-2.0.0_p247-r1:2.0  USE="berkdb gdbm ncurses readline ssl yaml -debug -doc -examples -ipv6 -rdoc -rubytests -socks5 -tk -xemacs" 0 kB

много для пятницы

Похоже, что я сдаюсь - слишком много для пятницы

замаскировал:
>=dev-lang/ruby-2.0.0
>=virtual/rubygems-6
>=dev-ruby/json-1.8.0
>=dev-ruby/rake-0.9.6

И дальше, что бы я не пытался пересобрать, получаю: (без предупреждения о маскировках - их опускаю)

emerge -av virtual/rubygems

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

Calculating dependencies... done!
[ebuild   R    ] virtual/rubygems-4:ruby19  RUBY_TARGETS="(ruby19)" 0 kB
[nomerge       ] app-emulation/vagrant-1.2.7  USE="{-test}" RUBY_TARGETS="ruby19" 
[ebuild  N    #]  dev-ruby/json-1.8.0  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  N    #]   dev-ruby/rake-0.9.6  USE="-doc {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  NS   #]    virtual/rubygems-6:ruby20 [4:ruby19] RUBY_TARGETS="(ruby20)" 0 kB
[ebuild  N     ]     dev-ruby/rubygems-2.0.3  USE="-server {-test}" RUBY_TARGETS="ruby19 (ruby20) -jruby -ruby18" 0 kB
[ebuild  N    #]      dev-lang/ruby-2.0.0_p247-r1:2.0  USE="berkdb gdbm ncurses readline ssl yaml -debug -doc -examples -ipv6 -rdoc -rubytests -socks5 -tk -xemacs" 0 kB
[ebuild  N     ]      dev-lang/ruby-1.9.3_p448:1.9  USE="berkdb gdbm ncurses readline ssl yaml -debug -doc -examples -ipv6 -rdoc -rubytests -socks5 -tk -xemacs" 0 kB

Есть идея, что нужно пересобрать dev-ruby/rubygems-2.0.3 без RUBY_TARGETS="(ruby20)" , но непонятно как это сделать

.

/etc/portage/make.conf :

bla-bla-bla
RUBY_TARGETS=ruby19
bla-bla-bla

Мы тоже не всего читали Шнитке!.. © В. Вишневский

Да нет же!

Естественно, что в make.conf стоит RUBY_TARGETS=ruby19
Проблема в том, что система не может (или не хочет) очистить установку руби-2 - проверено дома, где руби еще не обновлялся, шеф ставится без проблем (emerge -pv)

Почему-то не помогает и маскировка.
Попробую вот что: установить руби-2. потом полностью очистить от него систему, затем шефа, а потом уже буду накатывать руби.

Проблема обсуждается тут -

Проблема обсуждается тут - https://bugs.gentoo.org/show_bug.cgi?id=483254, начиная с Comment 3

Нейтральность - высшее достижение сознания!

спасибо

Уже лучше - chef поставился
1. убрал ruby20 из RUBY_TARGETS в make.conf
2. добавил в package.use.force
dev-ruby/json -ruby_targets_ruby20
dev-ruby/racc -ruby_targets_ruby20
dev-ruby/rake -ruby_targets_ruby20
dev-ruby/rdoc -ruby_targets_ruby20
dev-ruby/rubygems -ruby_targets_ruby20
3. ругалось на json-1.8 - временно добавил его в package.mask
4. установил шеф

но :)

emerge -auD world

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

Calculating dependencies... done!

WARNING: One or more updates have been skipped due to a dependency conflict:

dev-ruby/json:0

  (dev-ruby/json-1.7.7::gentoo, ebuild scheduled for merge) conflicts with
    >=dev-ruby/json-1.7.7[ruby_targets_ruby20] required by (dev-lang/ruby-2.0.0_p247-r1::gentoo, ebuild scheduled for merge)


!!! Problems have been detected with your world file
!!! Please run emaint --check world


!!! Ebuilds for the following packages are either all
!!! masked or don't exist:
app-admin/chef

Nothing to merge; quitting.

emaint --check world
Emaint: check world 100% [============================================>]


И снова ошибка при обновлении :(
Теперь мне что, не обновляться :)

echo "ruby_targets_ruby20" >>

echo "ruby_targets_ruby20" >> /etc/portage/profile/use.mask

Спасибо, помогло

на этот раз все получилось:
1. создал папку /etc/portage/profile
2. замаскировал ruby_targets_ruby20 флаг
3. удалил за ненадобностью package.use.force

система стала обновляться.

Спасибо за хороший совет: теперь при обновлении шефа на версию руби 2.0 можно будет просто удалить use.mask

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".