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 дає опис, як створювати й оновлювати такі файли.