NetBSD以外でpkgsrcを使うZoularis

NetBSD以外でpkgsrcを使う
Zoularis
原岡善行
Zoularisとは
ZoularisはNetBSDの
pkgsrc(FreeBSD,OpenBSDのports相当)
をNetBSD以外のOSで扱える様にしたも
の。
現在、利用可能なOSは
Solaris,Linux,Darwin(MacOS X)の3種類
Zoularisの特徴
良い面
NetBSDを中心としてSolaris,Linux,Darwinも同時に使ってる環境で
パッケージ管理を統一してやることができる。
⇒(NetBSDを中心に管理している人は)管理コストが下がる?
Solarisにはsourceから突っ込めるパッケージシステムが無いので
binary配布禁止のライセンスを突っ込む場合に有利。
例えばqmail,djbdns等
個別にIPv6のパッチを当てないと行けない様なツールを導入する
のに便利
統一したインストールポリシーを/etc/mk.confに記述してインス
トールできる。
SolarisであればgensolpkgでSolaris用のpkgを作成できる。
一番多くのOSに対応した共通のパッケージ形式?
Zoularisの特徴
惡い面
各システム標準のパッケージシステム以外に
NetBSDのpkgシステムを新たに追加する様に
なる事になり、混乱は生じやすくなる。
⇒ SolarisはSolarisのパッケージ形式、Linux
はrmp,deb等がある。
sourceからのインストールが非常に面倒。
NetBSDのリリースにあわせてpkgsrcが
Freezeされる。
Zoularisのインストールは…
Solarisの場合
Solaris8(SPARC)だとbinary packageが
あるのでそれをpkgaddする。
Solairs7以前やIntel版だとsourceから
build
Zoularisのインストールは…
Linuxの場合
Red Hat Linux 5.0, 6.2 (i386)とDebian
GNU/Linux 2.2 (i386)向けのバイナリが
存在するのでそれを展開して突っ込む
それ以外はやはりsourceからbuild
Zoularisのインストールは…
MacOS Xの場合
bootstrapを展開してインストール
ただ、pkgsrc/pkgtools/pkg_installを
scriptからではインストール出来ない様
なので、bootstrapを起動しインストー
ルを行った後に手動で
pkgsrc/pkgtools/pkg_installでbmake
installしてあげないといけない。
これから課題等?
Zoularis全体
ipfのMakefileみたいに簡単にMakefileの
方で各OSのパッケージ形式にできる形
になる
Darwin用のbootstrapとSolaris,Linuxの
Zoularisとして統合
AIX,Tru64,HP-UX,BSD/OS等、他のOS
へも対応
Solaris
Intel版やSol7以前のバイナリーパッ
ケージの用意
Linux
もっと多くのdistributionのバージョン
を意識した形にしていく必要がある
Distribution毎のツールを信用せずにpax
等を入れていく?
MacOS X
GUIが欲しい
->CocoaでGUIを作り、OpenStepやGNUStepが入っ
てるNetBSD,Solaris,Linuxでも使える様な形で書くべ
き?
Cocoa,Carbornのバイナリを作った場合、defaultで
はどこに置くかが決まっていない。
Darwin対応のpkgsrcがSunOS,Linuxに比べて少な過
ぎるgettext,gtexinfo等が入らないのが致命的
Mach-oに対応してないconfigureにパッチを当てる様
にしてないpkgsrcが意外と多い
Darwinにportsじゃなくpkgsrcを突っ込む
でも一番大きい課題は…
多くの人に知ってもらう事
pkgsrc developerの方はZoularisがある
事も意識して作って欲しい。
BSD Magazine
BSD Magazine Vol.12ではZoularis関連
の記事が3つある
Sourceからのbuildは坂本さんの記事が
参考になる
参考ページ
Zoularisのオリジナルのページ
http://www.NetBSD.org/zoularis/
和訳のページ
http://www.jp.NetBSD.org/ja/zoularis/
KAMEのnewsletterでの紹介
http://www.kame.net/newsletter/200203
22/
pkgsrc BOFの資料
http://www.jp.NetBSD.org/ja/JP/JNUG/even
t/20020331pkgsrcBOF/