7. Робота з пакунками KDE¶
Створенням пакунків проґрам KDE в Ubuntu займаються команди Kubuntu і MOTU. Зв’язатися з командою Kubuntu можна через поштову розсилку Kubuntu й канал Freenode IRC #kubuntu-devel
. Додаткова інформація про розробку Kubuntu доступна на wiki-сторінці Kubuntu.
При створенні пакунків ми враховуємо практику команд 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 дає опис, як створювати й оновлювати такі файли.