[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FreeBSD port to NetBSD package (Re: jgroff and Wnn4)



大石@分子研です
#誰からも返事が来ないみたいなので

Noriyuki Soda wrote:
> 
> > ある英語のパッケージを作るのにドキュメントの変換でlatexが必要。
> > ある日本語のパッケージを作るのにドキュメントの変換でplatexが必要。
> > platexとlatexは同時にはインストールできない。
> > 日本語のパッケージを入れた後英語のパッケージを入れると、
> > platexの上にlatexが上書きされて日本語latexが使えなくなってしまった。
> > (その他perl等、日英で同じコマンド名を持つパッケージの依存関係で
> >   見かけることがあります)
> 
> できる限り、こういうのは避けた方が良いと思うんですが、難しいでしょうか?
> platex と latex を同時にインストールしたいというのは、よくある要求だと
> 思うんですが。(日本語は使いたい。でも、外国に投稿する論文では、出力の
> dvi ファイルや PostScript ファイルに誤って日本語フォントが混ざるのを
> 避けるために、オリジナルの latex を使いたい… とか。)
私が思うに、
技術的には可能ですが実装がださくなります。

同じディレクトリ内に同じ名前のファイルは置けないので、
同じコマンド名で処理が異なるものを入れる場合、
ファイル名かディレクトリを変えなければなりませんが、
ファイル名を変えると依存ファイル関係に支障が出やすいので、
通常はディレクトリを変えることになります。
しかしディレクトリを変えると
コマンドパスを直接指定しないと実行できなくなるので。
新しく作ったディレクトリのpathを設定するかコマンドにlinkをはる必要が出て
きます。
pathを設定するのはディレクトリが多くなると煩雑になるので
linkを張る方が少しはマシかと思います。

> みたいなことをしているんだったら、${PREFIX} の代わりに ${PREFIX}/ja と
> してしまうという手もあるような気がするんですが。
> (もちろん、conflict するものだけ)
> --
> soda
ただconflictするものだけディレクトリを変えるというのは
所詮対処療法でしかありませんので、
やるならja関係は総てオリジナルとは別ディレクトリにする方がすっきりしま
す。
またless等でeuc、jis、sjis、iso-2022jp等全部入れたいとかなると、
必要なディレクトリの量が増えて行きます。

今私が考えている中で最も良いと思う方法を以下書きます。
パッケージは
${PREFIX}の変わりに${PREFIX}/pkgbin/${PKGNAME}
にとりあえず入れておいて、
ln -s ${PREFIX}/pkgbin/${PKGNME}/bin/hoge ${PREFIX}/bin/hoge
ln -s ${PREFIX}/pkgbin/${PKGNME}/bin/ja-hoge ${PREFIX}/ja/bin/ja-hoge
のようにアプリケーションの言語毎に別のディレクトリからlinkする。
最優先のpathは$LANGで判断する。
また${PKGNAME}から言語を判断しlinkを張るためのコマンドをスクリプトで書
く。
(この時、オプションでパッケージの優先順位やリンクを張るディレクトリを
  変更できるようにしておく)
パッケージの削除は${PREFIX}/pkgbin/${PKGNAME}以下全部削除し、
リンク先のなくなったリンクファイルを消す。
#パッケージを作るときは${PREFIX}/pkgbin/${PKGNAME}以下をtarで固めるだ
け。
同名のshared libraryが複数ある場合でローカライズされているものを必要とす
る場合は
static linkにしてしまう(数はそれ程多くないでしょう)。

とりあえずはこのようにすればファイル名の同じパッケージを同時に入れること
は可能で、
パッケージを作るときには依存関係がある場合、
オリジナルのディレクトリを参照すればdependの問題も片付くはずです。

#しかし実装がどう見てもださいです。
#ディレクトリは増えまくるし、何か別の問題が出てきそう。
#他に良いパッケージの実装方法があれば議論してもらえるとうれしいです。

-- 
**************************************************************************
 大石 修                            Osamu Oishi
 岡崎国立共同研究機構分子科学研究所  Molecular Assemblies Dynamics
 分子集団動力学部門                  E-mail oishi@ims1.ims.ac.jp
**************************************************************************