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

Back to archive index

TATEISHI Katsuyuki k.t****@nttco*****
2013年 7月 12日 (金) 14:53:39 JST


たていしです。

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 のときも、たしかそうしたはずですし。

補足です。




Ultramonkey-l7-develop メーリングリストの案内
Back to archive index