[pacman-dev] Fwd: [PATCH] RFC: support incremental build with VCS sources.

Connor Behan connor.behan at gmail.com
Tue Oct 1 00:42:44 EDT 2013

On 30/09/13 09:01 PM, Allan McRae wrote:
> On 01/10/13 13:55, Connor Behan wrote:
>> On 30/09/13 08:30 PM, Allan McRae wrote:
>>> 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
>> I would get a lot of use out of an --incremental option. Let's say you
>> build xorg-server-git, it takes 20 minutes and you install it with
>> pacman. The next day, an upstream commit changes 5 lines in one file and
>> you decide to stay on top of things and have your installed
>> xorg-server-git update to reflect this. Only one file needs to be
>> rebuilt but makepkg will still make you wait 20 minutes. I've resorted
>> to make installing untracked files more than once because of this.
> Did you read my comment beyond the first sentence?
Oops, I read "we should do the same" as "we do the same".

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 555 bytes
Desc: OpenPGP digital signature
URL: <http://mailman.archlinux.org/pipermail/pacman-dev/attachments/20130930/1a9196ca/attachment.asc>

More information about the pacman-dev mailing list