私は30以上のオープンソースパッケージを持つソフトウェアシステムを持っていますが、そのほとんどはGNU Autotoolsスイートを使用しています。Autotoolsパッケージの依存関係グラフを生成する
パッケージからパッケージへの依存グラフを自動的に生成するツールはありますか?私。私はgst-plugins-good - > gst-plugins-base - > gstreamer-> glibのようなものを見たいと思っています。
私は30以上のオープンソースパッケージを持つソフトウェアシステムを持っていますが、そのほとんどはGNU Autotoolsスイートを使用しています。Autotoolsパッケージの依存関係グラフを生成する
パッケージからパッケージへの依存グラフを自動的に生成するツールはありますか?私。私はgst-plugins-good - > gst-plugins-base - > gstreamer-> glibのようなものを見たいと思っています。
私はそうは思いませんが、あなたはおそらく、この知識と一緒に何かを鞭打つことができます:
configure.ac
かconfigure.in
いずれかの名前のファイルをスキャンします。そのマクロのPKG_CHECK_MODULES([...],[...]...)
package
または空白で区切られpackage >= version
のパッケージ要件から構成されています。requirement
の文字列は、パッケージのtarball名と同じではない可能性があります。 package.pc
またはpackage.pc.in
を含むtarballは、パッケージpackage
を提供します。おそらく、これは難しい問題です。パッケージを作成する方法が1つしかない場合、それほど悪くないかもしれませんが、一般的にそうではありません。 --enable-foo
と--with-foo
のオプションはconfigure
に渡すことができます。これらはパッケージに依存することもあり、より多くのパッケージを必要とします。ほとんどのLinuxディストリビューションでは、yum
またはzypper
またはapt
のいずれかのパッケージマネージャが手作業であり、グラフを横断するためにパッケージマネージャを残して1つだけの深さの依存リストを保持しています。ディストリビューションのパッケージは、の1つだけの方法で構築されています。これらのリストが壊れていることは珍しいことでもありません。
また、autoconf --trace = AC_CHECK_LIB: '$ 1:$ 4' --trace = PKG_CHECK_MODULES: '$ 1:$ 2' --trace = AC_SEARCH_LIBS: '$ 2 :$ 4 ' –