emergeしたら草を生やす Part2

前回の emergeしたら草を生やす | けんちゃんくんさんのWeb日記 で紹介した方法は致命的な問題があってしばらく使うのをやめていた。

それは、インストールするパッケージ側で pkg_postinst 関数が定義されていた場合、 /etc/portage/bashrc が上書きしてしまうというもので、普段使いするパッケージの中では gentoo-sourcessymlink useフラグの処理がこの関数で実装されている。

というわけで、あらためてドキュメントを読み直して EBUILD_PHASEという環境変数で分岐することができるとわかったので、そのように変更した。 /etc/portage/bashrc の内容は以下の通り。

if [ "${EBUILD_PHASE}" == "postinst" ]; then
  curl -X PUT https://pixe.la/v1/users/kenchan/graphs/emerge-count/increment -H 'X-USER-TOKEN:{ひみつのトークン}' -H 'Content-Length:0'
fi

これで草生やし放題againですね。よかったよかった。