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/20020322/ pkgsrc BOFの資料http://www.jp.NetBSD.org/ja/JP/JNUG/event/20020331pkgsrcBOF/