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