prev
Issue 2
16th April 2006
by Danny Allen
next


This Week...
Furious activity in Digikam, KmPlot and amaroK. Compile and linking fixes for applications in /trunk with CMake. Multi-platform porting fixes. KSmileTris is removed from /trunk/KDE/kdegames/.

The upcoming KDE 4 era heralds many changes, and one of those is the introduction of a new build system: CMake. People following KDE 4 development may at this point be asking what happened to SCons, the build system previously championed as the solution to the current autotools-based build system kludge. Well, with the understanding that CMake is not just a renamed SCons, KDE 4 must have chosen a different solution somewhere along the way...

Alexander Neundorf explains the reasoning behind the change:
scons was chosen at akademy, and people started to work on it.

But after months of work we ended up basically with a fork of scons.

So apparently scons wasn't the best tool for the job.

...

CMake needed some enhancements mainly for the windows stuff (we are probably the first project which uses mingw heavily). The cmake developers have been very supportive for KDE, they are on the buildsystem mailinglist and fixed the issues we found within days. They want cmake to become the buildsystem for KDE 4.

Thomas Nagy clarifies:
Not a fork but an experimental branch.

Followed by a round-up from Thiago Macieira:
We had basically no relationship with the scons maintainers. None of our changes were applied upstream.

One of the reasons, at least, was to maintain compatibility with an old Python version. By dropping that compatibility, we made some progress, but created a fork.

Of course, the introduction of any significant change is going to take a while to get used to, as Aaron Seigo noted:
the introduction of cmake, however, has redefined "waste of time" for me.

...

between how much slower cmake is and the constant breakages that i have no idea how to fix (like the NOGUI in kdesu/kdesud/CMakeLists.txt not working, even though i have the latest cmake modules installed from kdelibs that seem to include something about it) i really, really, really hope that it improves dramatically over the next month. we don't need a build system holding us back. i understand the need for something better than autotools, but in my book the baseline for "better" is "actually builds reliably". meh.

However, CMake does have at least some supporters within the KDE camp. Boudewijn Rempt likes it for, amongst other things, its ability to compile KOffice trunk, whilst Adriaan de Groot comments:
Aaron's right in some ways. With auto*, there is this huge collected cloud of knowledge about how things work and you can shout out on lots of IRC channels when something's wrong. Anyway, it's all shell script and anyone can write shell script, right? Therein lies both the power and the failing of auto* -- it's hard to write correct shellscript (svn log doxygen.sh for my stumblings), but whacking something into shape isn't that hard.

With CMake, I get the feeling that there's only a very few gurus who know what is going on (Alex, David, and of course William Hoffmann on -core-devel). Whining often leads to fixes of a mysterious nature. But waiting for osmosis to somehow bring enough knowledge to developers is a slow process. The wiki page has some information, but it's mostly about using CMake under ideal conditions, as opposed to fixing it when it's broke.

...

I believe Aaron's point on CMake is that a build system shouldn't get in the way, and if CMake breaks right now and keeps him from working on whatever it is he does, those are valuable wasted hours. autofoo had progressed to a point that it didn't regularly get in the way of developers on KDE's UNIX-like platforms. CMake does get in the way, since it's still being broken. For the -- presumably many -- people who do not want to be build-system guru's, the system just has to work. That goes double for external tools that use the build system, like Coverity's static checking.

Now I'm done being annoyed for CMake getting in the way, though, I can get on with loving it for the things that it does right.

...and finally, Aaron Seigo comes over to the CMake side:
so... moving away from autohell was probably a good idea. cmake was probably our best choice. and it's currently a painful process. i don't like losing days of productivity to it, and i really don't like the thought of others going through the same. but...

...i'm fairly confident that it'll work out in the end; i have great faith in the people who work on this project. we're not "in the end" yet, more in the middle. and along the way i think it is healthy to discuss what is working and what isn't working along the way.

The acceptance and adoption of CMake can be seen with the many commits this week regarding the porting of existing KDE apps to KDE 4. See below for specific examples of this activity.

Tom Albers announces version 0.6.0 of RSIBreak, a utility to help prevent Repetitive Strain Injury:
About RSIBreak

Repetitive Strain Injury is an illness which can occur as a result of working with a mouse and keyboard. This utility can be used to remind you to take a break now and then. It will show you a random picture from a collection you can configure yourself for a configurable duration at a configurable interval.

You can use these breaks to do some stretch exercises for example, or as a reminder to walk away from the computer for a while.

RSIBreak will sit in your system tray and when it is time for a break it will show you the picture full screen. All timings can be set by clicking with the right mouse button on the icon in the system tray.

