生成Autotools包的依赖关系图

时间:2012-02-09 12:37:06

标签: graph dependencies autotools

我有一个拥有30多个开源软件包的软件系统,其中大多数都使用GNU Autotools套件。

是否有自动生成包到包依赖关系图的工具?即我想看看gst-plugins-good之类的东西 - > gst-plugins-base - > gstreamer - >油嘴。

2 个答案:

答案 0 :(得分:0)

我不这么认为,但你可能会用这些知识鞭打一些东西:

  • 扫描程序包根目录中名为configure.acconfigure.in的文件。
  • 查找PKG_CHECK_MODULES([...],[...]...)
  • 形式的字符串
  • 该宏的第二个参数包含由空格分隔的packagepackage >= version形式的包要求。
  • requirement字符串可能与包tarball名称不同;包含package.pcpackage.pc.in的tarball提供了包package
  • 这仅适用于使用pkg-config的依赖项。有些则没有,您需要手动跟踪这些依赖项。

答案 1 :(得分:0)

可能不是,因为这是一个难题。如果只有一种方法来构建一个包,那可能不会太糟糕,但总的来说情况并非如此。您可以将--enable-foo--with-foo选项传递到configure。这些有时也依赖于包,需要更多包。大多数Linux发行版(我认为但不完全确定)为yumzypperapt维护这些依赖性列表,或者包装管理器是手动的,只有一层深,将其留给包管理器来遍历图表。发行版的软件包仅以一种方式构建。这些名单也被破坏并不罕见。