revdep-rebuild

837 :login:Penguin :2009/10/02(金) 00:04:32 ID:vPNQUNmX
emerge -uDN worldでsys-libs/dbが来ていたので
アップデートしたのですが、equery list -i dbしたところ
[I--] [  ] sys-libs/db-4.3.29-r2 (4.3)
[I--] [  ] sys-libs/db-4.5.20_p2-r1 (4.5)
[I--] [  ] sys-libs/db-4.6.21_p4 (4.6)
[I--] [  ] sys-libs/db-4.7.25_p4 (4.7)
4つも入っていました。
dbは過去のパッケージも必要とされるものなのでしょうか?

# uname -rm
2.6.28-gentoo-r5 i686
よろしくお願いします。

838 :login:Penguin :2009/10/02(金) 00:14:13 ID:e3nnp+Vz
# equery d sys-libs/db で調べてみたら?

848 :837 :2009/10/02(金) 20:16:15 ID:Kp/PU0k+
>>838
ありがとうございます。
なるほど。そうやって調べるのですね。
# equery depends sys-libs/db
[ Searching for packages depending on sys-libs/db... ]
dev-lang/perl-5.8.8-r5 (berkdb? sys-libs/db)
dev-lang/python-2.4.4-r13 (!build & berkdb? sys-libs/db:4.3)
dev-lang/python-2.5.4-r3 (!build & berkdb? sys-libs/db:4.2)
                         (!build&berkdb? sys-libs/db:4.3)
                        (!build&berkdb? sys-libs/db:4.5)
dev-lang/python-2.6.2-r1 (!build & berkdb? sys-libs/db:4.2)
                        (!build&berkdb? sys-libs/db:4.3)
                        (!build&berkdb? sys-libs/db:4.5)
                        (!build&berkdb? sys-libs/db:4.6)
                        (!build&berkdb? sys-libs/db:4.7)
sys-devel/libperl-5.8.8-r2 (berkdb? sys-libs/db)
sys-libs/gdbm-1.8.3-r3 (berkdb? sys-libs/db)

python-2.5.4-r3に、sys-libs/db.4.2が
必要とされているみたいなのですが、
>>837の結果を見る限りインストールされていません。
これはどう読めばよいのでしょうか?

849 :login:Penguin :2009/10/02(金) 20:46:03 ID:e3nnp+Vz
>>848
それはかつじゃなくてまたはだから4.3とか4.5が入ってればいらない。
だから4.6とかはいらないけどpython-2.6がdb-4.6でコンパイルされてたりすると
消したら問題が出てくるのでその辺を自動で解決する方法として

# emerge -uDN world で依存関係に問題ないのを確認した後、
# emerge --depclean で必要とされてないパッケージを削除して
# revdep-rebuild で壊れたパッケージをコンパイルしなおせばうまくいくと思う。

851 :login:Penguin :2009/10/02(金) 22:25:32 ID:Kp/PU0k+
>>849
perlなどがリコンパイルされていて
少し時間がかかりましたが、とてもすっきりしました。

# equery list -i sys-libs/db
[I--] [  ] sys-libs/db-4.7.25_p4 (4.7)
# equery depends sys-libs/db
dev-lang/perl-5.8.8-r5 (berkdb? sys-libs/db)
dev-lang/python-2.6.2-r1 (!build & berkdb? sys-libs/db:4.2)
                       (!build&berkdb? sys-libs/db:4.3)
                       (!build&berkdb? sys-libs/db:4.5)
                       (!build&berkdb? sys-libs/db:4.6)
                       (!build&berkdb? sys-libs/db:4.7)
sys-devel/libperl-5.8.8-r2 (berkdb? sys-libs/db)
sys-libs/gdbm-1.8.3-r3 (berkdb? sys-libs/db)

gentooハンドブックに書いてあるものなのですね。
http://www.gentoo.org/doc/ja/handbook/handbook-x86.xml?part=2&chap=1
勉強不足でした。お手数をおかけしました。
ありがとうございます。

852 :login:Penguin :2009/10/02(金) 22:29:23 ID:cEt/CpGe
emerge --depcleanはたまにぶっ壊してくれるので注意
python-2.6消されて泣いたことがある