在 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()
导致构建过程重新编译所有内容。