KPilot Development

KPilot development is distributed and collaborative. That means anyone is allowed to -- and encouraged to -- help. We use a revision control system called Subversion to make it possible to work together on one code base. KDE as a whole uses Subversion as well, and has a Subversion guide for KDE which describes basic SVN (Subversion) usage. There is of course also the SVN Book which covers everything.

[Roadmap] [Get the Source] [Dependencies] [Configure] [Make] [What's Happening]

You can fetch the sources to KPilot as described below, and then compile them. This will always give you the latest version of KPilot. Such a version may not be the most stable, since I may be in the middle of fixing something big and complicated. Such is the luck of the draw. I'll try to post a warning on the site beforehand, though.

Once you have the source, you can compile the latest version of KPilot with debugging enabled (it is enabled by default) in order to get the best possible debugging logs so you can track problems down effectively. In general, if you have a problem with KPilot I will expect you to have a copy compiled from source to work with -- it's the only way we can get anything done.

Roadmap

This roadmap is a list of "what's on my mind for the short and medium term" items; they may not be done in order, and critical bugs might get in the way at any time. Please get ahead of me! Send me patches for any of these items and receive a real KPilot cookie (recipe undisclosed).

Get the Source

The source code for KPilot lives in a Subversion repository. You will need a Subversion client to get it (there are no downloads of the KPilot source available right now). How you get a Subversion client is rather system dependent; something along the lines of apt-get install subversion or pkg_add -r subversion should do the trick, though.

Once you have SVN, you can use it from the command line to download the KPilot source. It is recommended that you get the latest version, as described below, but there may be other versions available, such as the latest version deemed stable, or whatnot. These can be found in the different tags and branches in KDE SVN

Getting the latest stable version:
The most stable and tested version of KPilot exists in this long-term, stable branch of KDE's SVN repository. As bugs are fixed in KPilot, the latest, bug-fixingest code will be found here. This branch includes what is provided in KDE's 4.x release cycle, plus any bug fixes in between KDE's release cycle. It should always be safe to retrieve and use this code.

You can get it from the command line as follows: $ svn co svn://anonsvn.kde.org/home/kde/branches/KDE/4.2/kdepim/kpilot/

Getting the latest development/unstable version:
The latest version is known as "trunk" in SVN jargon, and the development of KPilot for KDE4 happens in KDE's subversion server, in trunk. This code is very possibly not as functional or well-tested as the above branch, being that it's the unstable and development environment for KPilot.

You can get it from the command line as follows: $ svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepim/kpilot This will download the source into a directory called "kpilot/". You can rename the directory however you like. Once you've got the source code, you can cd into the directory and compile it (or hack on it).

Keeping up-to-date:
Once you have a checkout of KPilot trunk (released versions never change, so you don't need to keep those up-to-date), you can keep up-to-date by running SVN update every so often, like this: $ svn update Do this in the directory from the KPilot checkout (i.e. in the kpilot/ directory). This will download whatever changes have been made since last time.

Once you have the source, you can do almost whatever you like with it within the rules of the license. In particular, I'd suggest you compile it, so that you can run the latest version.

KPilot Build Dependencies

KPilot needs a variety of tools in order to build. Most installations of Linux or other Open Source operating systems already have these tools installed, but you should check anyway. Here's a list of what you need to have installed:

Configure KPilot Build

You might want to set some optional parameters before you compile KPilot. These are done by passing parameters to CMake, in a rather complicated manner normally. To make this job easier, a small configure script has been provided to set some of these more commonly-set parameters (such as debugging, installation prefix, and the location of pilot-link). If you need to set these, you can run configure before make, as illustrated below: Make sure you are in the KPilot source directory $ ./configure --prefix=$HOME/kde4 ... $ make -f Makefile.cmake ... This assumes that the includes and the libraries for pilot-link can be found in the include/ and lib/ directories under the given pilot-link path. If you need even finer control, run configure --help to see what other options there are.

Make KPilot

Once configure has finished, it will instruct you to run the make program (or gmake, on FreeBSD). You must tell make to use an alternative Makefile, like so: $ make -f Makefile.cmake This will invoke CMake in the correct way and then proceed to compile KPilot. It takes about 5 minutes to compile KPilot on an amd64 3200+, but while it is compiling you will be treated to a light show something like this: [ 5%] Building CXX object lib/CMakeFiles/kpilot.dir/pilotDatabase.o [ 6%] Building CXX object lib/CMakeFiles/kpilot.dir/pilotMemo.o Linking CXX shared library libkpilot.so [ 7%] Built target kpilot [ 8%] Generating kpilotConfigDialog.moc If everything compiles correctly and you don't get any errors, you can then install KPilot's code by executing the following command: $ make -f Makefile.cmake install If you have installed KPilot into a directory other than the the same prefix that the rest of KDE is installed, you will need to do a few more things before you can run your new code.

In the example below, we'll assume that you installed KPilot into $HOME/kde4, as was used in the example configure line shown above. $ export KDEDIR=$HOME/kde4 $ export KDEDIRS=$KDEDIR:/usr:/opt/kde4 $ export LD_LIBRARY_PATH=$KDEDIR/lib:$LD_LIBRARY_PATH $ export PATH=$KDEDIR/bin:$PATH $ kbuildsycoca4 After you've done these steps, you can now kill off any previous version of KPilot and start your newly-compiled code: $ killall kpilot kpilotDaemon $ $HOME/kde4/bin/kpilotDaemon --debug=9 > ~/kpilotDaemon.debug 2>&1 $ $HOME/kde4/bin/kpilot