Please ask development related questions in the KDE Community Forum.
Getting Started/Sources/Anonymous SVN
Languages: عربي | Asturianu | Català | Česky | Kaszëbsczi | Dansk | Deutsch | English | Esperanto | Español | فارسی | Suomi | Français | Galego | Italiano | 日本語 | 한국어 | Norwegian | Polski | Português Brasileiro | Română | Русский | Svenska | Slovenščina | српски | Українська | 简体中文 | 繁體中文
| Tutorial Series | Getting Started |
| Prerequisites | None |
| What's Next | Building KDE4 |
| Further Reading | Version Control with Subversion |
Contents |
[edit] Abstract
For those of us that like to stay on the "bleeding edge" there's an easy way to keep a local copy of the KDE sources up-to-date — anonymous SVN.
Alternatively, install KDE SVN packages from your distribution.
[edit] Anonymous SVN
[edit] Setup Subversion
First, install the subversion (svn) binary if it isn't already on your computer. Your operating system should have a package for it. Alternatively you can download and compile it yourself via the svn project download page. Please read the KDE Subversion tutorial if you are interested in how to use Subversion.
[edit] Checkout KDE
/trunk/ is where the Qt4-based KDE 4 is being developed. The following is the minimal set of modules you will need to check out to build KDE and KDE software:
svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs svn co svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase
To get the oxygen icons you need to checkout:
svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/oxygen-icons
cs KDE svn propset svn:externals "lib svn://websvn.kde.org:443/home/kde/trunk/KDE/kdebase/runtime/kstyles/oxygen/lib" kdebase/workspace/kwin/clients/oxygen svn propset svn:externals "lib svn://websvn.kde.org:443/home/kde/trunk/KDE/kdebase/runtime/kstyles/oxygen/lib" kdebase/workspace/kwin/clients/ozoneThis way the external property will look for the additional files in the websvn repository. There are also kdenetwork/kget/transfer-plugins/bittorrent and kdebase/workspace/kwin/clients/ozone that use svn:externals get the url with svn propget svn:externals PATH and replace anonsvn.kde.org with websvn.kde.org:443 here too.
qt-copy is a copy of the latest stable Qt release which works with KDE, put into SVN for convenience. It also contains patches by KDE developers that haven't found their way to Qt yet. They are recommended for those working with KDE from trunk. Instructions on how to get and configure it can be found here.
git clone git://gitorious.org/+kde-developers/qt/kde-qt.git qt-kde
If you wish to have a complete copy of the KDE distribution, you can simply check out the entire source tree with one command:
svn co svn://anonsvn.kde.org/home/kde/trunk/KDE
If you want additional software packages you can check out the following modules within trunk/ as well:
koffice extragear playground kdereview
So, for example, if you want to check out koffice trunk, you can use:
svn co svn://anonsvn.kde.org/home/kde/trunk/koffice
[edit] Checking out trunk using snapshots
If you are checking out modules from trunk/ you may be able to save time by using snapshots. Using Subversion trunk snapshots is described at the Subversion snapshots tutorial page.
[edit] Checking out KDE 3 instead
If you want to track KDE 3 rather than the bleeding edge, you may retrieve the KDE 3.5 sources using:
svn co svn://anonsvn.kde.org/home/kde/branches/arts/1.5/arts svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/
And if you want the matching qt-copy:
svn co svn://anonsvn.kde.org/home/kde/branches/qt/3.3/qt-copy
[edit] Checking out specific releases
KDE modules are also tagged at each release so that it is possible to get a specific release of KDE. Most KDE modules have a tag name in the format tags/KDE/X.Y.Z (where X, Y and Z represent the exact version). The arts module (only needed for KDE 2 and KDE 3) has a different format of tag name, tags/arts/X.Y.Z. For instance to get kdelibs as it was shipped in KDE 3.5.0, do:
svn co svn://anonsvn.kde.org/home/kde/tags/KDE/3.5.0/kdelibs/
If you then want to update this checkout to KDE 3.5.5, use this command:
svn switch svn://anonsvn.kde.org/home/kde/tags/KDE/3.5.5/kdelibs
[edit] Checking out translations
If you are looking for translations and other localizations, check out the appropriate language from the appropriate module: l10n-kde4 (KDE4) or l10n-kde3 (KDE3).
You are now ready to start building KDE! Visit this page for instructions on building trunk or this page for instruction on compiling the last stable release.
[edit] Checkout from behind a proxy
If the tip above didn't help you, and you've realized that the only way to go seems to be with http://anonsvn.kde.org/.. , then you will have to jump through a few hoops to get an svn checkout. Since http:// access is open only to developers, you will have to use svn://. Transconnect is a small piece of software that can tunnel all the traffic through your friendly neigbourhood proxy server. Get the transconnect sources from http://transconnect.sourceforge.net/ , compile it, and edit ~/.tconn/tconn.conf to point to your proxy server. Export the LD_PRELOAD variable as per the README from transconnect, and you're set to go.
[edit] Also of interest
- Visit http://websvn.kde.org/ to browse the source code online.
- anonsvn.kde.org is a round robin DNS entry, which will resolve to one out of several anonsvn mirrors. The DNS setup is maintained by the KDE sysadmins. However, it might be desireable to choose a local mirror explicitely. Some mirrors are listed below, sorted by performance:
- kde.mneisen.org is located near Nuernberg, Germany, maintained by Martin Eisenhardt
- www.englishbreakfastnetwork.org also hosts an anonymous SVN mirror, at the University of Nijmegen, Netherlands. Maintained by Adriaan de Groot
- There are also aliases anonsvn1.kde.org, anonsvn2.kde.org and anonsvn3.kde.org which point to the mirrors used in the DNS round robin (the above two plus another mneisen.org mirror). If you experience trouble because one mirror is broken, you can always select a specific mirror using either the fullnames above or simply anonsvn1, 2, or 3.
- Be careful when switching between mirrors. SVN remembers the server in the working copy, so to switch you have to run
svn switch --relocate svn://anonsvn.kde.org/ svn://kde.mneisen.org/
- in all your checkouts.
If you're interested in setting up a svn mirror, please contact the KDE sysadmins.
