ACCEPT_KEYWORDSの指定を外すと、今度は大量のダウングレードとそれに伴う依存性破損が生じて大変なことになった。従って、現行のバージョンをできるだけ維持して、今後はstableブランチを使うようにしようとした。
今回の問題はグローバルに~amd64をつけてしまったことにあり、最新のパッケージを使うぶんには良いのだが、毎日emergeに時間をとられるのが辛い場合は、stableなブランチに戻したくなる。
暫定的に、ひたすらmaskをかけて「現行のバージョンより古いバージョンのパッケージをemerge」しないこととした。
このような形で、現行のバージョン未満の値のパッケージをmaskすれば、それらのパッケージがemergeされることはなくなるので、とりあえず今のバージョンが保たれる。さすがに全てのパッケージに対してこれを記述するのは大変なので、主立ったツールやコンパイルに時間のかかるfirefoxやghcなどを中心に指定した。
ここで大事なのはRDEPENDのところで、__はorのことであるから、列挙されているパッケージのうち、どれか1つをインストールすればよいということである。
今回は上から順に、ということでvirtual/udevをemergeしてみたところ、そのパッケージは既に入っているがstableブランチよりバージョンが新しいので、~amd64のフラグが足りないと言われた。それを付けると、今度は依存性解決がうまく行ってemergeできた。
はじめに 様々なところで語られていますが、Dockerはコンテナ型