Difference between revisions of "Getting Started/Using Project Neon to contribute to KDE"

Jump to: navigation, search
(neon-env is in project-neon-utils, so people need to have that installed)
(Using Project Neon 5 for Frameworks 5 Development)
(12 intermediate revisions by 4 users not shown)
Line 23: Line 23:
 
</pre>
 
</pre>
  
After that, you can simply install the nightly package of whichever modules you want to work on. The Packages are named project-neon-<git/svn module name>. The packages are installed in /opt/project-neon/ and won't affect your stable KDE install.
+
Now you need to synchronize the package index files. Run
  
You can install all of the packages or just the ones you are interested in, depending on what you want to use them for. For example if you want to install the KDE Workspace with the extra plasmoids, you would install the <tt>project-neon-kdeplasma-addons</tt> and <tt>project-neon-session</tt> so you get KDM support for Project Neon.
+
<syntaxhighlight lang="bash">
 +
sudo apt-get update
 +
</syntaxhighlight>
 +
 
 +
After that, you can simply install the nightly package of whichever modules you want to work on. The packages are named project-neon-<git/svn module name>. The packages are installed in /opt/project-neon/ and won't affect your stable KDE install.
 +
 
 +
You can install all of the packages or just the ones you are interested in, depending on what you want to use them for.
 +
 
 +
=== Using Project Neon version of KDE Workspace ===
 +
 
 +
To use Project Neon version of KDE Workspace, install the <tt>project-neon-base</tt> package. You can then log out, select the "Project Neon" session in KDM session list and log in.
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo apt-get install project-neon-kdeplasma-addons project-neon-session
+
sudo apt-get install project-neon-base
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
You can also install other KDE Workspace goodies, such as extra plasmoids, with:
 +
 +
<syntaxhighlight lang="bash">
 +
sudo apt-get install project-neon-kdeplasma-addons
 +
</syntaxhighlight>
 +
 +
=== Testing individual applications ===
  
 
If you are only interested in application development in another module, you can install just the module package.
 
If you are only interested in application development in another module, you can install just the module package.
 +
 +
First install <tt>project-neon-utils</tt>. This package contains a number of utilities among which <tt>neon-env</tt>, which is needed to run Project Neon applications:
 +
 +
<syntaxhighlight lang="bash">
 +
sudo apt-get install project-neon-utils
 +
</syntaxhighlight>
 +
 +
You can then install the package for the module you are interested in. For example to test the latest version of kdepim applications:
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
sudo apt-get install project-neon-kdepim project-neon-utils
+
sudo apt-get install project-neon-kdepim
 
</syntaxhighlight>
 
</syntaxhighlight>
  
That command will also install the <tt>kdelibs</tt>, <tt>kdepimlibs</tt> and other dependencies too. In your regular (stable) KDE session you can then run the nightly version of your chosen application after setting up the environment.
+
That command will also install the <tt>kdelibs</tt>, <tt>kdepimlibs</tt> and other dependencies too. In your regular (stable) KDE session you can now set up Project Neon environment and run the nightly version of your chosen application.
  
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
Line 49: Line 75:
  
 
Note that settings for applications that you run from project neon do not conflict with your regular application settings and data. <tt>.project-neon-kde/</tt> is used instead of <tt>.kde/</tt>
 
Note that settings for applications that you run from project neon do not conflict with your regular application settings and data. <tt>.project-neon-kde/</tt> is used instead of <tt>.kde/</tt>
 +
 +
=== Installing everything ===
 +
 +
If you want to install all packages that are provided by Project Neon in one go, you can use the <tt>project-neon-all</tt> package which will install all provided packages. To install all debugging symbols (Warning: takes a lot of disk space) <tt>project-neon-all-dbg</tt> can be used.
  
 
== Using Project Neon for development ==
 
== Using Project Neon for development ==
Line 60: Line 90:
 
* <tt>neonmake</tt> - convenience script which will create a build folder, configure the source, build it and install it in /opt/project-neon/ so you can test your changes.
 
* <tt>neonmake</tt> - convenience script which will create a build folder, configure the source, build it and install it in /opt/project-neon/ so you can test your changes.
 
* <tt>neon-clean</tt> - script that resets any changes you made to /opt/project-neon after installing the packages. Since this script reinstalls the packages it might require a working internet connection.
 
