7. Работа с пакетами KDE¶
Packaging of KDE programs in Ubuntu is managed by the Kubuntu and
MOTU teams. You can contact the Kubuntu team on the Kubuntu mailing
list and #kubuntu-devel
Libera Chat channel. More information
about Kubuntu development is on the Kubuntu wiki page.
При создании пакетов мы учитываем практику команд Debian Qt/KDE и Debian KDE Extras. Большинство наших пакетов являются производными от пакетов, созданных этими командами Debian.
7.1. Политика создания патчей¶
Kubuntu добавляет патчи в приложения KDE, только если они исходят от оригинальных авторов, либо если они были отправлены в upstream и есть уверенность в их скором принятии, либо если мы обсудили проблемы с разработчиками KDE.
Kubuntu не меняет фирменного оформления пакетов, кроме случаев, когда этого требует апстрим (например, логотип в верхнем левом углу меню Kickoff) или для упрощения (например, удаление показываемых при запуске заставок).
7.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
.
7.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
.
7.4. Библиотечные символы¶
Библиотечные символы отслеживаются при помощи файлов .symbols
, которые позволяют убедиться, что всё на месте. KDE использует библиотеки C++, которые действуют несколько иначе, чем библиотеки C. Для Debian команда Qt/KDE создала скрипты, которые позволяют справиться с этим. Документ Работа с файлами symbols описывает, как создавать и обновлять такие файлы.