Naohiro Aota
nao.a****@gmail*****
2008年 4月 6日 (日) 21:23:03 JST
hitoさん、コメントありがとうございます。おかげで /usr/lib/ccs 下のファイ ルも保護できるようになりました。 hito <hitoh****@gmail*****> writes: >> 実はこの疑問は ebuild を作っている時につまってしまったことから生まれまし >> た。多くのディストリビューションでは設定ファイルが編集されていれば、パッ >> ケージの更新によってそれが上書きされないようになっています。ところが、 >> Gentoo ではこの機能は基本的に /etc 以下のファイルにしか適用されないらしく、 >> /usr/lib/ccs/ccstools.conf が常に上書きされてしまいます。(他のディレクト >> リ以下のファイルにも適用できている例もあるにはあるのですが、どうにもその >> 方法がわかりません…) 他のディストリビューションではこのような問題は起こっ >> ていないのでしょうか? > > えーと、それは > # emerge --info | grep 'CONFIG_PROTECT=' > で見えたりするやつで良いでしょうか? はい、そうです。 > CONFIG_PROTECTのデフォルト値は/etc/make.defaultsあたりでCONFIG_PROTECT=/etc > とかいう宣言がされていたと思うので、 今は /etc/make.globals になってるみたいです。 > .ebuildの最初の方で > > export CONFIG_PROTECT="${CONFIG_PROTECT} /usr/lib/ccs/ccstools.conf" > > で行けるような気がしますが、そもそも別の話だったりします? こうではないですが、 Portage ツリーを grep してみて一般的に使われている手 法を見つけだしました。 具体的には "CONFIG_PROTECT='/usr/lib/ccs'" と書い てある 50ccs-tools などという名前のファイルを files/ に入れて doenvd で /etc/env.d に入れてやるといいようでした。 > なお、RPMやDebian Packageでは/etcが特別扱いなのは同じですが、conffileないし > 似たような名前のパラメータ(ぉ で個別に上書きしないように制御されています。 最初、ぼくも保護してくれる関数がないかとドキュメントを探しまわりました…。 そんなには使う機会はないですけど、あると便利な機能なので eclass あたりに なってくれるといいのですけどね。 -- 青田