跟踪包依赖关系的工具

Linux发行版和BSD版本中的许多软件pipe理器都会跟踪软件包的依赖关系。 但在软件包进入存储库之前,由维护人员进行调查,维护人员手动跟踪依赖关系。

什么软件可以用来跟踪软件包的依赖关系? 纯文本文件不是很好,因为它们是平的。 可以保持树中数据结构的提纲更好,但并不理想,因为依赖关系并不总是形成一棵树,有时它们形成一个图。

请记住,我不是在寻找可以自动解决依赖关系的东西。 我正在寻找一个应用程序,可以存储包之间的依赖关系,并允许查询显示包(如包pipe理器)的依赖关系。

不知道我理解你的问题,但这只是包pipe理者所做的。

在Debian上,例如你可以使用

apt-cache depends <packageX> 

显示packageX的依赖关系

 apt-cache rdepends <packageX> 

显示反向依赖关系(依赖于packageX的包)。

如果这不是你要找的,也许你可以描述你想要做什么?

我对存储库/软件包维护并不熟悉,但是我已经分享了我的软件包,无论是内部软件(通用脚本的RPM和我放在所有盒子上的Nagios插件),还是真正的新东西目前尚未提供(CentOS回购中的Bacula是当前的完整主要版本)。

我来自基于RPM的环境,所以术语可能不一样,但总的想法应该是…

我只是保留一个我曾经build立的每个软件包(以源代码forms和完成的软件包)的存储库。 根据需要,我将相关信息包含在RPM SPEC文件中,以便将其放入RPM中。 当我想知道我构build的包的依赖关系是什么时,我只是“rpm -qpR foo.rpm”,它列出了RPM报告的依赖关系。 如果你想要一个详尽的recursion列表,你可以写一个recursion的脚本,使用这个逻辑来检查依赖关系的依赖关系等。

如果你正在谈论低层次的话,当我构build包的时候,我总是把源代码保存在/ buildroot下,而且对于每个包,我通常保留两个文件:构build过程的屏幕日志和“buildnotes”文件。 如果有任何古怪的依赖问题,我注意到它在buildnotes(我通常在/ usr / share / doc / PACKAGENAME或一些这样的位置),但是对于那些东西(人类可读的依赖关系,打包者的注意事项等东西比封装格式知道依赖关系更详细)我还没有听说过任何自动跟踪它的方式,除了维基或一个生成文件中的东西。