Index: [Article Count Order] [Thread]

Date:  Sun, 29 Feb 2004 12:13:32 +0900
From:  Mamoru KOMACHI <usata@-tokyo.ac.jp>
Subject:  [gentoojp-users:00988] Re: [gentoojp-users 1273] 	portageをちょっと変更する
To:  gentoojp-users@
Message-Id:  <m0ptbyo9wj.wl%usata@-tokyo.ac.jp>
In-Reply-To:  <yf1oeri6463.wl%hirose31@>
References:  <yf1oeri6463.wl%hirose31@>
X-Mail-Count: 00988

小町です。

At Sun, 29 Feb 2004 10:54:44 +0900,
HIROSE, Masaaki wrote:

> portage のパッケージの configure の引数をちょっと変更してビルドするに
> はどうするのがよいでしょうかという質問です。

結論から書きますと、パッケージの ebuild 次第です。

> 具体的には、net-misc/openssh の configure に
> --with-default-path=/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin
> を追加したいと思っています。
> 
> 今は *.ebuild を変更して configure の引数にベタに追記しています。
> *.ebuild を弄らずに外部から myconf を制御できればよいと思うのですが、そ
> のような方法はあるのでしょうか?

myconf が local 宣言されていて、なおかつあのように myconf をクリア
していると、myconf 経由で引数を渡すことはできません。「正しく」
ebuild を書くと、configure をベタで呼ぶのではなく、econf を使うはず
で、econf を使っている場合は EXTRA_ECONF という変数に入れたい引数を
書けば、それを configure に渡すことができます。ですから、ebuild 書き
としては configure ではなく econf を使うべき(同様の理由で make では
なく emake を使うべき……ただし einstall に関してはこのかぎりではない)
なのですが、openssh は運悪くそうなっていないようです。

こういう理由で openssh も econf を使うようにしてくれ、というふうに
本家の bugzilla に報告したら直してくれるかもしれません。ただ、かなり
ベースに近いパッケージは、あえて econf ではなく configure を直接呼ん
でいるものか相当数あるので、もしかしたら直してくれないかもしれない
ので、そのときは仕方ないですがその都度 PORTDIR_OVERLAY に手を入れた
ebuild を置くしかないと思います。篠原さんもよく言っていますが、
Portage 側で ebuild の特定のアクション前後になにか hook を呼べるよう
になっているといいんですけどね。

-- 
Mamoru KOMACHI <usata@-tokyo.ac.jp>
http://www.sodan.ecc.u-tokyo.ac.jp/~usata/