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

Back to archive index

中野 宏朗 nakan****@nttco*****
2013年 7月 17日 (水) 14:36:19 JST


中野@幕張です。
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 メーリングリストの案内
Back to archive index