* <tt>neon-clean</tt> - script that resets any changes you made to /opt/project-neon after installing the packages. Since this script reinstalls the packages it might require a working internet connection.
* <tt>neonbuild</tt> - pbuilder/pdebuild wrapper to rebuild a neon package in a chroot. Takes the same options as pbuilder. If no pbuidler action is given pdebuild is run instead.
+
* <tt>neonbuild</tt> - pbuilder/pdebuild wrapper to rebuild a neon package in a chroot. Takes the same options as pbuilder. If no pbuilder action is given pdebuild is run instead.
  
 
=== Options for cmake/make ===
 
=== Options for cmake/make ===
Line 70: Line 100:
  
 
=== Debugging symbols ===
 
=== Debugging symbols ===
The debugging symbols for every package are in it's corresponding <code>-dbg</code> package, so to install the debugging symbols for kdelibs you can use
+
The debugging symbols for every package are in its corresponding <code>-dbg</code> package, so to install the debugging symbols for kdelibs you can use
 
<syntaxhighlight lang="bash">
 
<syntaxhighlight lang="bash">
 
sudo apt-get install project-neon-kdelibs-dbg
 
sudo apt-get install project-neon-kdelibs-dbg
 
</syntaxhighlight>
 
</syntaxhighlight>
  
If you are already using a nightly package of the module you want to develop for, you should remove that, and checkout the development version. For example:
+
If you are already using a nightly package of the module you want to develop for, you should remove that and checkout the development version. For example:
  
 
<pre>
 
<pre>
Line 133: Line 163:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
exit the shell to reset the settings.
+
Exit the shell to reset the settings.
  
 
== Using Project Neon for documentation ==
 
== Using Project Neon for documentation ==
Line 158: Line 188:
 
sudo apt-get install screenie-qt
 
sudo apt-get install screenie-qt
 
</syntaxhighlight>
 
</syntaxhighlight>
 +
 +
 +
== Using Project Neon 5 for Frameworks 5 Development ==
 +
 +
Project Neon 5 is the codename for the KDE Frameworks 5-based version of Project Neon. It offers regularly updated, precompiled packages for KDE Frameworks 5 ("KF5") libraries, the Plasma components that make up the workspace. These packages are useful to ease the setup of a KF5 environment for developing and porting applications and add-on components. They are also useful in order to get an idea of the state of development.
 +
 +
Please note the following:
 +
* These packages are *NOT* suitable for day-to-day use, they contain major bugs and are just development snapshots
 +
* The packages might break at any point, since the packages closely follow the development of KDE Frameworks 5 and Plasma 2
 +
* Packages get installed into /opt/project-neon5, they are built to not contaminate your production environment
 +
 +
=== Installing Project Neon 5 ===
 +
 +
In order to install Neon5, you have to add the download repository, then you can install the packages.
 +
 +
Add the Neon5 repository:
 +
<syntaxhighlight lang="bash">
 +
sudo apt-add-repository ppa:neon/kf5-snapshot-weekly
 +
sudo apt-get update
 +
</syntaxhighlight>
 +
