2012-02-09 7 views
2

私は30以上のオープンソースパッケージを持つソフトウェアシステムを持っていますが、そのほとんどはGNU Autotoolsスイートを使用しています。Autotoolsパッケージの依存関係グラフを生成する

パッケージからパッケージへの依存グラフを自動的に生成するツールはありますか?私。私はgst-plugins-good - > gst-plugins-base - > gstreamer-> glibのようなものを見たいと思っています。

答えて

0

私はそうは思いませんが、あなたはおそらく、この知識と一緒に何かを鞭打つことができます:

  • は、パッケージのルートディレクトリにconfigure.acconfigure.inいずれかの名前のファイルをスキャンします。そのマクロの
  • 形式の文字列を探しPKG_CHECK_MODULES([...],[...]...)
  • 第二引数は、フォームpackageまたは空白で区切られpackage >= versionのパッケージ要件から構成されています。
  • requirementの文字列は、パッケージのtarball名と同じではない可能性があります。 package.pcまたはpackage.pc.inを含むtarballは、パッケージpackageを提供します。
  • これは、pkg-configを使用する依存関係でのみ機能します。いくつかはそうではなく、あなたはそれらの依存関係を手作業で追跡する必要があります。
+0

また、autoconf --trace = AC_CHECK_LIB: '$ 1:$ 4' --trace = PKG_CHECK_MODULES: '$ 1:$ 2' --trace = AC_SEARCH_LIBS: '$ 2 :$ 4 ' –

0

おそらく、これは難しい問題です。パッケージを作成する方法が1つしかない場合、それほど悪くないかもしれませんが、一般的にそうではありません。 --enable-foo--with-fooのオプションはconfigureに渡すことができます。これらはパッケージに依存することもあり、より多くのパッケージを必要とします。ほとんどのLinuxディストリビューションでは、yumまたはzypperまたはaptのいずれかのパッケージマネージャが手作業であり、グラフを横断するためにパッケージマネージャを残して1つだけの深さの依存リストを保持しています。ディストリビューションのパッケージは、の1つだけの方法で構築されています。これらのリストが壊れていることは珍しいことでもありません。

関連する問題