## Creazione dei pacchetti per Kubuntu

As one might imagine, the main packaging issues specific to Kubuntu are with KDE and Qt.

### Build Dependencies

Kubuntu programs are mostly KDE ones. Therefore, they need to Build-Depend on `kdelibs4-dev`. Since KDE's focus is to have programs interacting, some programs might also need to Build-Depend on other parts of KDE, such as `kdepim-dev`. Be sure to get the list of necessary dependencies for your program.

### Desktop Files

KDE has some specific paths. Most settings for KDE are installed in either `/etc/kde3/` or `/usr/share/apps/`. It is important to note that the general desktop files for KDE should go to `/usr/share/applications/kde/`. The install path for the desktop files should be fixed if they do not use this (except for desktop files like service menus).

KDE desktop files also need specific entries to fit in the KMenu. A minimal desktop file for a KDE program could be something like this:

    [Desktop Entry]
    Encoding=UTF-8
    Name=Kfoo
    Name[xx]=Kfoo
    GenericName=Bar description
    Exec=kfoo
    Icon=kfoo
    Terminal=false
    Categories=Qt;KDE;Utility;

Note that the Categories field must begin with Qt;KDE;. There are specific desktop file entries for KDE programs and modules that allow su to declare the given programs as KCModules or autostart them when logging in.

### Generare i file .pot

The Ubuntu translation website, Rosetta, now supports KDE, which means KDE packages need to support Rosetta by generating .pot template files for translators. If you use cdbs in Dapper, your package should now automatically build and check for a .pot file in po/ directory.

You will need the kdepot patch (or similar; it may not apply cleanly depending on the age of the admin directory).

If your package uses debhelper or cdbs and includes its own kde.mk file, you need to add the rules yourself.

For cdbs, add these lines to debian/rules:

    common-post-build-arch::
     	mkdir -p po
            XGETTEXT=/usr/bin/kde-xgettext sh admin/cvs.sh extract-messages

    clean::
            rm -rf po

For debhelper, add the following to the end of the install rule:

    mkdir -p po
    XGETTEXT=/usr/bin/kde-xgettext sh admin/cvs.sh extract-messages

Also for debhelper, add the following to the clean rule:

    rm -f po/*.pot

Fusioni e sincronizzazioni |  | Capitolo 5. Bug