Автор: Tom 'spot' Callaway и другие
Редакция: 0.06
Изначальный черновик: 2007-03-12
Последняя версия: 2010-11-13
Сверил с оригиналом: Mamasun 08:58, 1 July 2012 (UTC)
Цель проверки (Review)
При добавлении нового пакета в Fedora он в первую очередь должен пройти формальную процедуру проверки (review). Цель данной процедуры (review) заключается в попытке убедиться, что пакет удовлетворяет требованиям качества Fedora. Это не значит, что пакет идеален, но что он удовлетворяет хотя бы минимальным требованиям качества.
Процедуру проверки (review) проходят полностью новые пакеты, переименованные пакеты и пакеты из старых репозиториев Fedora Core.
Процесс проверки (review)
В данном процессе участвуют два человека: автор (contributor) и рецензент (reviewer). В данном документе мы опишем обе роли.
Автор (Contributor)
Автор — это человек, который хочет добавить(submit) и поддерживать (maintain) новый пакте в Fedora. Чтобы стать автором необходимо следовать инструкциям, описанным здесь.
Как автор, вы должны создать пакет в соответствии с Package Naming Guidelines и Packaging Guidelines. Существует ряд пакетов, которые не могут быть включены в Fedora, поэтому чтобы убедиться, что ваш пакет не является таковым, проверьте не содержит ли он Forbidden items.
Когда вы полностью довольны своим spec-файлом, вам необходимо представить (submit) SRPM на процедуру проверки (package review). Для этого следуйте инструкциям:
- Опубликуйте ваш spec-файл и SRPM где-нибудь в интернете.
- Заполните запрос на проверку (request for review) в багзилле. В качестве руководства используйте скриншоты образцов заполнения запросов на проверку.
- Если у вас до сих пор не було пакетов в Fedora, то вам необходим поручитель (sponsor), поэтому добавьте FE-NEEDSPONSOR в поле Blocks вашего запроса. Для получения более подробной информации прочитайте How to get sponsored into the packager group.
- Дождитесь пока кто-то возьмется проверить ваш запрос! В этот момент флаг fedora-review flag будет пустым, что означет, что рецензент (reviewer) не назначен.
- Могут появляться комментарии от людей, которые формально не являются реуензентами пакета, они могут добавлять пометки NotReady в поле Whiteboard, означающие, что запрос на проверку (review request) еще не прочтен по каким-то причинам, о которых они сообщают. После того, как вы напишите им, пожалуйста, опубликуйте ссылки на обновленные SPEC и SRPM файлы и удалите их из Whiteboard. Ожидается, что вы будете реагировать на комментарии, включая обновление вашего запроса в ответ; если же вы этого не делаете, то ваш тикет будет закрыт.
- Рецензент (reviewer) берется за проверку вашего пакета. Флаг fedora-review flag изменится на ?
- Рецензент (reviewer) проверит ваш пакет. Вы должны будете устранить все недочеты, которые он найдет. Как только рецензент доволен пакетом, флаг fedora-review примет значение +, указывающее на то, что пакет прошел процедуру проверки(package has passed review).
- В этот момент вам необходимо сделать запрос SCM admin request для вашего только что одобренного пакета.
- Когда это сделано, вы можете импортировать ваш пакет в SCM.
- Checkout the package using "fedpkg clone <package-name>" do a final check of spec file tags, etc.
- Request a build by running "fedpkg build".
- Repeat the process for other branches you may have requested.
- Request updates for Fedora release branches, if necessary, using "fedpkg update" or another Bodhi interface as detailed in Bodhi.
- Вы должны убедиться, что ваш тикет (review ticket) закрыт. You are welcome to close it once the package has been built on the requested branches, or if you built for one of the Fedora release branches you can ask Bodhi to close the ticket for you when it completes the process. If you close the ticket yourself, use NEXTRELEASE as the resolution.
Вам не нужно проходить процесс проверки снова при внесении последующих изменений в ваш пакет.
Рецензент (Reviewer)
Рецензент — это человек, который выбран для проверки пакетов.
Рецензентом (Reviewer) может быть любой зарегистрированный участник Fedora, состоящий в группе packager group. Есть одно исключение: если пакет является первым для автора (Contributor), рецензент (Reviewer) должен быть поручителем (Sponsor). Вы можете проверить есть ли у автора поручитель, поискав его e-mail в packager group of the account system.
- Поиск запросов на проверку: http://fedoraproject.org/PackageReviewStatus/ (флаг fedora-review flag пустой или баг подписан на nobody@fedoraproject.org)
- Если вы заметили моменты, которые необходимо решить перед началом проверки, добавьте их описание в комментариях и установите в поле Whiteboard метку NotReady. Это поможет другим потенциальным реуензентам понять, что запрос еще не готов к дальнейшей проверке.
- Если вы хотите официально проверить пакет, установите флагfedora-review в значение ? и назначьте баг на себя.
- Проверка пакета ...
- Просмотрите ОБЯЗАТЕЛЬНЫЕ (MUST) пункты в Review Guidelines.
- Просмотрите РЕКОМЕНДУЕМЫЕ (SHOULD) пункты в Review Guidelines.
- Инструмент FedoraReview (packaged as fedora-review) может помочь автоматизировать этот процесс.
- Включите текст вашей рецензии в комментарии. Для улучшения читаемости, просто используйте регулярные комментарии вместо приложений.
- Выберите одно из следующих действий:
- ACCEPT - если пакет удовлетворяет требованиям, установите флаг fedora-review в значение +
- FAIL, LEGAL - If the package is legally risky for whatever reason (known patent or copyright infringement, trademark concerns) close the bug WONTFIX and leave an appropriate comment (i.e. we don't ship mp3, so stop submitting it). Set the fedora-review flag to -, and have the review ticket block FE-Legal.
- FAIL, OTHER - If the package is just way off or unsuitable for some other reason, and there is no simple fix, then close the bug WONTFIX and leave an appropriate comment (i.e. we don't package pornography for redistribution, sorry. Or, this isn't a specfile, it's a McDonald's menu, sorry.) Set the fedora-review flag to -.
- NEEDSWORK - Anything that isn't explicitly failed should be left open while the submitter and reviewer work together to fix any potential issues. Mark the bug as NEEDINFO while waiting for the reviewer to respond to improvement requests; this makes it easier for reviewers to find open reviews which require their input.
- Если пакет помечен флагом fedora-review + (или -), работа рецензента выполнена, хотя он может привлечен к процессу помощи автору с импорторм/сборкой/обновлением пакета и должен убедиться, что тикет закрыт автором после того, как процесс проверки закончен.
Значения флага fedora-review
fedora-review | (BLANK) | Пакет нуждается в проверке |
fedora-review | ? | Процедура проверки начата |
fedora-review | - | Пакет не прошел процедуру проверки по юридическим или иным причинам (Package Failed Review) |
fedora-review | + | Пакет одобрен (Package Approved) |
Специальные блокирующие тикеты (Special blocker tickets)
Существует ряд тикетов, которые могут быть помещены в поле "Blocks" для указания на определенный статус запроса:
FE-NEEDSPONSOR | Автору необходим поручитель(sponsor); проверка (review) должна быть выполнена поручителем (sponsor). |
FE-DEADREVIEW | Запрос закрыт из-за того, что автор пропал; подобные "мертвые" запросы могут быть полезными людям, которые ищут пакет, чтобы стать его автором. |
FE-Legal | Пакет ожидает проверки правовой командой. |
Поле Whiteboard
Чтобы сэкономить время рецензента (reviewer), на странице http://fedoraproject.org/PackageReviewStatus/NEW.html не будут отображаться запросы, которые не могут быть рассмотрены. Поле Whiteboard может быть использовано для дополнительных пометок о состоянии тикета, которые могут сделать тикет неотображаемым или отображаемым иначе.
NotReady | Пакет еще не готов к проверке (review). Можно открывать запрос на проверку (review ticket) с пометкой NotReady и работать над пакетом до тех пор, пока он не будет готов к просмотру рецензентом (reviewer). |
BuildFails | Пакет не может быть собран (The package fails to build). |
AwaitingSubmitter | Процесс проверки застрял и не может быть продолжен без участия автора. |
Trivial | Пакет является незначительным (trivial) для проверки (review). См. ниже. |
The "Trivial" status is intended to indicate packages which, as an aid to new reviewers, are especially uncomplicated and easy to review. A ticket should not be marked as being trivial unless:
- The package is known to build and a link to a scratch build is included.
- The ticket explains any rpmlint output which is present.
- The spec contains nothing which is unnecessary in modern Fedora (such as BuildRoot:, a %clean section or %defattr).
- The spec is free from excessive or complicated macro usage.
- The spec uses only the least complicated scriptlets which are taken directly from the Packaging:ScriptletSnippets page.
- The package contains no daemons.
- The package is not especially security sensitive.
- The code has undergone a thorough inspection for licensing issues. Anomalies which would be found by licensecheck should be explained.
In short, this should be reserved only for those tickets which should be easily approachable by someone doing their first package review.
Tracking of Package Requests
The cached package review tracker provides various review-related reports and a simple way to search for reviews by package name.