Ubuntu logo

Packaging Guide

6. Пошук Оглядів та Поручительства

Однією з великих переваг використання робочого процесу UDD - покращення якості шляхом відкликів про зміни від Ваших друзів і коллег. Це працює поза залежністю від того чи є в Вас права на завантаження. Звичайно, якщо в Вас немає прав на завантаження, то Вам потрібно знайти поручителя.

Як тільки Ви задоволені своїм фіксом й Ваша гілка готова до роботи, потрібно зробити наступні кроки для оголошення своєї гілки на Launchpad, прив’язки її до багу, а потім створити пропозицію про злиття (merge proposal) для розгляду іншими користувачами й можливістю завантаження його поручителями.

6.1. Вивантаження на Launchpad

Раніше ми показали Вам, як пов’язати Вашу гілку з помилкою, використовуючи команди dch і bzr commit. Втім гілка й помилка насправді не будуть пов’язані, поки Ви не вивантажите гілку на Launchpad командою push.

Створювати посилання на помилку для кожної Вашої зміни не обов’язково, але якщо Ви виправляєте помилки, для яких є звіт про ваду, то посилання на цей звіт можуть бути корисні.

Загальний формат URL, на яку Ви повинні вивантажити свою гілку, має такий вигляд:

lp:~<user-id>/ubuntu/<distroseries>/<package>/<branch-name>

Наприклад, щоб просунути свій фікс для багу 12345 у пакунку Tomboy для Trusty, використовуйте:

$ bzr push lp:~subgenius/ubuntu/trusty/tomboy/bug-12345

Останній компонент шляху у цьому прикладі вибраний довільно, вкажіть замість нього помилку яка реально існує.

Але зазвичай цього недостатньо, аби розробники Ubuntu перевірили Вашу зміну й взяли на себе поручительство над ним. Вам потрібно відправити пропозицію злиття (merge proposal).

Для цього відкрийте сторінку помилки у оглядачі тенет, наприклад:

$ bzr lp-open

Якщо зробити це не вдалося, Ви можете використовувати:

$ xdg-open https://code.launchpad.net/~subgenius/ubuntu/trusty/tomboy/bug-12345

де більша частина URL збігається з тією URL, яку Ви вказували у команді bzr push. На цій сторінці Ви побачите посилання Propose for merging into another branch. Наберіть опис Вашої зміни у полі Initial Comment. Потім клацніть Propose Merge, щоб завершити процес.

Пропозиції про злиття для джерельних гілок автоматично підпишуть команду ~ubuntu-branches, чого має бути достатньо для того, щоб привернути увагу розробника Ubuntu, який зможе дати відклик Вашим змінам й стати поручителем.

6.2. Створення debdiff

Як було вказано вище, деякі поручителі віддають перевагу перевірці debdiff, прикріпленому до звіту про ваду, замість пропозиції злиття. Якщо вас попрохали включити debdiff, Ви можете створити його наступним чином (з Вашої гілки bug-12345):

$ bzr diff -rbranch:../tomboy.dev

Інший спосіб — відкрити пропозицію злиття й завантажити diff.

Ви повинні переконатися, що diff-файл містить очікувані Вами зміни, не більше й не менше. Дайте йому відповідне ім’я, наприклад, foobar-12345.debdiff і прикріпіть до звіту про ваду.

6.3. Робота зі зворотнім зв’язком від поручителів

Якщо поручитель перевіряє Вашу гілку й прохає Вас щось змінити, то зробити це дуже легко. Просто перейдіть у гілку, над якою Ви працювали, зробіть потрібні зміни й виконайте фіксацію:

$ bzr commit

Тепер коли Ви просунули свою гілку в Launchpad, Bazaar оновить гілку на Launchpad Вашими останніми змінами. Усе, що Вам потрібно зробити:

$ bzr push

Ви можете відповісти на email з оглядом пропозиції про злиття поясненням того, які зміни Ви внесли, а також можете попрохати провести повторний огляд; або ж Ви можете відправити свою відповідь через Launchpad.

Зверніть увагу - Вас спонсорують через debdiff, прикріплений до звіту про ваду - Вам слід оновлювати його вручну, генеруючи новий diff й прикріплюючи його до звіту про ваду.

6.4. Очікування

Розробники Ubuntu склали розклад людей (так званих “patch pilots”), які регулярно перевіряють чергу поручительства й надають зворотній зв’язок з питань роботи з гілками та латками. Але, навіть не дивлячись на це, може пройти декілька днів, поки Ви отримаєте відповідь. Це залежить від їх зайнятості, від стану заморозки поточної версії та інших факторів.

Якщо Ви не отримуєте відповіді протягом тривалого часу, під’єднайтеся до каналу #ubuntu-devel на irc.freenode.net й знайдіть когось, хто може Вам допомогти.

Щоб дізнатися більше про процес поручительства, прочитайте також нашу вікі-документацію: https://wiki.ubuntu.com/SponsorshipProcess