[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FreeBSD port to NetBSD package
大石@分子研です
パッチ、スクリプトはバグってるかもしれないので中を確認して使ってくださ
い。
Keiki_Sunagawa@yokogawa.co.jp wrote:
> 実行ファイル以外にもパッケージを構成するファイルはいろいろありますが、それら
> についてはいかがでしょうか。
今は後ろに付けたbsd.pkg.mkのような感じで遊んでいます。
私のところでは通常のパッケージファイルは
/usr/pkgbin/${PKGNAME}/{bin or lib or man ...}
X関係のパッケージファイルは
/usr/pkgbinX11/${PKGNAME}/{bin or lib or man ...}
にインストールされるようにしています。
#bsd.pkg.mk内で$LANGでインストールディレクトリ決めてもいいとは思うが、
#lib関係のpathが増えて/etc以下書き換えが必要になるのでちょっと嫌
そのすべてのファイルを/usr/pkgや/usr/X11R6以下にリンク張ってます。
#一応大丈夫みたいだけどテスト不足です。
#また、どこにリンク張るかは自由です。
> あるいはunion mountを使って
>
> /usr/pkg_ja --> /usr/pkg
> /usr/pkg_fr --> /usr/pkg
>
> (/usr/pkg_enは/usr/pkgと同じ)
>
> としておき、jaパッケージを使いたいときは/usr/pkg-ja/someを各種のパスに入れる
> という方法ではどうでしょう。これなら各言語毎のパッケージを作るときに
>
> LOCALBASE=${PREFIX}_${LANG}
>
> としておけば互いに混ざることはありません。
言語変える時にマウントし直さないといけないので
usrレベルでは使いにくいかも。
あとNetBSD/pc98のunion mountは結構手が入ってて
kernel作るときに使うぐらいまで安定してますが、
他のアーキテクチャではどんなもんでしょう?
#昔使ってたころのFreeBSDはいまいちバギーだったもんで
> PATH=/usr/pkg_${LANG}/bin:...
>
> みたいにできればいいと思いますが、これはやりすぎかも。
>
> > とりあえずはこのようにすればファイル名の同じパッケージを同時に入れること
> > は可能で、パッケージを作るときには依存関係がある場合、
> > オリジナルのディレクトリを参照すればdependの問題も片付くはずです。
> >
> > #しかし実装がどう見てもださいです。
> > #ディレクトリは増えまくるし、何か別の問題が出てきそう。
> > #他に良いパッケージの実装方法があれば議論してもらえるとうれしいです。
>
> 昔のBeOSで採用していたというRDB形式のFile Systemとか。なくなっちゃったんです
> よね。
結局、どの方法にも長短あるから、
いろいろためしてみるのが一番速かったりもしますが
-----------------shスクリプト----------------
#!/bin/sh
INSTDIR=/usr/pkg
SRCDIR=/usr/pkgbin
#remove the empty directry
find /${SRCDIR} -type d | sort -r | xargs -n 1 rmdir 2> /dev/null
#making the directry and link
cd /${SRCDIR}
for plist in `ls`
do cd $plist;
#for directry
for dlist in `find . -type d | sed 's/^\.\///g'`
do if [ ! -d /${INSTDIR}/$dlist ]; then
mkdir -p /${INSTDIR}/$dlist
fi
done
#for link
for flist in `find . -type f | sed 's/^\.\///g'`
do if [ ! -f /${INSTDIR}/$flist ]; then
ln -s /${SRCDIR}/$plist/$flist /${INSTDIR}/$flist
fi
done
done
-----------------ここまで----------------
-----------------patch----------------
--- bsd.pkg.mk.orig Wed Apr 14 21:39:52 1999
+++ bsd.pkg.mk Wed Apr 14 21:25:13 1999
@@ -93,11 +93,12 @@
.endif
.if (${OPSYS} == "NetBSD")
-LOCALBASE?= ${DESTDIR}/usr/pkg
+LOCALBASE?= ${DESTDIR}/usr/pkgbin/${PKGNAME}
.else
LOCALBASE?= ${DESTDIR}/usr/local
.endif
X11BASE?= ${DESTDIR}/usr/X11R6
+X11LOCALBASE?= ${DESTDIR}/usr/pkgbinX11/${PKGNAME}
CROSSBASE?= ${LOCALBASE}/cross
PKGSRCDIR= ${.CURDIR:C|/[^/]*/[^/]*$||}
@@ -151,7 +152,7 @@
PREFIX= ${LOCALBASE}
BUILD_DEPENDS+=
${X11BASE}/lib/X11/config/xpkgwedge.def:${PKGSRCDIR}/pkgtools/xpkgwedge
.else
-PREFIX= ${X11BASE}
+PREFIX= ${X11LOCALBASE}
.endif
.elif defined(USE_CROSSBASE)
PREFIX= ${CROSSBASE}
-----------------ここまで----------------
--
**************************************************************************
大石 修 Osamu Oishi
岡崎国立共同研究機構分子科学研究所 Molecular Assemblies Dynamics
分子集団動力学部門 E-mail oishi@ims1.ims.ac.jp
**************************************************************************