我有一些包。我们把它们称为A.deb
、B.deb
和C.deb
。每个包都有相应的源包A.dsc
和A.tar.gz
、B.dsc
和B.tar.gz
和。这些包相互依赖:依赖于和依赖C.dsc
于C.tar.gz
C.deb
B.deb
B.deb
A.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,我只想简单地生成文件为了。