[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freewnn:00885] Re: manpage installation
- To: freewnn@XXXX
- Subject: [freewnn:00885] Re: manpage installation
- From: aono@XXXX (Tomoki AONO)
- Date: Thu, 1 Aug 2002 19:59:48 JST
- In-reply-to: Your message of "Wed, 31 Jul 2002 03:26:26 +0900". <86r8hljcml.wl@barleycoren.oikumene.gcd.org>
- Reply-to: freewnn@XXXX
青野です。こんばんは。
<86r8hljcml.wl@XXXX>の記事において
hiroo@XXXXさんは書きました。
>> やっぱりいつになるかわかんないので、現状で私の手元でインストールして
>> (日本語の変換が) ちゃんと動いたら snapshot (-a20) を公開するつもりです。
>> 今週駄目だと 8月10日頃になってしまうかもしれません。
あまり変更されたところがないかもしれないですが、よろしくお願いします。
#Tag付けしませんか(と性懲りもなく言ってみる)。
>> それから、manpage のインストールからみで、ご意見を聞かせてください。
>> 現状、manpage は install.man target で
>> $mandir/man1 または $mandir/man3
>> という path にインストールされます。
>> これの最大の問題は、言語の区別がないので日本語、英語といった各言語の
>> man が install できないことです。
(中略)
>> Wnn/man/6.jutil/Makefile.in
>> include @top_srcdir@/makerule.mk
>> top_builddir = ../../..
話が違うのですが、このincludeで使っている「@top_srcdir@」
はsrcdir以外で構築する時に妨げになるので(時期未定ですが、
反対意見がなければ来週以降に)、top_builddir(をハードコード
したもの・ここでは「../../..」)に変えさせていただきたいの
でご意見ください。
#残念ながらここを変えただけでは、まだsrcdir以外での構築は
#できません…。
ちらっとautoconf-2.53のinfoを見ると、このバージョンでは
@top_builddir@での置換ができるらしいので2.13捨ててもいいか
なという気持ちに少し傾きました(^^;
>> で、こいつをどう変えようとしているかというと、
>> MANDIR は default /usr/local/man で
>> 英語の manpage は /usr/local/man/man[1358] にいれて、
>> 日本語の manpage は /usr/local/man/ja/man[1358] にいれる
>> MAN_SUBDIR_JA をいじると、ja のところを ja_JP とか ja_JP.eucJP とか変えられる。
>> なお、1: (ユーザーが使う) command、3: library function、5: (config.) file…
>> といったつもりです。
基本線としてはそれでよいと思いますが、この辺りのセクション
分けは大体同じものなのでしょうか > 識者の方々。
>> その為に makerule.mk.in を
>> MANDIR = @mandir@
>> MAN_LANGDIR = $(DESTDIR)/$(MANDIR)$(MAN_LANG_SUBDIR)
>> MAN_SUBDIR_JA = /@man_subdir_ja@
>> MAN_SUBDIR_EN = /@man_subdir_en@
>> SECT1 = man1
>> SECT3 = man3
>> SECT5 = man5
>> SECT8 = man8
>>
>> COMPRESSMANCMD = :
>>
>> で、書く manpage (現在は *.man) をおいたディレクトリの Makefile.in は
>>
>> include @top_srcdir@/makerule.mk
>> top_builddir = ../../..
>>
>> INSTALL = @INSTALL@ $(INSTALLFLAGS)
>> MAN_LANG_SUBDIR = $(MAN_SUBDIR_JA)
>> MANINSTALLDIR = $(MAN_LANGDIR)/$(SECT1)
>> MANFILES = atod.1 atof.1 dtoa.1 wddel.1 wdreg.1 wnntouch.1 oldtonew.1
>>
>> Wnn/man/6.jutil/Makefile.in を
>> install.man:: $(MANFILES)
>> @if [ ! -d $(MANINSTALLDIR) ]; then $(MKDIRHIER) $(MANINSTALLDIR)
>> for f in $(MANFILES); do \
>> $(RM) $(MANINSTALLDIR)/$$f; \
>> $(INSTALL) $(INSTMANFLAGS) $$f $(MANINSTALLDIR); \
>> $(COMPRESSMANCMD) $(MANINSTALLDIR)/$$f; \
>> done
>>
>> としようかなと考えています。いかがでしょうか。
とりあえず何か形ができるというのがよいと思うので基本線とし
てはよろしいのではないでしょうか。
#国際化manというのはよくありそうなのですが、前例ってない
#ものですかね…
configureで指定できたほうがいいので、ちょっと考えてみまし
た。
例えば--with-mandir-ja (--enable-mandir-jaでもいいです)と
したときはconfigure中で
install-man-target = "install-man-ja $install-man-target"
というAC_SUBSTすべき変数を定義して、
manがあるディレクトリのMakefileでは
install.man: @install-man-target@
という行と実際に日本語マニュアルをインストールする
install-man-ja ターゲットを作るというものでした。
--without-mandir-ja とした時にはinstall-man-targetを設定し
ないようにすればMakefile.inをいじる箇所が少なくなる、と見
込んでいるのですが…。
今後中国語・韓国語マニュアルができた場合でも同じ要領で
configureオプションを追加すれば制御ができる(かも)というの
がセールスポイントです。
#このオプションでディレクトリとかも指定できれば、と思って
#「mandir」にしました。--mandir-jaとかの方がきれいですが、
#マクロを書かないといけなさそうなので躊躇しています。
>> 迷っているのは、
>> ・ このように、for loop を回してしまうか、copy & paste で各ファイルについて
>> ルールを書くか。
for loopの方がよいと思います。今のMakefile.inはimakeの出力
を元にしているので冗長なところが多いと思っていました。今後
もMakefile.inを手作業でメンテするのなら、ほかの部分もまと
められそうなところはまとめた方がすっきりすると思います。
>> ・ 現在の *.man を *.1, *.3, etc... とファイル名を変えてしまいました。
>> 今のようにインストールの際に変えるよりはよいと思っていますが、どうでしょう。
こちらはCVSの性格上ファイル名を変えると履歴が引き継げない
のが気になるところです。
>> 本当にこんな感じでよいかとか、COMPRESSMANCMD の default どうしようとか
>> もありますが。
makerule.mkを手動で書き直してください、ですむかもしれませ
んが、自動でやらせるのなら(例えば)/usr/man/man1/ls.1 に.Z,
.gz (, .bz2 ?) が付いているか調べさせるとかでしょうか。
manpathがどこにあるかというのも考えなければならないのがちょっ
と…。configure 時にCOMPRESSMANCMD環境変数(かconfigureオプ
ション) をチェックして置き換える手もあります。
----
青野智樹 (aono@XXXX)
Personal opinion only..