Ubuntu 源码包依赖关系树

Ubuntu 源码包依赖关系树

我有一些包。我们把它们称为A.debB.debC.deb。每个包都有相应的源包A.dscA.tar.gzB.dscB.tar.gz和。这些包相互依赖:依赖于和依赖C.dscC.tar.gzC.debB.debB.debA.deb

如果我修改了A.deb,我需要重建B.deb,否则它将无法工作。B.deb和 也是如此C.deb。 有没有办法自动化这个过程? 有没有工具或脚本可以帮我做这件事? 如果没有,我该如何自己自动化?

此外,这里没有我的包裹。

答案1

您可以使用声明了构建依赖项的 Makefile,例如如下所示:

default: A.deb B.deb C.deb

C.deb: B.deb C.dsc C.tar.gz
        <command(s) to build C.deb>

B.deb: A.deb B.dsc B.tar.gz
        <command(s) to build B.deb>

A.deb: A.dsc A.tar.gz
        <command(s) to build A.deb>

请注意命令缩进是 TAB。

这样Makefile,你就可以使用命令

make

这将确定要构建哪些包以及按照什么顺序构建,然后构建它们,所有这些都取决于文件的时间戳。例如,如果 sayB.tar.gz的时间戳晚于B.deb(即包B有新源),那么这将首先导致B.deb重建,并且因为这会使它的时间戳晚于C.deb,因此它也会导致C.deb重建。

答案2

好吧,也许我完全误解了你的意思,但听起来你正在重新编译包 A,并想重新编译包 B 和 C,我只想简单地生成文件为了。

相关内容