On 29/09/13 03:01, Lukas Jirkovsky wrote:
Accidentally sent this to a wrong address... I hope forwarding this won't break the patch.
--- Hi, This patch adds incremental build support for the packages with VCS sources. It is not complete work (only GIT is supported), but a mere request for comments. If there is a chance that something like this will be accepted, I will extend the support to other VCS, too.
Rationale: When someone uses a VCS package, there is a high chance that such user wants to follow the development more closely. This means that the user will be rebuilding the package often. However, rebuilding the whole package takes a lot of time. This can be somewhat mitigated by using ccache. However, the greatest speedup can be achieved by incremental build. The problem is that current VCS support makes this pretty much imposible by removing the cloned sources before building.
This patch adds a new option --incremental. Using this option forces makepkg to only update the cloned source directory instead of removing it and cloning anew. This allows make to use the incremental build feature.
See also FS#35050
I've been using this patch for a few days with kdevplatform-git and kdevelop-git (not the ones from AUR) at it works great. It already saved me a lot of time, while using nice and clean PKGBUILD (so far I have been using the old-style VCS packages that clone sources in their build() function to achive similar functionality).
Any comments are welcome.
Lukas
I have not looked at the patch yet, but my initial impression is that the additional flag should not be needed. For non-vcs files, we extract the source over the top of whatever is in $srcdir. We should do the same for VCS sources. Why may be worth having a flag for is to delete the source directory before starting: https://bugs.archlinux.org/task/17175 Other opinions here? Allan