Как вы уже, наверное, догадались, специфические проблемы со сборкой пакетов под Kubuntu связаны с KDE и Qt.
Программы в Kubuntu - это в основном программы KDE. Следовательно, при сборке они зависят (Build-Depend) от kdelibs4-dev
. Так как KDE ориентировано на взаимодействие программ, некоторые из них могут зависеть (Build-Depend) от других частей KDE, таких как kdepim-dev
. Убедитесь, что вы имеете список необходимых зависимостей для вашей программы.
KDE использует некоторые специфические пути. Большинство настроек KDE хранятся либо в /etc/kde3/
, либо в /usr/share/apps/
. Важное замечание: основные файлы рабочего стола KDE должны устанавливаться в /usr/share/applications/kde/
. Путь установки для файлов рабочего стола должен быть зафиксирован, если они это не используют (исключение составляют файлы рабочего стола подобные служебным меню).
Файлы рабочего стола KDE также должны иметь специфические секции, чтобы соответствовать KMenu. Минимальный файл рабочего стола для программы KDE может выглядеть примерно так:
[Desktop Entry] Encoding=UTF-8 Name=Kfoo Name[xx]=Kfoo GenericName=Bar description Exec=kfoo Icon=kfoo Terminal=false Categories=Qt;KDE;Utility;
Заметьте, что поле Categories должно начинаться с Qt;KDE;. Есть специальные записи файлов рабочего стола для программ KDE и модулей, которые позволяют su объявить эти программы как KCModules или автоматически запускать их при входе в систему.
Сайт переводов Ubuntu, Rosetta, теперь поддерживает и KDE. Это означает, что пакеты KDE должны поддерживать Rosetta с помощью генерации шаблонных файлов .pot для переводчиков. Если вы используете cdbs в Dapper, ваш пакет должен автоматически собираться и делать проверку на наличие .pot файла в каталоге po/.
Вам также нужен kdepot patch (или подобный; его применение может пройти не совсем гладко, что зависит от возраста каталога admin).
Если ваш пакет использует debhelper или cdbs и содержит его собственный файл kde.mk, вам нужно вручную самостоятельно добавить соответствующие правила.
Для cdbs, добавьте следующие строки в файл debian/rules:
common-post-build-arch:: mkdir -p po XGETTEXT=/usr/bin/kde-xgettext sh admin/cvs.sh extract-messages clean:: rm -rf po
Для debhelper добавьте следующее в конце правила install:
mkdir -p po XGETTEXT=/usr/bin/kde-xgettext sh admin/cvs.sh extract-messages
Также для debhelper добавьте следующее в конце правила clean:
rm -f po/*.pot