[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FreeBSD port to NetBSD package (Re: jgroff and Wnn4)
大石@分子研です
Kazuki Sakamoto wrote:
> > FreeBSDでは、
> > dependの形式もlib、run、buildといろいろあって、
> > それぞれが網目状になって気がします。
> > それでもdependの問題だけなら一応scriptで対処はできるはずですが、
>
> 網目状というのがよくわかりません。
例えば
vflibはt1lib、freetype等複数のパッケージに依存しており、
またvfghostscriptやdvi2ps等複数のパッケージから参照されている。
さらにdvi2psはvflib以外にpkfont等他のパッケージを必要とする。
といったような依存関係が多対多になっているという意味です。
#解り難くて申し訳ありません
> 作るとき必要、実行するとき必要、というようにそれぞれ別々の扱いですよね。
>
> package-dependsで表示されるのは、LIB_DEPENDSとRUN_DEPENDSだけですね。
> bsd.port.mkを書き換えて、
> LIB_DEPENDS,RUN_DEPENDS,FETCH_DEPENDS,BUILD_DEPENDS,DEPENDS
> 全部表示するようにすれば良いですね。
>
> > いくつかのパッケージを入れるとdipendしているパッケージ間でconfrict
> > するといった問題もあったように思います。
>
> これの具体例ってどこかにありますでしょうか?
> pkg_installでのチェック方法に問題があるのでしょうか、
> 同じfileに重ねてインストールされてしまうとか?
事実ではありませんが、単なる例えばということで。
#昔あった気がしないこともありませんが
ある英語のパッケージを作るのにドキュメントの変換でlatexが必要。
ある日本語のパッケージを作るのにドキュメントの変換でplatexが必要。
platexとlatexは同時にはインストールできない。
日本語のパッケージを入れた後英語のパッケージを入れると、
platexの上にlatexが上書きされて日本語latexが使えなくなってしまった。
(その他perl等、日英で同じコマンド名を持つパッケージの依存関係で
見かけることがあります)
> 結局、FreeBSD port -> NetBSD package は全自動ではできないけど、
>
> ・.include <bsd.port.mk> -> .include "../../mk/bsd.pkg.mk"
> ports/Mk/bsd.port.mkになってたのね。気づかなかった...
> ・FreeBSD RCS ID -> NetBSD RCS ID, header削り
> ・MAINTAINER変更
>
> くらいは自動でできますよね。pkg_convert とか作って pkgtoolsに入れちゃおう。
> で、convert後のものを、Packages.txtに従って仕上げると。
> ・pkglint
> ・shared libraryを作るものはLIBTOOLを使う
> ・makeしてみて動作確認
> ・patch中の__FreeBSD__などに気をつける
> ・etc,etc
>
> 簡単なのは簡単だけど、難しいのは難しい... あたりまえか :-P
あとprefix=/usr/local,prefix=/usr/pkg
の違いで直接/usr/localを指定しているものがけっこうあります。
#本当は、どのディレクトリにでも入るようにprefix=${PREFIX}にすべきでしょ
う
--
**************************************************************************
大石 修 Osamu Oishi
岡崎国立共同研究機構分子科学研究所 Molecular Assemblies Dynamics
分子集団動力学部門 E-mail oishi@ims1.ims.ac.jp
**************************************************************************