Работа с пакетами KDE¶
Создание пакетов приложений KDE в Ubuntu управляется командами Kubuntu и MOTU. Связаться с командой Kubuntu можно через список рассылки Kubuntu и Freenode IRC-канал #kubuntu-devel. Дополнительная информация о разработке Kubuntu находится на вики-странице Kubuntu.
Наша работа с пакетами следует практике команды Debian Qt/KDE и команды Debian KDE Extras. Большинство наших пакетов являются производными от пакетов этих команд Debian.
Политика создания патчей¶
Kubuntu добавляет патчи в приложения KDE, только если они исходят от оригинальных авторов, либо если они были отправлены в upstream и есть уверенность в их скором принятии, либо если мы обсудили проблемы с разработчиками KDE.
Kubuntu не меняет фирменного оформления пакетов, кроме случаев, когда этого требует апстрим (например, логотип в верхнем левом углу меню Kickoff) или для упрощения (например, удаление показываемых при запуске заставок).
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.
Переводы¶
Переводы пакетов из репозитория main импортируются на Launchpad и экспортируются с Launchpad в языковые пакеты Ubuntu.
Итак, каждый KDE-пакет в main должен создавать шаблоны переводов, включать оригинальные переводы и обрабатывать переводимые строки в .desktop-файлах.
Для генерации шаблонов переводов пакет должен содержать файл Messages.sh; если его там нет, обратитесь в апстрим. Проверить его работу можно, выполнив сценарий extract-messages.sh, который должен создать один или несколько файлов .pot в каталоге po/. В процессе сборки это будет сделано автоматически, если вы используете опцию --with=kde для dh.
Апстрим обычно также помещает файлы перевода .po в каталог po/. Если их там нет, проверьте, не находятся ли они в отдельных языковых пакетах апстрима, таких как языковые пакеты KDE SC. Если они в отдельном языковом пакете, Launchpad нужно будет объединить их вручную, свяжитесь для этого с dpm.
Если пакет перемещён из universe в main, его следует перевыгрузить перед импортом переводов на Launchpad.
Файлы .desktop также требуют перевода. Мы добавили патч к KDELibs для чтения переводов из .po-файлов, указывающих на строку X-Ubuntu-Gettext-Domain=, добавляемую к файлам .desktop во время сборки пакета. Файл .pot для каждого пакета генерируется во время сборки и .po-файлы необходимо скачать из апстрима и включить в пакет или в наши языковые пакеты. Список .po-файлов, которые нужно скачать из репозиториев KDE, находится в /usr/lib/kubuntu-desktop-i18n/desktop-template-list.
Библиотечные символы¶
Библиотечные символы хранятся в файлах .symbols, для того чтобы при появлении новых версий не было отсутствующих символов. KDE использует библиотеки C++, которые немного отличаются от библиотек C. Команда Debian Qt/KDE имеет скрипты, обрабатывающие это. Смотрите страницу Working with symbols files для подробностей по созданию этих файлов и поддерживанию их в актуальном состоянии.