[arch-general] makepkg - any way to recompile only newly patched files in large packages?

respiranto arch023 at respiranto.de
Mon Aug 7 12:35:05 UTC 2017


On 2017-08-07 09:39, David C. Rankin wrote:
> On 08/06/2017 10:23 PM, David C. Rankin wrote:
>> All,
>>
>>   There was a fix for a gtk2 bug I filed regarding the recentchooserdefault.c
>> file. (it was a one-line fix where a variable needed reset to 0). Is there any
>> way I can configure makepkg to behave as if the gcc -MP -MD options had been
>> given to have it only recompile the one patched source without rebuilding the
>> entire package -- again?
>>
>>   I've been through the wiki and the man page, and other than --repackage,
>> there doesn't seem to be anything that would work (or I'm just missing it).
> 
> If it wasn't clear, I have already built the gtk2 package yesterday to
> --enable-debug=yes so I have all of the files in a state I could call
> --repackge on, except for the gtk/gtkrecentchooser.c file with the one line
> change. I was wondering if there was a way to avoid the full 15 minute rebuild
> of all of gtk2 and just compile gtkrecentchooserdefault.c to object and then
> --repackage?
> 

That should be precisely the job of make. All the other preparation
steps such as ./configure or patching should not harm either, likely
rather be necessary.

Hence, you could just try to rerun makepkg, providing that the $srcdir
is still in the state after the last successful build.

In fact, I already had problems doing this. Suppose a sed script
replacing 'x' by 'xx', inline. In such cases one might consider using
the --noprepare flag.

In any case, it is a good idea to read the PKGBUILD (as always) and
possibly modify it or even do all the work manually.


More information about the arch-general mailing list