Como uno se puede imaginar, los principales problemas de empaquetamiento en Kubuntu son con KDE y Qt.
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.
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).
Los archivos del escritorio KDE también necesitan una entrada específica para aparecer en Kmenu. Un archivo mínimo para un programa de KDE puede ser como esto:
[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.
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.
Para cdbs, añada esas líneas a debian/rules:
common-post-build-arch:: mkdir -p po XGETTEXT=/usr/bin/kde-xgettext sh admin/cvs.sh extract-messages clean:: rm -rf po
Para debhelper, añada lo siquiente al final de la regla install:
mkdir -p po XGETTEXT=/usr/bin/kde-xgettext sh admin/cvs.sh extract-messages
También para debhelper, añada lo siguiente a la regla clean:
rm -f po/*.pot