[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

visualize DEPENDS/REQUIRED



packageの依存関係を視覚化するためのscriptを書いてみました。
視覚化にはvcgを使用します
(FreeBSDからpkgsrc/graphics/vcgに持って来ておきました)。

% mkdeplist.pl

と実行すると/usr/pkgsrcを検索して、current directoryに
list.{pkg,dep,req}を作成します。環境変数 PKGSRCDIR か、/etc/mk.confで
PKGSRCDIRが設定してあるとそちらを参照します。
list.{pkg,dep,req}があるdirectoryで、

% depvcg.pl graphics/imlib > pkg.vcg

などと category/package を指定して実行すると、DEPENDS/REQUIREDを
検索して、vcg用のscriptを作成します(-a optionを付けると、全部書き出します)。

これは

% xvcg pkg.vcg

で見ることができます。ちょっと楽しい :-)
# portsでも使えるはず。

sakamoto
--
begin 644 pkgdep.tgz
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
J@08::*"!!AIHH($&&FB@@08::*"!!AIHH($&&FC@_Q#^!;9PLH(`4```
`
end