[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: pkgsrc bof logs
緒方です。
Reply-To: tech-pkg-ja@jp.netbsd.org してます。続きはこちらで。:)
たくさんまたせてごめんなさい。
From: OGATA <ogata@isp.qix.org>
Date: Mon, 01 Apr 2002 08:24:56 +0900 (JST)
Message-ID: <20020401.082456.891735966.ogata@isp.qix.org>
> JNUG の event のページにまとめる予定です。しばしお待ちいただけないでしょうか。
まだ、英訳が終ってないのですが、いいかげん出さないと timeout してそう
なので memo(log) を出します。(激汗
これだけじゃ分からないと思うので、プレビュー目的に資料を用意しましたので
参考にしてください。
http://homepage.mac.com/cbug_ogata/20020331pkgsrcBOFpreview0408/
JNUG のサーバに収容されるまでに fix されるかもしれません。
参加されたみなさん:
プレビューを用意したので確認お願いします。
http://homepage.mac.com/cbug_ogata/20020331pkgsrcBOFpreview0408/
その他 pkgsrc の発展のために、コメント等歓迎しますのでどんどん突っ込み?
お願いします。
残り ToDo:
memo.txt(英訳)の作成。
fix 受付、締め切り。
JNUG のサーバに受渡し。
tech-pkg, tech-pkg-ja ML への報告。
OGATA Hiroshi <ogata@isp.qix.org> BSD lover :)
Zoularis for Darwin/Mac OS X: http://www.netbsd.org/zoularis/#darwin
pkgsrc BOF
第1部 Zoularis - pkgsrc for non-NetBSD systems -
* pkgsrc on MacOS X 山野さん
-> 資料あり
compileできるのは300くらい
問題点
sys.mk が間違ってる。
libtool はFinkから持ってくる
dlopen ぱちる
cpp は apple のもの。precompileできる。
-> gccのcppを使うように
デフォルトはアップルの precompiled header に対応した cpp。
しろやまさんの話だと、Next 時代の遺産なので /usr/include に
あるものしか使わないのなら GNU の cpp をデフォルトにしても
OK なはずらしいです。
しろやまさんに聞いた話で、関数のネームスペース問題があるかも。
ライブラリの中にある関数をおきかえるために自前で関数を用意
した場合、ライブラリのほうが使われちゃってうまくいかない場合が
あるとのこと。これも ld? のオプションで制御可能らしいです。
ld, strip のoptionが違う。
HFS+ はcase insensitive
shared libraryのnaming conventionが違う
-> bsd.pkg.mk
agcが1.6に向けてがんばるらしい
* pkgsrc on Solaris 原岡さん
-> 資料あり
利点
pkgsrcを使って管理コストを下げられる
ソースonlyでしか配付できないものをpkgsrcで管理
gensolpkgでsolaris native pkgを作ることができる
-> make packageのときにinstallするのが問題ちゃ問題
問題点
solaris用のパッケージと二重管理になって嫌
zoularisをcompileするのは面倒だけどbinary kitがあるから良い
野望
Solaris8, AIX true64, BSD/OSなどに対応
NSUG CD-ROMに突っ込む
課題
patchなどをOS依存/非依存考慮すべし
* pkgsrc on Linux 坂本
binary kitが古い。RedHatは 5.2, 6.0用。
othersrc/zoularisをcompileするにはNetBSD src treeが必要。
必要なものは限られているが、分離して配付してない。
zoularis自体updateされてないから
lchownとか新し目のsystem callが入ってない。
mtreeが正しく動かない。
BSD make前提patch freewnnとか。
標準で使うMAKEをbmakeにしちゃえばよさげ。
当然ながらLinux固有のpatchがあたってない。
どのrpmが必要かよくわからない。
仕方がないとは言え nativeのpackageを使う方式がpkgsrcにない。
.if exists(/usr/bin/pax)とかをそれぞれのpkgにいれていくしかない。
使ってる人いないぞ。
* MacOS Xのパッケージシステム しろやまさん
-> 資料あり
NeXT由来のパッケージは対応してない
Darwin開発者はOpenPackagesを使おうとしている
-> 開発どうなってるの?
事実上止まっている様子。
他のパッケージ
EasyPackage
開発終了(作者による継続が行われていない)
日本人作者で日本では比較的人気があった?
PineApple
rpmベース
Fink
debianベース
GNU-Darwin
FreeBSD portsベース
Core OS である Darwin を含めた distribution 全体を
GNU-Darwin と呼ぶ。パッケージシステム自体の呼称は無い。
ぷらっとホームで売ってる。
パッケージシステムのインストール時に openssh を
上書きしてくれるので要注意。(GUI から有効/無効の
操作不能になる。)
Mac OS X の UNIX 的アプローチ(Terminal.app 等)はあんまり使われて
ないかも。
ほとんど MacOS9 以前の互換を実現する classic 環境の利用が主。
でもコマンドラインを使う層も現れて来ているらしい。
Darwin1.4.1 を改めてインストールしてて気がついたの
ですが、Darwin 自体は、.deb なパッケージを使っているので、
いまだ dpkg を使っているらしい。
* make packages on Darwin OGATA
-> 資料あり
iBook G3 500MHz
HFS+
MacOS X 10.1.3
基本システムのコマンドを入れ換えてる tarなど
7日10時間
distfiles 4.6GB
317/2700 11% compile可能
* enabling IPv6 in MacOS X OGATA
-> 資料あり
pkgsrc の利用事例としての紹介。
オリジナルは http://www.kame.net/newsletter/20020322/
BIND8 からのライブラリと openssh 作成に pkgsrc を使う。
kernel作り直す
library作り直す
KAMEのlibrary,pkgsrcも使う
第2部 pkgsrc 全般
elf/aout は mac68k が elf になることで全ての arch が elf になることで解決?
pkgsrc 的には elf 前提、Mac OS X は elf じゃない(Mach-O)けど幸せになれる?
64bit, endian は pkgsrc 化するソフト依存で pkgsrc 自身は問題無し。
Linux emul, FreeBSD emul, Win32(PEACE) も特に問題無し。
compat_darwin を用意すればエミュレーション可能?
いけてる点
いちいち ./configure やるよりは簡単。
いけてない点
作るのが手間。手で入れたほうが早い。
ライブラリのごくわずかの upgrade でも依存するパッケージが全部入れ直しに
なる。
make print-PLIST: PLIST 作成コマンド
make install
make print-PLIST > /tmp/PLIST
のようにする。
${FIND} ${PREFIX}/. -newer ${EXTRACT_COOKIE}で検索してPLISTを表示してくれる。
基本的な環境変数の置換も行ってくれるらしい。
mount_union も併用するとより良い。
mount_union /a/pkg /usr/pkg
(cd /usr/pkgsrc/foo/bar; make install)
find /a/pkg -type f -or -type l > /tmp/plist2
(cd /usr/pkgsrc/foo/bar; make deinstall)
umount /usr/pkg
make tarup: tarball 作って update してくれる?
pkg_tarup パッケージ名 でも可。
完全ではなかったはずですが、
インストール済パッケージから binary packageを作ってくれる。
試してないですが、
make replace
てので使ってるらしい。