ruby2.5のせいでslot conflict

またもやemerge -uDN @worldでコンフリクトです。

lang-ruby/rakeやlang-ruby/rdoc、そしてrubygems(dev-ruby/rubygemsとvirtual/rubygems)がコンフリクトしているそうです。
(すみません。ログを確保し忘れました。)

emergeのメッセージやpackage.gentoo.orgによると、
"Mask ruby25 for removal. This version is no longer supported upstream. Use a newer ruby version, e.g ruby26. Masked for removal in 30 days."
とのことで、どうやらruby25が、もうサポートされなくなったようです。
Gentoo WikiのRubyには、「rubyのアップデートはemerge -uDN @worldで万事解決だぜ!」みたいなことが書いてますが、そのemerge -uDN @worldがrubyのせいで通らないんだっつーの。

というわけで、ググると自分の備忘録が!

gentoolinux.hatenablog.com

では、ruby:25を削除するとどうなるか、-pで見てみます。
(その前に、eselect ruby listでruby26がsetされていることを確認しましょう。
セットはeselect ruby set ruby26で。)

gentoo ~ $ emerge --depclean -pv dev-lang/ruby:2.5

Calculating dependencies... done!
  dev-lang/ruby-2.5.8 pulled in by:
    dev-ruby/did_you_mean-1.2.1 requires dev-lang/ruby:2.5
    dev-ruby/htmlentities-4.3.4 requires dev-lang/ruby:2.5
    dev-ruby/json-2.3.0 requires dev-lang/ruby:2.5
    dev-ruby/minitest-5.11.3 requires dev-lang/ruby:2.5
    dev-ruby/net-telnet-0.2.0 requires dev-lang/ruby:2.5
    dev-ruby/power_assert-1.1.5 requires dev-lang/ruby:2.5
    dev-ruby/rake-12.3.3 requires dev-lang/ruby:2.5
    dev-ruby/rdoc-6.1.2 requires dev-lang/ruby:2.5
    dev-ruby/rubygems-3.0.9 requires dev-lang/ruby:2.5
    dev-ruby/test-unit-3.3.3 requires dev-lang/ruby:2.5
    dev-ruby/xmlrpc-0.3.0 requires dev-lang/ruby:2.5
    virtual/rubygems-15 requires dev-lang/ruby:2.5

>>> No packages selected for removal by depclean
Packages installed:   717
Packages in world:    180
Packages in system:   44
Required packages:    717
Number to remove:     0

なかなかのパッケージ数ですね。
これを削除しましょう。

gentoo ~ $ emerge -C =dev-ruby/did_you_mean-1.2.1 =dev-ruby/htmlentities-4.3.4 =dev-ruby/json-2.3.0 =dev-ruby/minitest-5.11.3 =dev-ruby/net-telnet-0.2.0 =dev-ruby/power_assert-1.1.5 =dev-ruby/rake-12.3.3 =dev-ruby/rdoc-6.1.2 =dev-ruby/rubygems-3.0.9 =dev-ruby/test-unit-3.3.3 =dev-ruby/xmlrpc-0.3.0 =virtual/rubygems-15

(中略)

All selected packages: =virtual/rubygems-15 =dev-ruby/json-2.3.0 =dev-ruby/power_assert-1.1.5 =dev-ruby/htmlentities-4.3.4 =dev-ruby/rdoc-6.1.2 =dev-ruby/net-telnet-0.2.0 =dev-ruby/did_you_mean-1.2.1 =dev-ruby/test-unit-3.3.3 =dev-ruby/xmlrpc-0.3.0 =dev-ruby/rubygems-3.0.9 =dev-ruby/minitest-5.11.3 =dev-ruby/rake-12.3.3

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 12) dev-ruby/did_you_mean-1.2.1...
>>> Unmerging (2 of 12) dev-ruby/htmlentities-4.3.4...
>>> Unmerging (3 of 12) dev-ruby/json-2.3.0...
>>> Unmerging (4 of 12) dev-ruby/minitest-5.11.3...
>>> Unmerging (5 of 12) dev-ruby/net-telnet-0.2.0...
>>> Unmerging (6 of 12) dev-ruby/power_assert-1.1.5...
>>> Unmerging (7 of 12) dev-ruby/rake-12.3.3...
>>> Unmerging (8 of 12) dev-ruby/rdoc-6.1.2...
>>> Unmerging (9 of 12) dev-ruby/rubygems-3.0.9...
>>> Unmerging (10 of 12) dev-ruby/test-unit-3.3.3...
>>> Unmerging (11 of 12) dev-ruby/xmlrpc-0.3.0...
>>> Unmerging (12 of 12) virtual/rubygems-15...

削除できたようです。
では、肝心のruby25を削除しましょう。

gentoo ~ $ emerge --depclean -v dev-lang/ruby:2.5

Calculating dependencies... done!
>>> Calculating removal order...

 dev-lang/ruby
    selected: 2.5.8
   protected: none
     omitted: 2.6.8

All selected packages: =dev-lang/ruby-2.5.8

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 1) dev-lang/ruby-2.5.8...
No package files given... Grabbing a set.

(以下略)

これで、ruby25が削除されました。
あ、make.confのRUBY_TARGETSは
RUBY_TARGETS="ruby26"
など、ruby25を削除するのをお忘れなく。

めでたくemerge-uDN @worldが通りそうです。