Ubuntu logo

Packaging Guide

12. Работа с пакетами KDE

Созданием пакетов программ KDE в Ubuntu занимаются команды Kubuntu и MOTU. Связаться с командой Kubuntu можно через почтовую рассылку Kubuntu и канал Freenode IRC #kubuntu-devel. Дополнительная информация о разработке Kubuntu доступна на wiki-странице Kubuntu.

При создании пакетов мы учитываем практику команд Debian Qt/KDE и Debian KDE Extras. Большинство наших пакетов являются производными от пакетов, созданных этими командами Debian.

12.1. Политика создания патчей

Kubuntu добавляет патчи в приложения KDE, только если они исходят от оригинальных авторов, либо если они были отправлены в upstream и есть уверенность в их скором принятии, либо если мы обсудили проблемы с разработчиками KDE.

Kubuntu не меняет фирменного оформления пакетов, кроме случаев, когда этого требует апстрим (например, логотип в верхнем левом углу меню Kickoff) или для упрощения (например, удаление показываемых при запуске заставок).

12.2. debian/rules

Пакеты Debian включают некоторые дополнения к обычному использованию Debhelper. Они хранятся в пакете pkg-kde-tools.

Пакеты, использующие Debhelper 7, должны добавить опцию --with=kde. Это позволит убедиться в использовании правильных флагов сборки и опций, таких как обработка заданий kdeinit и файлов перевода.

%:
    dh $@ --with=kde

Некоторые новые пакеты KDE используют систему dhmk, альтернативу dh, созданную командой Debian Qt/KDE. Прочесть о ней можно в /usr/share/pkg-kde-tools/qt-kde-team/2/README. Использующие её пакеты будут включать /usr/share/pkg-kde-tools/qt-kde-team/2/debian-qt-kde.mk вместо запуска dh.

12.3. Переводы

Переводы пакетов из репозитория main импортируются на Launchpad и экспортируются с Launchpad в языковые пакеты Ubuntu.

Итак, каждый KDE-пакет в main должен создавать шаблоны переводов, включать оригинальные переводы и обрабатывать переводимые строки в .desktop-файлах.

Для генерации шаблонов переводов пакет должен содержать файл Messages.sh; если его там нет, обратитесь в апстрим. Проверить его работу можно, выполнив сценарий extract-messages.sh, который должен создать один или несколько файлов .pot в каталоге po/. В процессе сборки это будет сделано автоматически, если вы используете опцию --with=kde для dh.

Апстрим обычно также помещает файлы переводов .po в каталог po/. Если их там нет, проверьте, не выделены ли они в один из отдельных языковых пакетов апстрима, например, в языковые пакеты KDE SC. Если они в отдельном языковом пакете, на Launchpad необходимо собирать их вместе вручную. Проконсультируйтесь по этому поводу с Дэвидом Планеллой (David Planella).

Если пакет перемещён из universe в main, его следует перевыгрузить перед импортом переводов на Launchpad.

Файлы .desktop также требуют перевода. Мы добавили патч к KDELibs для чтения переводов из .po-файлов, указывающих на строку X-Ubuntu-Gettext-Domain=, добавляемую к файлам .desktop во время сборки пакета. Файл .pot для каждого пакета генерируется во время сборки и .po-файлы необходимо скачать из апстрима и включить в пакет или в наши языковые пакеты. Список .po-файлов, которые нужно скачать из репозиториев KDE, находится в /usr/lib/kubuntu-desktop-i18n/desktop-template-list.

12.4. Библиотечные символы

Библиотечные символы отслеживаются при помощи файлов .symbols, которые позволяют убедиться, что всё на месте. KDE использует библиотеки C++, которые действуют несколько иначе, чем библиотеки C. Для Debian команда Qt/KDE создала скрипты, которые позволяют справиться с этим. Документ Работа с файлами symbols описывает, как создавать и обновлять такие файлы.