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

2017-08-07 Thread ProgAndy

Am 07.08.2017 um 09:39 schrieb David C. Rankin:


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?

You can use makepkg with the -e (--noextract) option to rebuild from the 
existing source tree. If the configure step forces a full rebuild, you 
can comment it out in the PKGBUILD after the initial build.



--
Andy


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

2017-08-07 Thread Eli Schwartz
On 08/07/2017 03:39 AM, 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?

I think you're misunderstanding what -MP does.

As for rebuilding only the one source, makepkg source extraction should
result in extracting files with the same initial timestamp as the last
time they were extracted. Although if you are using the gtk2 PKGBUILD
from the ABS, it uses git anyway... So Make should consider all objects
to be up-to-date, except the one you have sed'ed.

You could also use `makepkg --noextract` which assumes you applied the
fix by hand rather than in the PGBUILD, which is probably safer as it
skips prepare(), and in theory re-running configure should not cause
Make to expire all object files (though with autotools who really knows...)

Aside: repackage does not do what you want, since it doesn't rebuild
anything. Granted, Makefiles usually have the install target depend on
the default target, so it would probably end up being built too... in
fakeroot...

-- 
Eli Schwartz



signature.asc
Description: OpenPGP digital signature


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

2017-08-07 Thread respiranto
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.


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

2017-08-07 Thread Christoph Gysin via arch-general
On Mon, Aug 7, 2017 at 10:39 AM, David C. Rankin
 wrote:
> 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?

Not the answer to your question, but you might consider configuring
/etc/makepkg.conf to use ccache to speed up rebuilds. Also set
MAKEFLAGS=-j4 or similar to make sure you are using all available
cores.

-- 
echo mailto: NOSPAM !#$.'<*>'|sed 's. ..'|tr "<*> !#:2" org@fr33z3


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

2017-08-07 Thread LoneVVolf

On 07-08-17 09:39, David C. Rankin wrote:
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?



I don't know a way to do that, but do you have ccache installed ?

On my system it's set to use max 20G on a HDD .
When building things like mesa or llvm repeatedly with small changes 
this can shaves minutes of the build time.


LW

https://wiki.archlinux.org/index.php/Ccache


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

2017-08-07 Thread David C. Rankin
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?

-- 
David C. Rankin, J.D.,P.E.


Re: [arch-general] Why doesn't svntogit/{community, packages} describe cloning (or download) of individual packages?

2017-08-07 Thread David C. Rankin
On 08/06/2017 12:32 PM, beest wrote:
> Actually (aside from what you've already been told about the nature of
> the repository and the opportunity to change the wiki), you could have
> discovered this from the very same place you ostensibly learned about
> the switch to asp -- from arch-announce, where 'asp export pkgname' is
> currently plastered at the top of the archlinux.org feed. So not only is
> there very much a mention of it, it's in exactly the one place we're
> expected to monitor for distro changes.

  You misunderstood the purpose of the post. The purpose of the post was to
explain "when you are sitting on the svntogit page for any package" there is
no reference to asp and no direction for cloning anything other than the full
community or packages repository.

  If your response is to chastise or belittle someone for making a suggested
improvement by reference to

"the very same place you ostensibly learned about the switch to asp -- ...
where 'asp exprot pkgname' is currently plastered at the top of the
archlinux.org feed."

Then that is a problem that directly discourages anyone from trying to help.

  There was nothing in my post discussing 'asp export pkgname' not being
available on the arch feed. The intent was to suggest it would be a useful
addition on the svntogit package pages. The feed will soon scroll away.

  If the Arch position is "we already listed 'asp export' on the main page",
that's fine. A simple, "we think the announcement was sufficient" is all that
was needed.

  It just appeared helpful to have that information or a convenient link for
download on the 'tree' or 'summary' views, rather than the summary page
suggesting a clone of the entire repository.


-- 
David C. Rankin, J.D.,P.E.


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

2017-08-07 Thread David C. Rankin
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).

-- 
David C. Rankin, J.D.,P.E.