[Ultramonkey-l7-develop 964] Re: make install時のインストール先変更について

アーカイブの一覧に戻る

中野 宏朗 nakan****@nttco*****
2013年 7月 19日 (金) 16:41:35 JST


中野@幕張です。

ようやく、Makefile.amとconfigure.in、そしてspecファイルを
修正し終えました。

v2に比べて残念な部分が目立っていたv3のmake環境、rpmbuild環境
が少しはマシになったと思います。
修正分をgitの3.1.0-develブランチにプッシュしました。

# でも以前立石さんが言ってたmake distは作れてないです・・・



(2013/07/17 14:36), 中野 宏朗 wrote:
> 中野@幕張です。
> autoconf,automake,rpmbuildと格闘中。。。
> 
> rpmbuildで、RPMを作るのにmake installを
> 使うようにすると、develパッケージ用の
> ヘッダファイルがコピーされないことに
> 気づきました。
> # というか、知ってたけど忘れてましたw
> 
> tar ballからのmake installからでも
> ヘッダファイルをインストールするように
> しようと思います。
> 
> (2013/07/12 15:09), 中野 宏朗 wrote:
>> 中野@幕張です。
>>
>> v2では、インストールマニュアルで./configure時に
>> prefix, sysconfdir, localstatedir, libdirを
>> コマンドラインで指定するようにしていたんですね。
>>
>> v3もそうしようかな・・・
>> 他の方はどうでしょうか?
>>
>> (2013/07/12 14:53), TATEISHI Katsuyuki wrote:
>>> たていしです。
>>>
>>> On Fri, 12 Jul 2013 14:44:34 +0900 (JST),
>>> TATEISHI Katsuyuki <k.t****@nttco*****> wrote:
>>>>>
>>>>> --with-l7vsadm-sockdir と  --with-l7vs-config-dir あるから、
>>>>> こいつらだけ生path指定して、rpmbuild時はこのオプションに
>>>>> RPM_BUILD_ROOTを付与するしかないかな?
>>>>> でも、v2のconfigure.acとMakefile.amを見ると、sysconfdirや
>>>>> localstatedirを使っているんですよね。
>>>>>
>>>>> v2のときはどう乗り切ったんだろう?
>>>>
>>>> v2では --with-l7... のデフォルト値を
>>>>
>>>> ============================================================
>>>> AC_ARG_WITH(
>>>>      l7vsadm-sockdir,
>>>>      [  --with-l7vsadm-sockdir=DIR l7vsadm sockfile path.
>>>>                                [default="${localstatedir}/run/l7vs"] ],
>>>>      [  l7vsadm_sockdir="$withval" ],
>>>> # XXX: Should be [  l7vsadm_sockdir="${localstatedir}/run/${PACKAGE}" ]
>>>>      [  l7vsadm_sockdir="${localstatedir}/run/l7vs" ]
>>>> )
>>>> ============================================================
>>>> のようにしています
>>>> # XXX が残ってますが今回は関係なさげ
>>>>
>>>> なので、 --prefix を指定しただけだと同様に /usr/local/var 配
>>>> 下とかになる仕様です。
>>>>
>>>> 前述のとおり rpm にするときは rpmbuild がこのへんの場所を指定
>>>> してくれるので、Makefile.am が install 先を生で埋め込んでない
>>>> 限りうまく動作するはずです。
>>>
>>> 補足です。
>>>
>>> v2 は spec ファイルでも
>>> ============================================================
>>> %define l7vs_moddir %{_libdir}/l7vs
>>> %define l7vs_logdir %{_localstatedir}/log/l7vs
>>> %define l7vsadm_sockdir %{_localstatedir}/run/l7vs
>>> (中略)
>>>
>>> %build
>>> %configure \
>>>      --with-l7vs-moddir=%{l7vs_moddir} \
>>>      --with-l7vs-logdir=%{l7vs_logdir} \
>>>      --with-l7vsadm-sockdir=%{l7vsadm_sockdir} \
>>>      --with-l7vs-maxvs=%{l7vs_maxvs}
>>> ============================================================
>>> のように指定してました。
>>>
>>> --
>>> TATEISHI Katsuyuki <k.t****@nttco*****>
>>>
>>>
>>>>
>>>> --
>>>> TATEISHI Katsuyuki <k.t****@nttco*****>
>>>>
>>>>
>>>>
>>>>>
>>>>> (2013/07/12 11:14), TATEISHI Katsuyuki wrote:
>>>>>> たていしです。
>>>>>>
>>>>>> On Thu, 11 Jul 2013 16:19:02 +0900,
>>>>>> 中野 宏朗 <nakan****@nttco*****> wrote:
>>>>>>> # ./configure --prefix=/hoge
>>>>>>>
>>>>>>> とかやってインストール先を変えようとしても変わらない。
>>>>>>> configure使ってる意味を一つ潰してて、そのせいでrpmbuildのときに
>>>>>>> 仮インストール先を変更できない・・・
>>>>>>> make exe_prefix=/hoge
>>>>>>> とかやると変えられるかもだけど、configure使ってて、configure.inを解読
>>>>>>> しないとmake変数がわからないとか、configureで変えられないとか、非一般的です。
>>>>>>>
>>>>>>> というわけで、AC_SUBST(exec_prefix,[/usr])とか、libdirとかincludeとかの
>>>>>>> 直でフルパス指定しているところを削除したいです。
>>>>>>> # libdirやincludeは、%prefix/libとかになるかな。
>>>>>>> そうすると、ソースを直接configure;makeしたときのデフォルトprefixが
>>>>>>> automake標準の/usr/localになるんですが、それでもいいでしょうか。
>>>>>>>
>>>>>>> rpmのときはprefixを$RPM_BUILD_ROOT/usrにして、/usr 配下にインストール
>>>>>>> されるようにしようと思っています。
>>>>>>> その方が一般的だと思うのですが。
>>>>>>
>>>>>> ./configure のときに何も指定しなければ /usr/local へ、 RPM
>>>>>> は (rpmbuild が --prefix とかを /usr に指定するので) /usr へ
>>>>>> インストールされるというかたちで良いと思います。
>>>>>>
>>>>>> # v2 のときも、たしかそうしたはずですし。
>>>
>>> 補足です。
>>>
>>>
>>>
>>
> 

-- 
中野 宏朗 (NAKANO Hiroaki)
NTTコムウェア 品質生産性技術本部 技術SE部
基盤ソフトSE・OSS部門 OSS・DB技術担当
Tel: 043-211-2452 (Ext: 特番+26-8341), Fax: 043-211-5086
Zip/Address: 261-0023 千葉県千葉市美浜区中瀬1-6 NTT幕張ビル21F-En




Ultramonkey-l7-develop メーリングリストの案内
アーカイブの一覧に戻る