1 |
On Tuesday 19 October 2004 21:33, Duncan wrote: |
2 |
> Good point re portage tracking. How do you manage the dependencies? Do |
3 |
> you rebuild every time in-builddir, or do you look in the deployed system |
4 |
> first and only build in-builddir if it isn't yet deployed? |
5 |
|
6 |
Very little rebuilding takes place. Sometimes we copy built pieces from the |
7 |
live filesystem into the workdir, but in those cases we depend on having been |
8 |
build and installed first. |
9 |
|
10 |
The only things that are rebuilt are the ones that have to be: static libs |
11 |
that are never installed. They are very few and this is negligible in terms |
12 |
of performance. |
13 |
|
14 |
If you want the details, read the comments in kde-meta.eclass, then grep the |
15 |
ebuilds to get usage statistics of each mode of operation. |
16 |
|
17 |
> Is there a |
18 |
> list of an optimal emerge order if the latter? |
19 |
Not needed. Just normal portage deps. |
20 |
|
21 |
> From earlier, I remember you (?) saying |
22 |
> what it DID cache, it invalidated entirely if there was just one change. I |
23 |
> can see how this would be simpler to implement. However, if you are |
24 |
> caching everything, I'd hope you are doing it in segments |
25 |
|
26 |
Caching is a builtin feature of configure scripts generated by autoconf. |
27 |
configure --help | grep cache will show you. All we do in confcache is store |
28 |
the cache after every run and give it to the next run. |
29 |
|
30 |
So we have to invalidate it entirely and we can't segment it. Either behaviour |
31 |
would require basically replacing/rewriting autoconf. And if someone did do |
32 |
that, I'd be very happy :-) (Maybe the unsermake people?) But for now, this |
33 |
is all we can do. |
34 |
|
35 |
That said if the existing bugs are worked out (like not panicking |
36 |
when /proc/cpuinfo's checksum changes due to cpu clock changes) our confcache |
37 |
is pretty good too in terms of performance. |
38 |
|
39 |
-- |
40 |
Dan Armak |
41 |
Gentoo Linux developer (KDE) |
42 |
Matan, Israel |
43 |
Public GPG key: http://dev.gentoo.org/~danarmak/danarmak-gpg-public.key |
44 |
Fingerprint: DD70 DBF9 E3D4 6CB9 2FDD 0069 508D 9143 8D5F 8951 |