如果我想要一个依赖工具,有什么建议吗?

如果我想要一个依赖工具,有什么建议吗?

我们公司采用Perforce来实现代码管控,所以需要从P4服务器下载所有需要的包,我们使用的Linux发行版主要有RedHat和Ubuntu,现在需要一个依赖工具来管控所有包之间的依赖关系,当然这个工具要同时支持RedHat和Ubuntu。

问题一:

对于上述问题有什么建议吗?


据我所知,APT 是一个很好的工具,它提供了我们需要的类似功能。现在 RedHat 和 Ubuntu 都可以采用它。

问题二:

是否可以重用现有的 APT 工具来实现我的目标而无需修改 APT 的源代码?


为了从存储库获取这些 .deb 包,APT 知道如何处理 /etc/apt/sources.list 文件中包含的 http、ftp、文件(本地文件)和 ssh 类型的档案,据我所知。如果问题 2 的答案是“否”,我想我必须修改 APT 的源代码。

现在,我想除了当前的 http、ftp、file 和 ssh 之外添加另一种存档类型,例如“p4”,然后参考当前类型的代码编辑我自己的代码。

问题三:

这个想法可行吗?或者有更好的建议吗?如果我想了解更多 APT 源代码,除了 APT 源代码外,还有什么参考和资源可以获取吗?

感谢您的回答。

答案1

我不太清楚你试图管理什么依赖关系。这些软件包是否打算与标准操作系统软件包集混合安装在各种 Ubuntu 和 Red Hat 系统上,还是作为一个独立的套件?

如果您要与操作系统软件包一起安装,那么您真的需要下定决心,为 Red Hat 制作适当的 RPM,为 Ubuntu 制作适当的 deb 软件包。您可以使用alien或类似的东西来做这件事,但这真的是疯狂的道路。

另一方面,如果这是一套独立的软件,那么真的不是合适的工具。它只会变得一团糟。

那么对于第二个问题:你可以扩展 apt 以包含从“p4”获取文件的代码。但这似乎需要做很多工作,而回报却值得怀疑。为什么不直接将文件签出到中间位置并以通常的方式分发它们呢?

最后,第三个问题:就我目前所知,不,我认为这不是一个好方法。但我不清楚你到底在做什么。

相关内容