From nakano.hiroaki @ nttcom.co.jp Thu Jul 11 16:19:02 2013 From: nakano.hiroaki @ nttcom.co.jp (=?ISO-2022-JP?B?GyRCQ2ZMbiEhOShPLxsoQg==?=) Date: Thu, 11 Jul 2013 16:19:02 +0900 Subject: [Ultramonkey-l7-develop 955] =?iso-2022-jp?b?bWFrZSBpbnN0YWxsGyRCO34kTiUkJXMlOSVIITwla0BoGyhC?= =?iso-2022-jp?b?GyRCSlE5OSRLJEQkJCRGGyhC?= Message-ID: <51DE5C66.70400@nttcom.co.jp> 中野@幕張です。 rpmでsample.crmがインストールされない件についてです。 ついでにmanがインストールされない件についても。 わかりました。 sample.crmのインストールをMakefile.amには書いていたのですが、 specファイルのほうには書いていませんでした。 なので、make installではインストールされるのですが、rpm -ivhで いれるとインストールされないという。 ・・・なんでやねん。 specファイルを良く見ると・・・なんでspecファイルにMakefile.amと 同じものが書いてあるのさorz もしやと思ってmanについても調べてみると、manもmake installでは /usr/local/share/manに入るんですが、rpm -iだと入らない。 specファイルの%installにmake prefix=$RPM_BUILD_ROOT/{_prefix} install としても、かたくなに/usrにインストールされてrpmbuildが失敗する。 ・・・configure.inに、exec_prefixが/usrって思いっきりハード コーディングされてました(゜Д゜#)んで、各Makefile.amがそれを参照。 これが原因。 これだと、ビルドする人が # ./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 配下にインストール されるようにしようと思っています。 その方が一般的だと思うのですが。 -- 中野 宏朗 (NAKANO Hiroaki)