From Fedora Project Wiki
(sync en)
 
(10 intermediate revisions by one other user not shown)
Line 1: Line 1:
<!-- page was renamed from HowToReviewPackages
-->
'''Author:''' [[TomCallaway|  Tom 'spot' Callaway]] and others<BR>
'''Revision:''' 0.06<BR>
'''Initial Draft:''' 2007-03-12<BR>
'''Last Revised:''' 2010-11-13<BR>
{{autolang}}
{{autolang}}


{{Anchor|ReviewProcess}}
{{Anchor|ReviewProcess}}
== 审核目的 ==
== 审核目的 ==


Fedora 项目添加一个新的软件包之前该软件包必须接受来自官方的审核。审核的目的在于确保这个软件包符合 Fedora 项目的基本质量要求。审核通过并不意味着这个软件包非常好,但是能保证它本身符合我们对它的最低质量要求。
为了向 Fedora 项目添加一个新的软件包,该软件包必须接受来自官方的审核。审核的目的在于确保这个软件包符合 Fedora 项目的基本质量要求。审核通过并不意味着这个软件包非常好,但是能保证它本身符合我们对它的最低质量要求。


Reviews are currently done for totally new packages, [[Package_Renaming_Process#Re-review_required|package renames]], and packages merged from the old Fedora Core repository.
审核适用于提交的新软件包,和[[Package_Renaming_Process#Re-review_required|软件包更名]],以及曾经被废弃的旧软件包想要重新回归软件仓库,和从早期 Fedora Core 软件源合并的软件包。


{{Anchor|ReviewPurpose}}
注意,一些新软件包可能不需要进行审核。有关条件列表,请参阅[[Packaging:ReviewGuidelines#Package_Review_Process]]。如果软件包已豁免,则贡献者可以直接跳至步骤 8:在软件包数据库中提交 [[PackageDB_admin_requests|请求]]。但是请注意,为了完成审核过程,仍然需要提交一个 bugzilla 票据;为此,请使用[[rhbug:1376885|这个 bug]],并按照其中的说明操作。


== Review Process ==
== 审核流程 ==


There are two roles in the review process, that of the contributor and that of the reviewer. In this document, we'll present both perspectives.
审核过程有两种角色,贡献人员 和 审核者。本文档将会详细说明这两者。


=== Contributor ===
=== 贡献人员 ===


A Contributor is defined as someone who wants to submit (and maintain) a new package in Fedora.  To become a contributor, you must follow the detailed instructions to [[Join the package collection maintainers]].
贡献人员就是想要提交新软件包的人,又可以称之为提交者。如果想要成为一名贡献人员,您必须按照 [[Join the package collection maintainers/zh-cn|成为 Fedora 软件包仓库维护人员]] 的步骤来做。


As a Contributor, you should have already made a package which adheres to the [[Packaging:NamingGuidelines| Package Naming Guidelines]] and [[Packaging:Guidelines| Packaging Guidelines]]. There are also some packages that cannot be included in Fedora, to check if your package applies, check if it contains any [[Forbidden items]].
作为一名贡献人员,您需要做好一个符合 [[Packaging:NamingGuidelines|软件包命名规定]] [[Packaging:Guidelines|打包规定]] 的软件包。有许多软件无法进入 Fedora,因此您需要检查软件包,确保其不包含 [[Forbidden items|禁止的项目]]


When you're happy with your spec file, you should then submit that SRPM to a package review.
如果您对您的 spec 文件很满意,那么可以开始审核流程,步骤如下:
Currently, this is done by following these steps:


<ol>
<ol>
<li> Put your spec file and SRPM somewhere on the Internet.
<li> 上传您的 spec 文件和 SRPM 包,确保其可以被直接下载(建议为 HTTP(s),请不要使用需注册下载的网盘或指定下载方法的页面)。如果您没有地方上传您的 spec 和 SRPM,请使用 Copr: [https://copr.fedorainfracloud.org/]。
<li> Fill out a [https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora&format=fedora-review request for review in bugzilla].  For guidance, a [[:Image:PackageReviewProcess_review.png|screenshot of a sample bugzilla request is available for review]].
<li> 填写并提交一个 [https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora&format=fedora-review 审核请求支持单][[:Image:PackageReviewProcess_review.png|截图见右]]
[[Image:PackageReviewProcess_review.png|right|x400px]]
[[Image:PackageReviewProcess_review.png|right|x400px]]
<li> If you do not have any package already in Fedora, this means you need a sponsor and to add FE-NEEDSPONSOR to the bugs being blocked by your review request. For more information read the [[How to get sponsored into the packager group]] wiki page.
<li> 如果您尚未在 Fedora 中维护任何软件包,您需要标记您的审核请求的 Blocks 为 FE-NEEDSPONSOR(177841)并由您的保证人提供保证。详情请阅读 [[How to get sponsored into the packager group]]
<li> Wait for someone to review your package! At this point in the process, the '''fedora-review flag''' is blank, meaning that no reviewer is assigned.
<li> 等待某人审核您的软件包。在此过程中,'''fedora-review flag''' 标志是空白的,这意味着未分配审阅者。
  {{admon/tip|Review Swaps| If nobody comments on your review request, you might want to mail to a mailing list ([https://admin.fedoraproject.org/mailman/listinfo/devel devel@lists.fedoraproject.org], for example) asking for a "review swap".  This is an offer to do a review of someone else's package in exchange for them reviewing your package.  This is usually one-for-one, or can be some other private arrangement depending on the difficulty of the respective packages. }}
  {{admon/tip|Review Swaps| 如果没有人对您的审核请求发表评论,您可能需要向 maillist 发送一个(例如{{fplist|devel}})要求 “审核互换” 的提议。这个提议,以审查别人的包,换取他们审查你的包。这通常是一对一的,或者在私下沟通安排,这取决于软件的打包难度。}}
<li> There may be comments from people that are not formally reviewing the package, they may add NotReady to the Whiteboard field, indication that the review request is not yet ready, because of some issues they report. After you have addressed them, please post the URLs to the updated SPEC and SRPM file and remove it from the Whiteboard.  It is expected that you will respond to commentary, including updating your submission to address it; if you do not, your ticket will be closed.
<li> 可能有来自非正式审查人的意见,他们可以将 NotReady 添加到 Whiteboard 字段,来指示审查请求尚未准备好。解决报告的问题后,请发布更新的 SPEC SRPM 文件 URL,并将 NotReady 从白板中删除。您需要对评论做出回应,包括更新您的提交内容以解决问题;如果您没有,您的审查请求将被关闭。
<li> A reviewer takes on the task of reviewing your package. They will set the '''fedora-review flag''' to '''?'''
<li> 审核者负责审核您的包。他们会将 '''fedora-review flag''' 设为 '''?'''
<li> The reviewer will review your package. You should fix any blockers that the reviewer identifies. Once the reviewer is happy with the package, the '''fedora-review''' flag will be set to '''+''', indicating that the package has passed review.
<li> 审核人员将会审查您的包。您应该修复审核人标出的任何不规范的部分。一旦审核者对包满意,'''fedora-review''' 标志将被设为 '''+''',表示包已通过审核。
<li> At this point, you need to make an [[package SCM admin requests|SCM admin request]] for your newly approved package.
<li> 此时,您需要为新批准的包创建 [[PackageDB_admin_requests|SCM admin request]]。如果您没有获得保证,将无法完成此步骤。
<li> When this is complete, you can [[Using git FAQ for package maintainers#How_do_I_import_a_SRPM_package.3F|import your package]] into the SCM.
<li> 当此过程完毕时,您可以 [[Join_the_package_collection_maintainers#Import.2C_commit.2C_and_build_your_package|导入您的包]] 至 SCM。
<li> Checkout the package using "fedpkg clone <package-name>" do a final check of spec file tags, etc.
<li> 使用 "fedpkg clone <package-name>" 命令签出打包脚本,进行最终检查。
<li> Request a build by running "fedpkg build".
<li> 使用 "fedpkg build" 命令请求构建。
<li> Repeat the process for other branches you may have requested.
<li> 为其它分支重复之前的操作。
<li> Request updates for Fedora release branches, if necessary, using "fedpkg update" or another Bodhi interface as detailed in [[Bodhi Guide]].
<li> 请求为所有分支的更新,如果需要,请使用 "fedpkg update" 或其它 [[Bodhi]] 允许的方式。
<li> You should make sure the review ticket is closed.  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.
<li> 如果可能,添加您的软件包至 [[Upstream_release_monitoring|Upstream Release Monitoring]]
<li> 您还要保证审核支持单最终被关闭。在为请求的分支构建成功后,您可以自行关闭审核;或者如果您为某个 Fedora 版本构建了一个包,您可以要求 Bodhi 在完成构建后最终来关闭支持单。如果您自己关闭支持单,请使用 '''NEXTRELEASE''' 作为理由。
</ol>
</ol>


You do not need to go through the review process again for subsequent package changes.
后期的软件包变动不再需要执行该审核流程,并且不应在 Bodhi 中创建的后续更新中引用审核凭证。
 
=== 审核者 ===


=== Reviewer ===
审核者就是审核软件包的人。


The Reviewer is the person who chooses to review a package.
{{admon/note|fedora-review 工具|
fedora-review 是一个十分有用的自动化审核工具。只需要 <code>dnf install fedora-review</code> 然后阅读 man 手册了解用法即可。注意,这并不意味着全部,您仍然需要透彻了解[[Packaging:Guidelines|打包规定]]。}}


{{admon/note|Comments by other people|
{{admon/note|其他人的意见|
Other people are encouraged to comment on the review request as well. Especially people searching for sponsorship should comment other review requests to show, that they know the [[Packaging:Guidelines|Packaging Guidelines]].
软件包审核请求也鼓励其他人发表评论或其它内容。特别是有已经熟知 [[Packaging:Guidelines|打包规定]] 的人正在寻求审核帮助的时候会留下相关请求的建议。}}
}}


The Reviewer can be any Fedora account holder, who is a member of the [https://admin.fedoraproject.org/accounts/group/members/packager/* packager group]. There is one exception: If it is the first package of a Contributor, the Reviewer must be a [https://admin.fedoraproject.org/accounts/group/members/packager/*/sponsor Sponsor]. You can check if a Contributor has already been sponsored by looking the e-mail address up in the [https://admin.fedoraproject.org/accounts/group/members/packager/* packager group of the account system].
审核者应该是 [https://admin.fedoraproject.org/accounts/group/members/packager/* packager ] 的成员。(如果贡献者还没有被担保,审查仍然可以继续完成,但他们需要找到担保人为其进行担保。)唯一例外是如果这个审核请求是某人的第一个软件包的话,那么审核者必须是该人的 [https://admin.fedoraproject.org/accounts/group/members/packager/*/sponsor 担保人]。了解某位贡献人员是否是担保人,请查阅 [https://admin.fedoraproject.org/accounts/group/members/packager/* packager ]


<ol>
<ol>
<li> Search for a review request that needs a reviewer: http://fedoraproject.org/PackageReviewStatus/ ('''fedora-review flag''' is blank or the bug is assigned to nobody@fedoraproject.org)  
<li> 搜索一个需要审核者的审核请求:http://fedoraproject.org/PackageReviewStatus/ ('''fedora-review 标识''' 为空,或 bug 被分配给 nobody@fedoraproject.org)  
<li> If you notice some issues that need to be solved before you want to start a formal review, add these issues in a comment and set the Whiteboard of the bug to contain NotReady. This helps other possible reviewers to notice that the review request is not yet ready for further review action.
<li> 如果您在开始正式审核之前发现有问题需要解决,请留下问题的评论并设置 Whiteboard NotReady 状态。这会提醒其他审核者,该审核正处于未准备好的状态。
<li> if you want to formally review the package, set the '''fedora-review''' flag to '''?''' and assign the bug to yourself.
<li> 如果您想要开始正式审核,请设置 '''fedora-review''' 标识为 '''?''' 并分配该请求为您本人。
{{admon/note|Stepping back from a Review|If you want to step back from the review for any reason, reset the <code>fedora-review</code> flag to be blank '''and''' reassign the bug to the default owner of the component, which is '''nobody@fedoraproject.org'''}}
{{admon/note|退出审核|如果您因为某些原因需要退出审核,请重置 <code>fedora-review</code> 标识为空 '''并且''' 重新分配 bug 的默认属主,即 '''nobody@fedoraproject.org'''}}
<li> Review the package ...
<li> 审核过程 ...
  <ul>
  <ul>
   <li> Go through the MUST items listed in [[Packaging:ReviewGuidelines| Review Guidelines]] .
   <li> 检查 [[Packaging:ReviewGuidelines|审核规定]] 中列出的 MUST 条目。
   <li> Go through the SHOULD items in [[Packaging:ReviewGuidelines| Review Guidelines]] .
   <li> 检查 [[Packaging:ReviewGuidelines|审核规定]] 中列出的 SHOULD 条目。
  <li> [https://fedorahosted.org/FedoraReview/ FedoraReview] 工具 (即 fedora-review 软件包) 可以帮助您自动完成该过程。
  </ul>
  </ul>
</li>
</li>
<li> Include the text of your review in a comment in the ticket.  For easy readability, simply use a regular comment instead of an attachment.
<li> 请在每个审核中包含您的意见,为更好阅读,请您留下文字最好不要带附件。
<li> Take one of the following actions:
<li> 审核结果:
  <ul>  
  <ul>
   <li> '''ACCEPT''' - If the package is good, set the '''fedora-review''' flag to '''+'''  
   <li> '''ACCEPT''' - 如果您认为该软件包很好,请设置 '''fedora-review''' 标识为 '''+'''
{{admon/question|Time to sponsor?|If the Reviewer is also acting as Sponsor for the Contributor, then this is the time to sponsor the Contributor in the [https://admin.fedoraproject.org/accounts/ account system]}}
{{admon/question|Time to sponsor?|如果审核者想要成为贡献者的赞助者,则可以在 [https://admin.fedoraproject.org/accounts/ 账户系统] 中赞助贡献者}}
   <li> '''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.
   <li> '''FAIL, LEGAL''' - 如果该软件包存在法律风险 (已知的内容或版权问题,侵害,商标纠纷),请关闭该审核请求并设置为 WONTFIX,并留下您的意见 (比如我们不发行 mp3 组件等等)。您还需要设置 '''fedora-review''' 标识为 '''-''',并设置审核 block FE-Legal。
   <li> '''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 '''-'''.
   <li> '''FAIL, OTHER''' - 如果该软件包存在其它问题,且此时并无简单的解决方案,则请您关闭该审核为 WONTFIX 并留下适当的意见 (比如我们不发行涉黄内容,或者是,嗨,这不是一个 spec 文件。更生动一点,嗨,这不是麦当劳的菜单么之类的内容)。设置 '''fedora-review''' 标识为 '''-'''
   <li> '''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.
   <li> '''NEEDSWORK''' - 该审核请求需要进一步的完善,提交者和审核者需要协同工作以解决任何潜在的问题。将错误标记为 NEEDINFO,同时等待审核者对问题发表改进建议。
  </ul>
  </ul>
<li> Once a package is flagged as '''fedora-review +''' (or '''-'''), the Reviewer's job is done although they may be called upon to assist the Contributor with the import/build/update process and to sure that the Contributor closes the ticket out when the process is complete.
<li> 一旦一个软件包被标记为 '''fedora-review +''' ('''-'''),那么审核者的工作就已完成。您可以继续帮助新手完成 import/build/update 过程,直到他们的软件包成功进入 Fedora,并确保贡献者关闭包审查请求。
</ol>
</ol>


== Definitions for fedora-review Flag Settings ==
== fedora-review 标识定义 ==
{| border="1"
{| border="1"
|-
|-
|fedora-review||(BLANK)||Package Needs Review
|fedora-review||(BLANK)||需要审核
|-
|-
|fedora-review||?||Package Under Review
|fedora-review||?||正在审核
|-
|-
|fedora-review||-||Package Failed Review, dropped for legal or other issues.
|fedora-review||-||由于法律或其它问题,审核失败
|-
|-
|fedora-review||+||Package Approved
|fedora-review||+||审核通过
|}
|}


== Special blocker tickets ==
== 特殊的 blocker 支持单 ==
There are a few tickets which can be placed in the "Blocks" field to indicate specific ticket statuses:
少量支持单会设置 "Blocks" 字段,以表明特殊的状态:
{| border="1"
{| border="1"
|-
|-
|FE-NEEDSPONSOR||The submitter requires a sponsor; the review should only be done by a sponsor.
|FE-NEEDSPONSOR||审核提交人需要保证人。注意审核过程只能有一位担保人。
|-
|-
|FE-DEADREVIEW||The review has been closed out because the submitter has left; users looking for packages to submit may find some possibilities in these dead tickets.
|FE-DEADREVIEW||由于提交者自行离开本次审核被关闭。用户可以在这里面找到一些有用的信息。
|-
|-
|FE-Legal||The package is currently awaiting review by the legal team.
|FE-Legal||该软件包被社区法律团队认定存在法律风险。
|}
|}


== The Whiteboard ==
== 白板 (Whiteboard) ==
To save time for reviewers, the page at http://fedoraproject.org/PackageReviewStatus/NEW.html will hide certain tickets which are not reviewable.  The Whiteboard field can be used to mark a ticket with various additional bits of status which will cause it to be hidden or displayed differently.
为了节省审核者的时间,http://fedoraproject.org/PackageReviewStatus/NEW.html 将自动隐藏不适合审核的请求。Whiteboard 字段被用于标记请求的各种状态,并根据状态显示或隐藏请求。


{| border="1"
{| border="1"
|-
|-
|NotReady||The package is not yet ready for review.  It is possible to open a review ticket, mark it as NotReady, and continue to work on it until it's ready to be seen by a reviewer.
|NotReady||软件包尚未开始审核。您可以新建一个审核支持单标记其为 NotReady,并继续协助直到可以被审核者审核。
|-
|BuildFails||软件包无法被构建。
|-
|-
|BuildFails||The package fails to build.
|AwaitingSubmitter||审核停止,需要提交人提供更多信息。
|-
|-
|StalledSubmitter||The package review is stalled because the submitter is not responding.
|Trivial||软件包比较容易审查。请见下文。
|}
|}


"Trivial" 状态表明包不复杂,容易审查。包审查请求不应被标记为 trivial,除非符合以下情况:
* 该软件包可以正常构建,并包括一个临时构建的链接。
* 包请求没有任何 rpmlint 错误输出。
* Spec 不包含现代 Fedora 中不必要的内容(例如 BuildRoot:,%clean,或 %defattr)。
* Spec 未使用过多或复杂的宏。
* Spec 仅使用直接从 [[Packaging:Scriptlets]] 页面获取的简单脚本。
* 软件包不包含守护程序。
* 软件包对安全的影响不是特别大。
* 代码已经对许可问题进行了彻底检查。应解释许可证检查发现的异常问题。
简而言之,这种状态应该只用于标记那些非常容易审查的软件包请求,以使第一次审查包的审查者快速熟悉审查流程。
== 跟踪进度 ==
[http://fedoraproject.org/PackageReviewStatus 软件包审核进度查询工具] 提供多个与审核相关的报告和简单的审核搜索功能,比如软件包名,维护人,提交人等等。


== Tracking of Package Requests ==
== 著作权 ==
* [https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora&component=Package+Review&bug_status=NEW,ASSIGNED,NEEDINFO,MODIFIED&field0-0-0=flagtypes.name&type0-0-0=notsubstring&value0-0-0=fedora-review  New Review Requests] ([http://fedoraproject.org/PackageReviewStatus/NEW.html Cached for faster access])
该文档最初由 [TomCallaway|Tom 'spot' Callaway]] 于 2007 年创作,并已被许多其他贡献者修改。
* [https://bugzilla.redhat.com/bugzilla/buglist.cgi?product=Fedora&component=Package+Review&bug_status=NEW,ASSIGNED,NEEDINFO,MODIFIED&field0-0-0=flagtypes.name&type0-0-0=equals&value0-0-0=fedora-review%3F Packages Currently Under Review]  ([http://fedoraproject.org/PackageReviewStatus/REVIEW.html Cached for faster access])
* [https://bugzilla.redhat.com/buglist.cgi?query_format=advanced&field0-0-0=flagtypes.name&bug_status=NEW&bug_status=ASSIGNED&bug_status=MODIFIED&type0-0-0=equals&value0-0-0=fedora-review%2B&component=Package%20Review&product=Fedora Packages Reviewed but not Closed]


[[Category:Package Maintainers]]
[[Category:Package Maintainers]]

Latest revision as of 08:35, 11 February 2017

审核目的

为了向 Fedora 项目添加一个新的软件包,该软件包必须接受来自官方的审核。审核的目的在于确保这个软件包符合 Fedora 项目的基本质量要求。审核通过并不意味着这个软件包非常好,但是能保证它本身符合我们对它的最低质量要求。

审核适用于提交的新软件包,和软件包更名,以及曾经被废弃的旧软件包想要重新回归软件仓库,和从早期 Fedora Core 软件源合并的软件包。

注意,一些新软件包可能不需要进行审核。有关条件列表,请参阅Packaging:ReviewGuidelines#Package_Review_Process。如果软件包已豁免,则贡献者可以直接跳至步骤 8:在软件包数据库中提交 请求。但是请注意,为了完成审核过程,仍然需要提交一个 bugzilla 票据;为此,请使用这个 bug,并按照其中的说明操作。

审核流程

审核过程有两种角色,贡献人员 和 审核者。本文档将会详细说明这两者。

贡献人员

贡献人员就是想要提交新软件包的人,又可以称之为提交者。如果想要成为一名贡献人员,您必须按照 成为 Fedora 软件包仓库维护人员 的步骤来做。

作为一名贡献人员,您需要做好一个符合 软件包命名规定打包规定 的软件包。有许多软件无法进入 Fedora,因此您需要检查软件包,确保其不包含 禁止的项目

如果您对您的 spec 文件很满意,那么可以开始审核流程,步骤如下:

  1. 上传您的 spec 文件和 SRPM 包,确保其可以被直接下载(建议为 HTTP(s),请不要使用需注册下载的网盘或指定下载方法的页面)。如果您没有地方上传您的 spec 和 SRPM,请使用 Copr: [1]
  2. 填写并提交一个 审核请求支持单截图见右
  3. 如果您尚未在 Fedora 中维护任何软件包,您需要标记您的审核请求的 Blocks 为 FE-NEEDSPONSOR(177841)并由您的保证人提供保证。详情请阅读 How to get sponsored into the packager group
  4. 等待某人审核您的软件包。在此过程中,fedora-review flag 标志是空白的,这意味着未分配审阅者。
    Idea.png
    Review Swaps
    如果没有人对您的审核请求发表评论,您可能需要向 maillist 发送一个(例如devel)要求 “审核互换” 的提议。这个提议,以审查别人的包,换取他们审查你的包。这通常是一对一的,或者在私下沟通安排,这取决于软件的打包难度。
  5. 可能有来自非正式审查人的意见,他们可以将 NotReady 添加到 Whiteboard 字段,来指示审查请求尚未准备好。解决报告的问题后,请发布更新的 SPEC 和 SRPM 文件 URL,并将 NotReady 从白板中删除。您需要对评论做出回应,包括更新您的提交内容以解决问题;如果您没有,您的审查请求将被关闭。
  6. 审核者负责审核您的包。他们会将 fedora-review flag 设为 ?
  7. 审核人员将会审查您的包。您应该修复审核人标出的任何不规范的部分。一旦审核者对包满意,fedora-review 标志将被设为 +,表示包已通过审核。
  8. 此时,您需要为新批准的包创建 SCM admin request。如果您没有获得保证,将无法完成此步骤。
  9. 当此过程完毕时,您可以 导入您的包 至 SCM。
  10. 使用 "fedpkg clone <package-name>" 命令签出打包脚本,进行最终检查。
  11. 使用 "fedpkg build" 命令请求构建。
  12. 为其它分支重复之前的操作。
  13. 请求为所有分支的更新,如果需要,请使用 "fedpkg update" 或其它 Bodhi 允许的方式。
  14. 如果可能,添加您的软件包至 Upstream Release Monitoring
  15. 您还要保证审核支持单最终被关闭。在为请求的分支构建成功后,您可以自行关闭审核;或者如果您为某个 Fedora 版本构建了一个包,您可以要求 Bodhi 在完成构建后最终来关闭支持单。如果您自己关闭支持单,请使用 NEXTRELEASE 作为理由。

后期的软件包变动不再需要执行该审核流程,并且不应在 Bodhi 中创建的后续更新中引用审核凭证。

审核者

审核者就是审核软件包的人。

Note.png
fedora-review 工具
fedora-review 是一个十分有用的自动化审核工具。只需要 dnf install fedora-review 然后阅读 man 手册了解用法即可。注意,这并不意味着全部,您仍然需要透彻了解打包规定
Note.png
其他人的意见
软件包审核请求也鼓励其他人发表评论或其它内容。特别是有已经熟知 打包规定 的人正在寻求审核帮助的时候会留下相关请求的建议。

审核者应该是 packager 组 的成员。(如果贡献者还没有被担保,审查仍然可以继续完成,但他们需要找到担保人为其进行担保。)唯一例外是如果这个审核请求是某人的第一个软件包的话,那么审核者必须是该人的 担保人。了解某位贡献人员是否是担保人,请查阅 packager 组

  1. 搜索一个需要审核者的审核请求:http://fedoraproject.org/PackageReviewStatus/ (fedora-review 标识 为空,或 bug 被分配给 nobody@fedoraproject.org)
  2. 如果您在开始正式审核之前发现有问题需要解决,请留下问题的评论并设置 Whiteboard 为 NotReady 状态。这会提醒其他审核者,该审核正处于未准备好的状态。
  3. 如果您想要开始正式审核,请设置 fedora-review 标识为 ? 并分配该请求为您本人。
    Note.png
    退出审核
    如果您因为某些原因需要退出审核,请重置 fedora-review 标识为空 并且 重新分配 bug 的默认属主,即 nobody@fedoraproject.org
  4. 审核过程 ...
    • 检查 审核规定 中列出的 MUST 条目。
    • 检查 审核规定 中列出的 SHOULD 条目。
    • FedoraReview 工具 (即 fedora-review 软件包) 可以帮助您自动完成该过程。
  5. 请在每个审核中包含您的意见,为更好阅读,请您留下文字最好不要带附件。
  6. 审核结果:
    • ACCEPT - 如果您认为该软件包很好,请设置 fedora-review 标识为 +
      Questionmark.png
      Time to sponsor?
      如果审核者想要成为贡献者的赞助者,则可以在 账户系统 中赞助贡献者
    • FAIL, LEGAL - 如果该软件包存在法律风险 (已知的内容或版权问题,侵害,商标纠纷),请关闭该审核请求并设置为 WONTFIX,并留下您的意见 (比如我们不发行 mp3 组件等等)。您还需要设置 fedora-review 标识为 -,并设置审核 block FE-Legal。
    • FAIL, OTHER - 如果该软件包存在其它问题,且此时并无简单的解决方案,则请您关闭该审核为 WONTFIX 并留下适当的意见 (比如我们不发行涉黄内容,或者是,嗨,这不是一个 spec 文件。更生动一点,嗨,这不是麦当劳的菜单么之类的内容)。设置 fedora-review 标识为 -
    • NEEDSWORK - 该审核请求需要进一步的完善,提交者和审核者需要协同工作以解决任何潜在的问题。将错误标记为 NEEDINFO,同时等待审核者对问题发表改进建议。
  7. 一旦一个软件包被标记为 fedora-review + (或 -),那么审核者的工作就已完成。您可以继续帮助新手完成 import/build/update 过程,直到他们的软件包成功进入 Fedora,并确保贡献者关闭包审查请求。

fedora-review 标识定义

fedora-review (BLANK) 需要审核
fedora-review ? 正在审核
fedora-review - 由于法律或其它问题,审核失败
fedora-review + 审核通过

特殊的 blocker 支持单

少量支持单会设置 "Blocks" 字段,以表明特殊的状态:

FE-NEEDSPONSOR 审核提交人需要保证人。注意审核过程只能有一位担保人。
FE-DEADREVIEW 由于提交者自行离开本次审核被关闭。用户可以在这里面找到一些有用的信息。
FE-Legal 该软件包被社区法律团队认定存在法律风险。

白板 (Whiteboard)

为了节省审核者的时间,http://fedoraproject.org/PackageReviewStatus/NEW.html 将自动隐藏不适合审核的请求。Whiteboard 字段被用于标记请求的各种状态,并根据状态显示或隐藏请求。

NotReady 软件包尚未开始审核。您可以新建一个审核支持单标记其为 NotReady,并继续协助直到可以被审核者审核。
BuildFails 软件包无法被构建。
AwaitingSubmitter 审核停止,需要提交人提供更多信息。
Trivial 软件包比较容易审查。请见下文。

"Trivial" 状态表明包不复杂,容易审查。包审查请求不应被标记为 trivial,除非符合以下情况:

  • 该软件包可以正常构建,并包括一个临时构建的链接。
  • 包请求没有任何 rpmlint 错误输出。
  • Spec 不包含现代 Fedora 中不必要的内容(例如 BuildRoot:,%clean,或 %defattr)。
  • Spec 未使用过多或复杂的宏。
  • Spec 仅使用直接从 Packaging:Scriptlets 页面获取的简单脚本。
  • 软件包不包含守护程序。
  • 软件包对安全的影响不是特别大。
  • 代码已经对许可问题进行了彻底检查。应解释许可证检查发现的异常问题。

简而言之,这种状态应该只用于标记那些非常容易审查的软件包请求,以使第一次审查包的审查者快速熟悉审查流程。

跟踪进度

软件包审核进度查询工具 提供多个与审核相关的报告和简单的审核搜索功能,比如软件包名,维护人,提交人等等。

著作权

该文档最初由 [TomCallaway|Tom 'spot' Callaway]] 于 2007 年创作,并已被许多其他贡献者修改。