Linux发行版和BSD版本中的许多包管理器跟踪包依赖关系。但是,在包进入存储库之前,它会由维护人员进行调查,他会手动跟踪依赖项。
哪种软件可以用来跟踪包的依赖关系?纯文本文件不是很好,因为它们是平面的。能够在树中保持数据结构化的Outliner更好,但并不理想,因为依赖关系并不总是形成树,有时它们形成一个图。
请记住,我不是在寻找能够自动解决依赖关系的东西。我正在寻找一个应用程序,它可以存储包之间的依赖关系,并允许查询显示包的依赖关系(比如包管理器)。
发布于 2009-10-14 11:12:30
我不确定我是否理解你的问题,但这正是软件包经理所做的。
在Debian上,例如你可以使用
apt-cache depends <packageX>若要显示packageX的依赖项,以及
apt-cache rdepends <packageX>显示反向依赖关系(依赖于packageX的包)。
如果这不是你想要的,也许你可以描述一下你想做什么?
发布于 2009-10-14 18:00:31
我在存储库/包维护方面没有那么丰富的经验,但我已经分享了一些包,要么是内部软件(我在所有框中安装的通用脚本和Nagios插件的RPM),要么是尚未提供的真正的新东西( CentOS repos中的Bacula是当前的一个完整的主要版本)。
我来自一个基于RPM的环境,所以术语可能不一样,但是总的想法应该是.
我只是保存了我构建过的每个包的存储库(以源代码形式和已完成的包形式)。根据需要,我在RPM规范文件中包含了依赖项信息,因此它被滚动到RPM中。当我想知道我构建的包的依赖项是什么时,我只是"rpm -qpR foo.rpm",它列出了RPM所报告的依赖项。如果您想要一个详尽的递归列表,您只需编写一个递归脚本,使用该逻辑检查依赖项等。
如果您说的是低级的话,当我构建包时,我总是将源代码保存在/buildroot下面,对于每个包,我通常保存两个文件:一个构建过程的屏幕日志和一个“buildnote”文件。如果有任何奇怪的依赖问题,我会在buildnote中注意到(我通常在/usr/share/doc/PACKAGENAME或其他类似位置中将其滚动到包中)--但是对于那些东西(人类可读的依赖项、打包器的注释等等)--比包格式所知道的依赖关系更详细的东西--我还没有听说过任何自动跟踪它的方法,除了在makefile中的wiki或其他东西。
https://serverfault.com/questions/74304
复制相似问题