From mboxrd@z Thu Jan 1 00:00:00 1970
Received: from lists.gentoo.org ([140.105.134.102] helo=robin.gentoo.org)
by nuthatch.gentoo.org with esmtp (Exim 4.50)
id 1EWHsx-0004E9-1v
for garchives@archives.gentoo.org; Sun, 30 Oct 2005 18:26:27 +0000
Received: from robin.gentoo.org (localhost [127.0.0.1])
by robin.gentoo.org (8.13.5/8.13.5) with SMTP id j9UIQKIF031032;
Sun, 30 Oct 2005 18:26:20 GMT
Received: from smtp.gentoo.org (smtp.gentoo.org [134.68.220.30])
by robin.gentoo.org (8.13.5/8.13.5) with ESMTP id j9UIQJ48027058
for
-Until January 2005, the only KDE ebuilds in Portage were 'monolithic' ones. That
-is to say, there were only 15 ebuilds, and each one installed many applications
-that did not, in fact, depend on one another. This was clearly a suboptimal
-situation, and not very Gentoo-ish, but it was tolerated for a long time.
+Until January 2005, the only KDE ebuilds in Portage were 'monolithic' ones.
+That is to say, there were only 15 ebuilds (kdebase, kdenetwork, ...), and
+each one installed many applications that did not, in fact, depend on one
+another. This was clearly a suboptimal situation, and not very Gentoo-ish,
+but it was tolerated for a long time.
-The new 'split' ebuilds rectified the situation by providing separate ebuilds
-for all the separate KDE applications. This gave us a grand total of about 330
-new ebuilds in the kde-base category.
+The new 'split' ebuilds (for konqueror, kmail, ...) rectified the situation by
+providing separate ebuilds for all the separate KDE applications. This gave us
+a grand total of about 330 new ebuilds in the kde-base category.
-We still provide monolithic ebuilds for KDE 3.4 and they are cleanly
+We still provide monolithic ebuilds for KDE 3.4 and 3.5 and they are cleanly
interoperable with the split ones. However, the split ebuilds are the new
default, and there will be no monolithic ebuilds for KDE 4.0.
-The latest KDE release, as of this writing, is 3.4.1, recently marked stable.
-Both split and monolithic ebuilds for it are present in Portage.
+The latest stable KDE release, as of this writing, is 3.4.3. The latest
+unstable (package.masked) is 3.5.0_beta2. Split and monolithic ebuilds for both
+releases are present in Portage.
If you have KDE 3.3.x installed, you can simply
@@ -162,7 +165,7 @@
@@ -92,6 +94,7 @@
@@ -220,22 +223,23 @@
-On the face of it, this analysis looks bleak. However, several factors which -offset this slowdown will be detailed in the next sections. +Finally, a split ebuild needs to extract specific files out of a large tarball. +This is slower than extracting a dedicated, small tarball. However, creating +such small tarballs for the autotools-based build system of KDE 3.x is +difficult.
It is worth reiterating here that with the split ebuilds a KDE upgrade's -compilation time can be cut by half - and in some cases by a factor of ten or -more - by only upgrading the packages that actually changed. The benefit from a -single such update often overshadows the overhead incurred during the original -installation. +compilation time can be greatly reduced by only upgrading the packages that +actually changed. The benefit from a single such update often overshadows the +overhead incurred during the original installation.
Finally, installing all of KDE makes sense if you want to explore the available -packages or are setting up a multi-user environment; however, most people -use only some of the 300+ KDE apps available. Anyone who really cares about +packages or are setting up a multi-user environment; however, most people use +only some of the 300+ KDE apps available. Anyone who really cares about compilation time, such as owners of older boxen, can gain more time by selectively installing packages than they might lose by the overhead incurred.
@@ -247,62 +251,54 @@
-The most obvious improvement would be to distribute separate tarballs for the
-split ebuilds, instead of unpacking pieces of the monolithic tarballs (kdebase
-etc.) distributed by upstream. This would eliminate two of the three
-overhead factors slowing down the split ebuilds: repeated extraction of the
-large tarballs and makefile regeneration (the
-This leaves us with the issue of repeatedly running configure. The proper
-solution to this is confcache: a configure cache shared between emerge runs. An
-implementation already exists in the development branch of portage (the tool,
-not the package tree); a stable release with confcache is expected in half a
-year or so.
+KDE 4 will (as far as we can tell now) adopt a completely new build system,
+which among other things will greatly reduce the time its equivalent of a
+
+Previously, confcache had been considered as a way to lower the cost of +repeatedly running autoconf-generated configure scripts. Confcache is a +method of caching the results of configure tests. However, there is still no +confcache implementation in the stable (2.0) portage tree. Even if one is added +in the future, it may not come soon enough for us to work on using it in the +KDE ebuilds; we may elect to wait for KDE 4.
+ + +-The previous section listed methods of improving the performance of the -split ebuilds specifically. Next, we will briefly mention some future speedups -which are equally applicable to the monolithic ebuilds. Such speedups help -make the split ebuilds 'fast enough', apart from comparisons with less -featureful solutions such as the monolithic ebuilds. +As explained above, not all applications are really updated between minor KDE +releases, and so not all applications receive new ebuild versions. For +instance, libkdenetwork wasn't updated in 3.5.0_beta2, so the latest ebuild +available with that release was 3.5_beta1.
-