Version 0.6.0 Changelog:
  • Extensive amount of statistics.
  • Colors to indicate how far away you are from a break in the tooltip
  • libxss for the idle detection is a no longer optional, it is required.
  • RSIBreak remembers the timer states when you quit. It can restore the timers if you restart RSIBreak afterwards in a short timeframe. This is handy for rebooting (for those zealots who believe rebooting solves problems).
  • Bug fixes:
    • For Gnome there were two Quit entries in the context menu.
    • Welcome message on first launch was incorrect.
    • Compiles with KDE 3.3 and probably with gcc 2.9x.
    • Memory leak while querying idle time.
    • Some buddies in the setup were not set.
    • Some i18n calls in the setup were not correct.
    • Clear focus from buttons to prevent accidental closure of a break.
To find out more information about RSIBreak, and to download packages for your distribution, go to http://www.rsibreak.org

Congratulations to Thomas Zander, who managed to close a massive 91 bugs in KOffice this week. As he says:
So, if you want to get your name in the new commit-digest, take a look at the junior jobs page and help us out!

I couldn't agree more!


Statistics
Commits: 2636 by 212 developers, 5981 lines modified, 886 new files.
Open Bugs: 12107
Open Wishes: 10590
Bugs Opened: 349 in the last 7 days.
Bugs Closed: 313 in the last 7 days.

Commit Summary
Module Commits
/trunk/KDE
716
/trunk/www
421
/trunk/l10n
308
/trunk/extragear
264
/trunk/koffice
185
/branches/stable
150
/branches/KDE
128
/branches/work
121
/trunk/playground
104
/branches/koffice
84
Lines Developer Commits
284
Laurent Montel
143
269
David Faure
111
177
Dirk Mueller
83
157
Gilles Caulier
70
217
Luboš Luňák
58
107
Frans Englich
41
85
Volker Krause
40
79
Albert Astals Cid
37
76
Mark Kretschmann
37
83
Frank Osterfeld
36

Internationalisation (i18n) Status
Language Percentage Complete
Portuguese
99.99%
Danish
99.12%
Swedish
99.04%
French
95.10%
Spanish
94.78%
Italian
94.51%
Estonian
93.94%
Dutch
93.55%
Greek
93.38%
British English
92.00%

Bug Killers and Buzz
Bug Killer Number Of Bugs Closed
Thomas Zander
91
Tommi Tervo
31
Thiago Macieira
17
Olivier Goffart
14
Mark Kretschmann
12
Luboš Luňák
12
Seb Ruiz
11
Julian Seward
10
Charis Kouzinopoulos
8
Jens Dagerbo
8

Program Buzz
amaroK
  2215
K3B
  1079
Kopete
  1069
Kate
  759
KMail
  691
SuperKaramba
  666
Kontact
  589
Kicker
  566
KDevelop
  540
Quanta
  355


Person Buzz
Waldo Bastian
  397
Aaron Seigo
  371
George Staikos
  352
Kurt Pfeifle
  291
Stephan Kulow
  290
Zack Rusin
  281
David Faure
  276
Jonathan Riddell
  236
Tom Chance
  210
Boudewijn Rempt
  190
Commit Countries

Commit Demographics
Sex
95.1 %       Male
3.24 %       (unknown)
1.59 %       Female
Motivation
44.4 %       (unknown)
35.3 %       Volunteer
20.1 %       Commercial
 
Ages
74.1 %       (unknown)
16.4 %       25 to 34
5.38 %       18 to 24
3.33 %       35 to 44
0.593 %       45 to 54


Contents
  Bug Fixes Features Optimise Security Other
Accessibility
Development Tools [*] [*] [*]
Educational [*] [*] [*] [*]
Graphics [*] [*]
KDE-Base [*] [*] [*] [*]
KDE-PIM [*] [*] [*] [*]
Office [*] [*] [*] [*]
Konqueror [*] [*] [*]
Multimedia [*] [*] [*]
Networking Tools [*] [*] [*] [*]
User Interface
Utilities [*] [*] [*]
Games [*] [*]
Other


Bug Fixes
Development Tools
Matt Rogers committed changes in /trunk/KDE/kdevelop:
don't crash when deleting the designer window. Instead, crash in
kdelibs instead. :)
Diffs: 1, 2 Revision 528903

Dirk Mueller committed changes in /trunk/qt-copy/patches-src:
reviewed another 50 coverity reports
Diffs: 1, 2 Revision 529980

Educational
Andreas Nicolai committed changes in /branches/KDE/3.5/kdeedu/ktouch:
KTouch - fixed wrong keyboard layouts
Diffs: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 (+ 4 more) Revision 528092

David Saxton committed changes in /trunk/KDE/kdeedu/kmplot/kmplot:
Fixed validator on parametric input edit (was ignoring the parametric
equations' prefixes).
Diffs: 1, 2, 3, 4, 5 Revision 528862

David Saxton committed changes in /trunk/KDE/kdeedu/kmplot: