我们公司采用Perforce来实现代码控制。 所以我们必须从P4服务器下载所有需要的软件包。 我们使用的主要Linux发行版是RedHat和Ubuntu。 现在我们需要一个依赖工具来控制所有包之间的依赖关系。 当然,这个工具应该支持RedHat和Ubuntu。
问题一:
有没有关于上述问题的build议?
据我所知,APT是一个很好的工具,它提供了我们所需要的类似function。 现在,RedHat和Ubuntu都可以采用它。
问题二:
是否可以重新使用现有的APT工具来实现我的目标,而无需修改APT的源代码?
为了从存储库中获取这些.deb包,APT知道如何处理/etc/apt/sources.list文件中包含的http,ftp,文件(本地文件)和sshtypes的存档,我知道。 如果问题二的答案是“否”,我想我必须修改APT的源代码。
现在,除了当前的http,ftp,file和ssh之外,我还想添加另外一个types的文件,例如“p4”,然后编辑我自己的代码。
问题三:
这个想法是否可行? 还是有更好的build议? 除了APT的源代码,我还可以得到任何参考资料和资源,如果我想知道更多关于APT源代码的信息吗?
感谢您的回答。
我有点不清楚你试图pipe理的依赖关系。 这些软件包是否打算安装在与标准操作系统软件包集合混合的各种Ubuntu和Red Hat系统上,还是它们是一个独立的集合?
如果你正在安装操作系统软件包,那么你真的需要咬紧牙关,为Red Hat和Ubuntu的Deb软件包制作适当的RPM。 你可以用alien或其他东西来做事情,但这真是疯狂的道路。
另一方面,如果这是一个独立的软件集合, 那么实际上并不是恰当的工具。 这将是一个混乱。
所以对于问题二:你可以扩展apt来获得从“p4”的文件的代码。 但是,这似乎是一个可疑的奖励很多工作。 为什么不把文件检出到中间位置,然后按照通常的方式分发呢?
最后,问题三:从目前我所知道的,不,我不认为这是一个好方法。 但我不清楚你在做什么。