(If you would like more frequent updates, (which also bear the risk of breaking more often!), use "ppa:neon/kf5-snapshot-daily" or "ppa:neon/kf" for the most frequent updates.
 +
To install Project Neon 5, issue the command
 +
 +
<syntaxhighlight lang="bash">
 +
sudo apt-get install project-neon5-session project-neon5-utils \
 +
project-neon5-konsole
 +
</syntaxhighlight>
 +
 +
=== Running Project Neon 5 ===
 +
 +
The LightDM login screen will now offer a Project Neon 5 session. You can also run neon5-env, and start plasma-shell from there. By default, we start an xterm with the environment set up. In order to start plasma, run "plasma-shell", for Konsole, start "konsole".
 +
If you want to keep your current session running (which is probably most convenient), you can run
 +
<syntaxhighlight lang="bash">
 +
neon5-env
 +
plasma-shell --windowed
 +
</syntaxhighlight>
 +
to start Plasma in a window (not as desktop or root window).
 +
 +
=== Status of Builds ===
 +
On the following pages, you can find the update status of the different packages:
 +
* Development: https://launchpad.net/~neon/+archive/kf5
 +
* Daily: https://launchpad.net/~neon/+archive/kf5-snapshot-daily
 +
* Weekly: https://launchpad.net/~neon/+archive/kf5-snapshot-weekly
  
 
== Contact the Team ==
 
== Contact the Team ==

Revision as of 12:54, 24 September 2013

Project Neon is a nightly build of the latest KDE trunk for Ubuntu. It is an easy way for new contributors to KDE to get started without having to download and build the entire KDE source code tree. Additionally, dependencies are automatically handled and updated. This is suitable for new developers, translators, usability designers, documenters, promoters, bug triagers, etc. This process makes the steps detailed on this page.

However, for developers, it may at some point become necessary to build more components from source code as you become more involved in the project. The kdesrc-build script is an easy way to build all or parts of KDE from its source code repositories.

Contents

Requirements

Project Neon always requires either the latest stable Kubuntu release or the development release. Previous versions of Kubuntu are not supported.

Installing Project Neon

To use Project Neon, add the following PPA (Personal Package Archive) to your sources.list using your preferred method:

sudo add-apt-repository ppa:neon/ppa

or

# Project neon nightly KDE4 build
deb http://ppa.launchpad.net/neon/ppa/ubuntu maverick main

#above repository is PGP signed, refer to below link for getting PGP key
https://launchpad.net/~neon/+archive/ppa

Now you need to synchronize the package index files. Run

sudo apt-get update

After that, you can simply install the nightly package of whichever modules you want to work on. The packages are named project-neon-<git/svn module name>. The packages are installed in /opt/project-neon/ and won't affect your stable KDE install.

You can install all of the packages or just the ones you are interested in, depending on what you want to use them for.

Using Project Neon version of KDE Workspace

To use Project Neon version of KDE Workspace, install the project-neon-base package. You can then log out, select the "Project Neon" session in KDM session list and log in.

sudo apt-get install project-neon-base

You can also install other KDE Workspace goodies, such as extra plasmoids, with:

sudo apt-get install project-neon-kdeplasma-addons

Testing individual applications

If you are only interested in application development in another module, you can install just the module package.

First install project-neon-utils. This package contains a number of utilities among which neon-env, which is needed to run Project Neon applications:

sudo apt-get install project-neon-utils

You can then install the package for the module you are interested in. For example to test the latest version of kdepim applications:

sudo apt-get install project-neon-kdepim

That command will also install the kdelibs, kdepimlibs and other dependencies too. In your regular (stable) KDE session you can now set up Project Neon environment and run the nightly version of your chosen application.

neon-env
kmail

neon-env will setup the environment and start a subshell from which you can work with your project neon installation. This will correctly use the nightly version of libraries instead of using the stable versions, so no other changes are necessary to your library path etc. You'll need to close the terminal session for the settings to be undone.

Note that settings for applications that you run from project neon do not conflict with your regular application settings and data. .project-neon-kde/ is used instead of .kde/

Installing everything

If you want to install all packages that are provided by Project Neon in one go, you can use the project-neon-all package which will install all provided packages. To install all debugging symbols (Warning: takes a lot of disk space) project-neon-all-dbg can be used.

Using Project Neon for development

If you are joining one of the development teams in KDE, you will need a real SVN/GIT checkout in order to contribute your code back to the project and create patches easily. If you only code for KDE every now and then, Project Neon provides some extra tools for this purpose in the package project-neon-utils:

NOTE: both neon-cmake and neonmake require neon-env to be run first!

  • neon-env - sets up the necessary environment settings for project neon builds and opens a subshell.
  • neon-cmake - cmake wrapper with neon environment settings for cmake, same synopsis as cmake and passes arguments to cmake
  • neonmake - convenience script which will create a build folder, configure the source, build it and install it in /opt/project-neon/ so you can test your changes.
  • neon-clean - script that resets any changes you made to /opt/project-neon after installing the packages. Since this script reinstalls the packages it might require a working internet connection.
  • neonbuild - pbuilder/pdebuild wrapper to rebuild a neon package in a chroot. Takes the same options as pbuilder. If no pbuilder action is given pdebuild is run instead.

Options for cmake/make

You can change the cmake and make options used by setting these variables in ~/.neonrc:

  • NEON_CMAKE_OPTS="" - Here you can add additional cmake options that should be used together with the default neon options.
  • NEON_CMAKE_OVERRIDE="" - If you set this variable cmake will ignore the default neon options and only use the ones in NEON_CMAKE_OVERRIDE.
  • NEON_MAKE_OVERRIDE="" - If you set this variable make in neonmake will only use your options. By default make uses '-j CPUs+1'

Debugging symbols

The debugging symbols for every package are in its corresponding -dbg package, so to install the debugging symbols for kdelibs you can use

sudo apt-get install project-neon-kdelibs-dbg

If you are already using a nightly package of the module you want to develop for, you should remove that and checkout the development version. For example:

# Remove the packaged nightly version
sudo apt-get purge project-neon-kdepim

# Add below Project Neon source code repository to sources.list if you didn't use add-apt-repository
deb-src http://ppa.launchpad.net/neon/ppa/ubuntu maverick main

# Get the dependencies for building kdepim
sudo apt-get build-dep project-neon-kdepim
cd ~
# You may choose to do your development in a different folder.
cd Development
# Gets the latest version of the kdepim module.
git clone git://anongit.kde.org/kdepim
cd kdepim
# Set up neon environment
neon-env
# Shortcut provided by Project Neon to make the module
# and install it to the prefix /opt/project-neon/
neonmake

Note that you should usually checkout a module from KDE, not an application. Most modules contain libraries shared within the module and which are necessary to build the applications in the module.

Also note that when using apt-get build-dep it will always get all build-depends, so watch out that it doesn't install a component you want to build yourself as that would overwrite your changes should you install the packages after installing your build.


Using Project Neon for translation

The Project Neon nightly packages include English language strings only. Translated packages are not available. However, if you are translating KDE applications, you can install the translations from KDE SVN in your normal workflow.

cd ~
cd Translations
# The -N switch checks out only the top level directory from svn.
svn co -N svn://anonsvn.kde.org/home/kde/trunk/l10n-kde4
cd l10n-kde4
# scripts necessary to build translations.
svn up scripts
# Get the German translations
svn up de
# Generate the build files for the German language pack - if you get a message
# that revpath couldn't be found you need to install the xutils-dev package
./scripts/autogen.sh de
cd de
neon-env
neonmake

After building the translations it is possible to either change the language in system settings, or run applications in another language using the environment variable KDE_LANG.

switchtonightly # or neon-env
KDE_LANG=de kmail

Exit the shell to reset the settings.

Using Project Neon for documentation

The Project Neon nightly source packages include the official KDE User Documentation in English.

TODO: How to build user docs from SVN.

Using Project Neon for promotion

If you are creating screenshots or screencasts of the latest version of KDE, project Neon is a simple and fast way of getting a default KDE4 session.

The KDE Promotion team recommends using the default background, theme, icons etc when preparing official promotional materials (unless the feature you are showing is related to configuring KDE artwork). Project Neon uses the default artwork that comes with KDE4, so it is useful for creating promo materials.

Here is a shortcut to get all available modules from the PPA:

sudo apt-get install project-neon-all

The application screenie is provided since Kubuntu 8.10 as screenie-qt.

sudo apt-get install screenie-qt


Using Project Neon 5 for Frameworks 5 Development

Project Neon 5 is the codename for the KDE Frameworks 5-based version of Project Neon. It offers regularly updated, precompiled packages for KDE Frameworks 5 ("KF5") libraries, the Plasma components that make up the workspace. These packages are useful to ease the setup of a KF5 environment for developing and porting applications and add-on components. They are also useful in order to get an idea of the state of development.

Please note the following:

  • These packages are *NOT* suitable for day-to-day use, they contain major bugs and are just development snapshots
  • The packages might break at any point, since the packages closely follow the development of KDE Frameworks 5 and Plasma 2
  • Packages get installed into /opt/project-neon5, they are built to not contaminate your production environment

Installing Project Neon 5

In order to install Neon5, you have to add the download repository, then you can install the packages.

Add the Neon5 repository:

sudo apt-add-repository ppa:neon/kf5-snapshot-weekly
sudo apt-get update

(If you would like more frequent updates, (which also bear the risk of breaking more often!), use "ppa:neon/kf5-snapshot-daily" or "ppa:neon/kf" for the most frequent updates. To install Project Neon 5, issue the command

sudo apt-get install project-neon5-session project-neon5-utils \
 project-neon5-konsole

Running Project Neon 5

The LightDM login screen will now offer a Project Neon 5 session. You can also run neon5-env, and start plasma-shell from there. By default, we start an xterm with the environment set up. In order to start plasma, run "plasma-shell", for Konsole, start "konsole". If you want to keep your current session running (which is probably most convenient), you can run

 neon5-env
 plasma-shell --windowed

to start Plasma in a window (not as desktop or root window).

Status of Builds

On the following pages, you can find the update status of the different packages:

Contact the Team

You can reach the Project Neon team on IRC in

#project-neon on irc.freenode.net
by mail at
neon@lists.launchpad.net

or you can ask a question on launchpad

If you think there is a bug in our packaging of the provided software you can file a bug on launchpad

Team page in the Kubuntu Wiki


KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal