Observations and personal conclusions on the KDE release process since 4.0

Wulf C. Krueger philantrop at exherbo.org
Tue Jun 29 21:52:00 CEST 2010


Hello!

Please don't take any of the following personally - it's not meant to offend 
anyone. 

Having been a KDE packager for several years now, I've looked at the releases 
of KDE since 4.0.0. I "felt" that the overall KDE release quality has become 
noticeably worse than it was during the 3.x days (during which I was most 
active).

I've wanted to compare this feeling to reality, though, and so I consulted my 
(incomplete) -packager archive. I wanted to look at release issues, tarball 
re-rolls, etc. for KDE4.

Since I didn't want dig through everything and avoid a "data overload" for 
both me and in this mail, I applied the following restrictions:

- Ignore alpha, beta, rc and snapshot releases (I looked at them at times, 
though, to verify findings in regular releases and, in general, they supported 
my views.)
- Ignore non-Linux failures, e. g. if things broke for *BSD or Windows, I 
didn't count those in.
- Ignore the KDEPIM situation with respect to KDE SC 4.5.
- I don't have detailed data from the 3.x days anymore. Whenever I'm referring 
to those, I'm relying on a) bugtracker data from the distros I've worked on 
and b) my memory. :-)
- I'm missing data about the releases from 4.1.0 to 4.1.3.
- I didn't re-read every single mail (but mostly those from the tarball 
announcement threads) so I might have missed some issues.
- The following conclusions are my own; they are my personal opinions even if 
not stated explicitly or implicitly in every single case. YMMV.

What I observed is this (details at the end):

- Uploaded tarballs are almost always untested. From a QA perspective this is 
really bad. Yes, we're packagers and we'll find and report any issues found in 
those tarballs to you guys. Nevertheless, build issues - in many cases - could  
easily be spotted if a simple build test had been done.
Most of the time, packager feedback was promptly acted upon and the issues 
were resolved with the final tarballs. Sometimes, though, reported issues are 
not followed-up and make it through till the release is out.

- On average ca. 2,5 tarballs are re-rolled per release. That means that those 
who start the packaging process early will have to start over with the 
respective tarballs. Yes, not all work has to be re-done but again, from a QA 
perspective, one should start as cleanly as possible.
Furthermore, having to re-roll that often, more often than in 3.x days, IMHO, 
are an indicator for a rushed and/or flawed release engineering process.

- Another (side-)issue I noticed is the increased number of post-release 
bugfixes (compared to KDE3 again) we, as packagers, are asked to apply. This 
in itself is very useful and helpful for us, no doubt, but, again, I believe 
this indicates release engineering issues.

- In several cases, there were more or less trivial (and yet important) 
reasons for re-rolling tarballs, e. g. wrong version indicators in the 
sources. 
A similar issue are the conflicts between oxygen-icons and other KDE 
components. I wonder if those issues couldn't be tested for automatically to 
avoid such pitfalls.

- In at least 6 (~30%) of all releases kdebindings were at least partly broken 
(quite a few more if I had counted pre-releases, too). This can have lots of 
reasons and I've not analysed them. It's just an observation.

Now, what would I suggest to do about these issues? I'll keep the next part 
short - the reasoning can be found above.

- Before announcing the tarballs, build the whole thing once.
- Freeze earlier and use the time to do more (systematic!) developer testing.
- Improve the test cases. They *do* help in catching bugs.
- Implement more trivial code screening (e. g. for bogus versions).
- Re-think the release engineering process. (No actual, hard suggestions 
here.)

Again: Don't be offended, please. My only intention is to hopefully help 
improving the quality KDE (yes, yes, I know KDE is people! ;) ) releases. 


Last and least, my notes of observations my above comments are based upon.

Best regards, Wulf


4.0.0 
- kdebase-runtime and kdebase-workspace missing, then cmake checks broken, re-
rolled
- kdeedu re-rolled (non-free icon, kstars has wrong version)
- kdebase-runtime re-rolled (xine-lib check is bogus)

4.0.1
- kdebase re-rolled
- kdebase-workspace re-rolled

4.0.2
- kdebase re-rolled (kinfocenter modules moved incompletely)
- kdebindings re-rolled

4.0.3
Mostly ok.

4.0.4
- kdelibs re-rolled (version number was still 4.0.3)

4.0.5
- kdebase re-rolled ("crash really often")
- kdebindings re-rolled (compatibility with SIP 4.7.6)

4.1.4
- kdelibs re-rolled (almost no content before)
- kdebase re-rolled (Copy&Paste files within Dolphin borken)
- kdebindings re-rolled (left-over svn stuff)

4.2.0
- kdelibs re-rolled three times (klockfile fix; kate fix; plasma security)
- kde-l10n-et broken (parser error : Entity 'turtlelang' not defined)
- kdebase-runtime (licensing issue)

4.2.1
- kdelibs re-rolled
- kdebase-workspace re-rolled 
- Phonon mess (Qt / stand-alone Phonon) began

4.2.2
- kdelibs re-rolled twice
- kdebase-runtime and oxygen-icons conflict

4.2.3
- kdenetwork re-rolled (kopete was broken)
- kdepim re-rolled (important regressions)
- kdepimlibs re-rolled (important regressions)

4.2.4
- kdelibs re-rolled 
- kdenetwork re-rolled
- kdepim re-rolled (kaddressbook fails to compile)

4.3.0
- kdelibs re-rolled 
- kdebase re-rolled 
- kdebase-runtime re-rolled (nepomuk fix)
- kdebase-workspace re-rolled three times (wrong version; NM 0.6 
compatibility; kdm theming)
- kdeadmin re-rolled 
- kdeedu and oxygen-icons conflict
- kdeedu re-rolled (compile issues)
- kdebindings-workspace re-rolled  twice
- kdebindings re-rolled 
- kdepim-runtime re-rolled (compile issues)
- kdeplasma-addons re-rolled (microblogging applet fixes)

4.3.1
- kdebase-workspace re-rolled (wrong version)
- kde-l10n-pl re-rolled  (compile issue: "Entity 'kcontrolcenter' not 
defined")

4.3.2
- oxygen-icons and kdepim conflict. kdepim re-rolled.

4.3.3, 4.3.4, 4.3.5: One tarball re-rolled for each.

4.4.0
- Late Virtuoso dependency change.
- kdelibs re-rolled twice.
- kdebindings re-rolled (pykde doesn't compile)
- kdebase re-rolled 
- kdebase-workspace re-rolled 
- kdebase-runtime re-rolled twice.

4.4.1
- kdepim re-rolled
- kdepimlibs re-rolled

4.4.2
- kdebindings re-rolled
- kde-l10n-sv re-rolled (parser error : Entity 'turtlelang' not defined, cf. 
4.2.0)

4.4.3
- kdelibs re-rolled.
- kde-l10n-nl re-rolled ('file INSTALL cannot find 
"/usr/src/packages/BUILD/kde-l10n-
nl-4.4.3/docs/kdelibs/preparetips/preparetips.1"')

4.4.4
- kde-l10n-sr re-rolled.

4.4.5
- All of kde-l10n not timely in-place.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/release-team/attachments/20100629/a58639d9/attachment-0001.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/release-team/attachments/20100629/a58639d9/attachment-0001.sig 


More information about the release-team mailing list