Portageを二つの異なるOSで共有のユーザディレクトリに入れる

毎度毎度prefixしてコンパイルするのがめんどい→ググったらportageでなんとかなりそう
でやってみた。

前準備

bashzshならこんな感じに設定。

export EPREFIX="$HOME/$OSTYPE"
export PATH="./:$HOME/bin:$EPREFIX/usr/bin:$EPREFIX/bin:$EPREFIX/tmp/usr/bin:$EPREFIX/tmp/bin:/usr/bin:/bin:$PATH"

としておく。俺はLD_hogeとかも指定してるけど。
$OSTYPEだけだとアーキテクチャ指定されてないんでアレなんだけど
今はちゃんとなるからいいや。っていうか環境変数で拾う方法がわからん。
unameをバッククオートで囲めばどうとでもなるけどめんどい(ぉぃ
もしcshとかtcshなら

setenv EPREFIX "$HOME/$OSTYPE"
setenv PATH (./ $HOME/bin $EPREFIX/usr/bin $EPREFIX/bin $EPREFIX/tmp/usr/bin $EPREFIX/tmp/bin /usr/bin /bin $PATH)

触ったこと無いけどこんなかんじでいいの?
ただ/usr/binや/binはいらないかも。

インストール

http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/scripts/bootstrap-prefix.sh
からOriginal FormatのURLを拾ってDL。実行権限を与える。
次に同じ場所に次のようなファイルを作る



作ったファイルに実行権限与えて順に実行。
あとは適当に$EPREFIX/etc/make.confを編集して

emerge --sync && emerge -uavND system

あとはportageでググれ。

ちなみにアンインストールしたいときは?

rm -vrf "${EPREFIX}"
あ、前準備でした設定は残るのでそっちはよしなに。(vオプション入れてるのはいつ終わるかわからないかなのでどうでもいいなら無くてもいい)