在 git master 上高效运行 arch 的 makepkg (频繁但“小”的更改)

在 git master 上高效运行 arch 的 makepkg (频繁但“小”的更改)

在 arch 上,当使用makepkg从源代码构建 pacman-installable .pkg.tar.xz 文件时...如果它是 AUR“-git”源而不是上游版本,有没有办法(在第一个版本之后makepkg)执行git pull并让构建系统处理实际需要重建的内容? (对于您可能经常想要安装最新的 git 源的情况。)

我不知道如何避免makepkg每次都下载新的 git 存储库,并每次都从头开始重建所有内容。

答案1

Makepkg 不会每次都重新克隆存储库,有一张支票对于其源中已经存在的克隆。如果发现具有正确远程 URL 的非空克隆,则 makepkg 所做的全部操作是获取新的提交。 makepkgs 输出如下所示:

==> Retrieving sources...
-> Updating mpd-git git repo...
Fetching origin
remote: Compressing objects: 100% (91/91), done.
remote: Total 481 (delta 392), reused 479 (delta 390)
Receiving objects: 100% (481/481), 64.87 KiB | 0 bytes/s, done.
Resolving deltas: 100% (392/392), completed with 99 local objects.
From file:///home/wieland/dev/mpd
   cd1148c..3fa4dad  master     -> master
   cd1148c..3fa4dad  origin/master -> origin/master
   0d7ee2b..b0ff3bc  origin/v0.19.x -> origin/v0.19.x
 * [new tag]         v0.19.10   -> v0.19.10

除非您将--clean或传递--cleanbuild给 makepkg,否则它也不会删除用于构建包的源目录,因此理论上,您不需要重建整个包。但是,在某些情况下,调用的配置脚本或其他脚本可能会build()导致构建过程重新编译所有内容。

相关内容