TATEISHI Katsuyuki
k.t****@nttco*****
2013年 7月 12日 (金) 14:44:34 JST
たていしです。 On Fri, 12 Jul 2013 14:13:50 +0900, 中野 宏朗 <nakan****@nttco*****> wrote: > どもです。ちょっと変えてみました。 > 実行ファイルやman、docはいい感じに入ったのですが・・・ > > /etcや/varもsysconfdirやlocalstatedirで置き換えてみたんですが、 > そうすると/usr/local/etcや/usr/local/varが出来て、そこに > 設定ファイルやらpidファイル用ディレクトリやらが作られて > しまいます。 > > こいつらは/etcや/varに入れたくて、でもrpmbuild時は > prefix効かせたいんですが、なんかいい方法ないですかね〜。 そういうものだと思います。 rpmの場合、正確には rpmbuild したあとにビルドディレクトリに残っ ている config.log を見てみると分かるのですが、RHEL環境であれば --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --libdir='${prefix}/lib64 ... みたいな指定が自動的になされるはずです。 # 直接関係はないですが redhat-rpm-config はインストールして # おいたほうが良いです。(バイナリをstripしてdebuginfoを作るため) > > --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 先を生で埋め込んでない 限りうまく動作するはずです。 -- 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 のときも、たしかそうしたはずですし。 >> >> -- >> TATEISHI Katsuyuki <k.t****@nttco*****> >> >> >> > > -- > 中野 宏朗 (NAKANO Hiroaki) > > _______________________________________________ > Ultramonkey-l7-develop mailing list > Ultra****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/ultramonkey-l7-develop >