# 13. KDE Paketierung

Das Paketieren von KDE-Programmen in Ubuntu wird von den Kubuntu- und MOTU-Teams übernommen. Du kannst das Kubuntu-Team über die Kubuntu-Mailingliste und den IRC-Kanal `#kubuntu-devel` auf Freenode kontaktieren. Weitere Information über die Kubuntu-Entwicklung findest du auf der Kubuntu-Wiki-Seite.

Unsere Paketierung folgt den Richtlinien des Debian Qt/KDE Team`_ und Debian KDE Extras Team. Die meisten unserer Pakete sind von denen dieser Debian-Teams abgeleitet.

## 13.1. Richtlinien für Fehlerkorrekturen

Kubuntu führt keine Fehlerkorrekturen an KDE-Programmen durch solange sie nicht von Upstream-Autoren oder dortigen Einreichungen stammen, mit der Absicht sie bald in das Programm einfließen zu lassen, oder das Problem mit den Upstream-Autoren abgesprochen wurde.

Kubuntu ändert keine Paketbezeichnungen mit Ausnahme dort, wo Upstream dies erwartet (wie das Logo des Kickoff-Menüs links oben) oder es der Vereinfachung dient (wie der Entfernung des Begrüßungsbildschirms).

## 13.2. debian/rules

Debian-Pakete verwenden Zusätze zur herkömmlichen Debhelper-Verwendung. Diese sind im Paket pkg-kde-tools` enthalten.

Pakete, welche Debhelper 7 verwenden, sollten die Option `--with=kde` anhängen. Dies stellt sicher, dass die richtigen Flags zum Bauen benutzt werden und Optionen zum Umgang mit kdeinit-Stubs and Übersetzungen hinzugefügt werden:

    %:
        dh $@ --with=kde

Einige neuere KDE-Packete verwenden das `dhmk`-System, eine alternative zu `dh`, welches von dem Debian Qt/KDE-Team entwickelt wurde. Sie können sich darüber in /usr/share/pkg-kde-tools/qt-kde-team/2/README informieren. Pakete die dieses benutzen, werden `/usr/share/pkg-kde-tools/qt-kde-team/2/debian-qt-kde.mk enthalten` anstelle des Ausführens von `dh`.

## 13.3. Übersetzungen

Übersetzungen von Paketen in main werden in Launchpad importiert und werden von Launchpad in Ubuntu’s Language-Packs exportiert.

Daher muss jedes KDE-Paket Übersetzungsvorlagen generieren, Upstream-Übersetzungen verwenden oder bereitstellen und Übersetzungen für `.desktop`-Dateien interpretieren können.

Um Übersetzungsvorlagen zu generieren, muss das Packet eine `Message.sh` Datei einbinden. Wenn dem nicht so ist, beschwere dich upstream. Ob es funktioniert kannst Du überprüfen, in dem Du `extract-messages.sh` ausführst, welches eine oder mehrere Dateien namens `.pot` in `po/` erstellen sollte. Dies wird während des Bauens automatisch getan, wenn Du `dh``mit der Option ``--width=kde` benutzt.

Upstream wird üblicherweise ebenfalls die Übersetzungs- `.po`-Dateien in das `po/` Verzeichnis tun. Wenn sie dies nicht tun, prüft ob sie in separaten Upstream-Sprachpaketen wie beispielsweise der KDE SC Sprachpakete sind. Wenn sie in einzelnen Sprachpaketen sind, muss Launchpad diese gemeinsam manuell assoziieren, bitte kontaktiert dpm_ um dies zu tun.

Wenn ein Paket von universe zu main verschoben wird, muss es erneut hochgeladen werden bevor die Übersetzung in Launchpad importiert wird.

`.desktop``Dateien benötigen ebenfalls Übersetzungen. Wir patchen KDELibs, dass die Übersetzungen aus ``.po` Dateien geholt werden, auf die durch eine Zeile `X-Ubuntu-Gettext-Domain=` gezeigt wird und den `.desktop``Dateien zur Buildzeit hinzugefügt werden. Eine .pot-Datei für jedes Paket wird während des Builds erzeugt und die .po-Dateien müssen von Upstream heruntergeladen und in das Paket bzw. unsere Sprachpakete gebracht werden. Die Liste von .po-Dateien, die aus KDEs Repositories heruntergeladen werden soll ist in ``/usr/lib/kubuntu-desktop-i18n/desktop-template-list`.

## 13.4. Bibliothekssymbole

Librarysymbole werden in `.symbole` verfolgt um zu versichern, dass keine bei neuen Veröffentlichung fehlen. KDE benutzt C++ Bibliothen, die etwas anders im Vergleich zu C-Bibliotheken agieren. Debians Qt/KDE Team hat Skripts um dieses Problem zu lösen. Beachten Sie Working with symbols files_ wie man diese Dateien erstellt und aktuell hält.