1 |
On Thursday 17 March 2005 04:09, W.Kenworthy wrote: |
2 |
> One thing missing from this how to avoid using the spit ebuilds (i.e., |
3 |
> some kind of use flag may be needed?). |
4 |
'avoid'? You can still get the monolithic ebuilds if you emerge kde rather |
5 |
than emerge kde-meta (and kdebase rather than kdebase-meta), etc. |
6 |
|
7 |
> Even with distcc and multiple |
8 |
> helpers, it only takes a few separate packages to blow the time needed |
9 |
> to compile past a single package. |
10 |
Are you saying it takes longer to compile just a few split packages derived |
11 |
from kdebase than the monolithic kdebase package? Could you give actual |
12 |
numbers to back that up? |
13 |
|
14 |
It's true that distcc gives an advantage to the monolithic ebuilds because |
15 |
they get to parallelize a lot more. But the solution to this should be |
16 |
parallel emerging and sharing compiled packages, not huge packages. |
17 |
|
18 |
> |
19 |
> Example on a K6-500, kdelibs took (according to genlop) 11hrs 39 mins. |
20 |
kdelibs is the same whether you use monolithic or split ebuilds. |
21 |
|
22 |
> This was out of some 3 and a bit days compiling 86 packages (big update |
23 |
> - mostly gnome related - see last paragraph). You say in the documents |
24 |
> that a split kde will do around 100 packages in a typical update. |
25 |
I don't know if that's typical... Anyway, monolithic ebuilds install the |
26 |
equivalent of 300 packages every time. Even today's split ebuilds, which are |
27 |
not optimal, take a lot less time to do an upgrade (with 100 changed |
28 |
packages) than a monolithic ebuilds upgrade (recompiling everything). |
29 |
|
30 |
> On |
31 |
> the above figures, that looks like it will blow my compile times way |
32 |
> out! Not just an acceptable small amount. |
33 |
The time required to emerge kdelibs is far far bigger than any other kde split |
34 |
package, and all but a few monolithic ones. |
35 |
|
36 |
> Is it only me that thinks this idea is crazy, as the biggest single |
37 |
> criticism of gentoo is build from source compile time, especially on the |
38 |
> first install where this will hit really really badly? Monolithic |
39 |
> builds are not ideal and have problems of their own, but here I think |
40 |
> practicality needs to come into it. |
41 |
You talk as if splitting kdebase into 40 ebuilds makes the total kdebase-meta |
42 |
compile time 40 times greater than that of kdebase... |
43 |
|
44 |
The very worst-case is several tens of percents more time. This is bad, but |
45 |
it's not hopeless, and we'll be improving it in various ways. |
46 |
|
47 |
> Alternatively, some major fixes to |
48 |
> the build system to fix the core problem (mostly the configure stage |
49 |
> needs caching properly) well before this is implemented. |
50 |
This is true. It's why we still provide and support the monolithic ebuilds. |
51 |
|
52 |
KDE4 will (probably? hopefully?) use SCons instead of autotools, which will be |
53 |
1) a lot faster and 2) easily and powerfully cacheable (confcache for |
54 |
autoconf configure scripts is a hack...). Even if they don't, there's |
55 |
confcache, and unsermake, and we can avoid running make -f |
56 |
admin/Makefile.common with some work. And other speedups like gcc 4 (faster |
57 |
c++ frontend, precompiled headers...) coming up in the same timeframe. |
58 |
|
59 |
As I've said elsewhere, our goal is that for kde 4 at the latest the split |
60 |
ebuilds will be 1) almost as fast as the monolithic ones _then_ and 2) faster |
61 |
than the monolithic ones are _now_. That accomplished, we'll drop the |
62 |
monolithic ebuilds. |
63 |
|
64 |
Remember that the split ebuilds provide a lot of benefits, they're not just a |
65 |
gimmick. |
66 |
|
67 |
-- |
68 |
Dan Armak |
69 |
Gentoo Linux developer (KDE) |
70 |
Public GPG key: http://dev.gentoo.org/~danarmak/danarmak-gpg-public.key |
71 |
Fingerprint: DD70 DBF9 E3D4 6CB9 2FDD 0069 508D 9143 8D5F 8951 |