openSUSE:Factory への送信

移動先: 案内, 検索


openSUSE:Factory やリリース済みのディストリビューションのプロジェクト (例: "openSUSE:12.1") に対してメンテナンス更新のパッケージを送信すると、パッケージが正しく動作するかどうか、および高い品質が維持されているかどうかを確認するための複数のレビューが行なわれます。下記の説明は Factory への送信を主眼に置いて説明していますが、メンテナンス更新についても似たような扱いで処理されます。

概要

下記では、 Factory への送信後に行なわれる、様々なレビューとチェックインの流れを説明しています。なお、 openSUSE:Factory プロジェクトでは、 submit (送信), delete (削除) and change devel (開発元変更) の各要求のみを受け付けます。それ以外は拒否されることに注意してください。

各要求ごとの流れ

openSUSE:Factory に対する送信要求 (Submit request)

  1. factory-auto スクリプトによる自動ソースレビュー、および legal-auto スクリプトによる自動法的レビューを実施します。
  2. 自動ソースレビューで問題が発生した場合は、要求は拒否 (declined) されます。
  3. 自動法的レビューで問題が発生した場合は、 legal-team による手動法的レビューを実施します。
  4. 自動ソースレビューで問題がなく、かつ自動または手動の法的レビューのいずれかで問題がないことが確認されたら、続いて autobuild-team またはリリースチームによる手動チェックインを行ないます。
  5. チェックインに問題がなければ、そのまま終了 (accepted) となります。問題があった場合は、要求は拒否 (declined) されます。

openSUSE:Factory に対する削除要求 (Delete request)

  1. まずは autobuild-team による手動レビューを実施します。
  2. レビューの結果、問題があれば、そのまま要求は拒否 (declined) されます。
  3. レビューの結果、問題がなければ、続いて autobuild-team またはリリースチームによる手動チェックインを行ないます。
  4. チェックインに問題がなければ、そのまま終了 (accepted) となります。問題があった場合は、要求は拒否 (declined) されます。

openSUSE:Factory に対する開発元変更要求 (Change devel request)

  1. リリースチームによる手動レビューを実施します。
  2. レビューの結果、問題があれば、そのまま要求は拒否 (declined) されます。
  3. レビューの結果、問題がなければ、続いて autobuild-team またはリリースチームによる手動チェックインを行ないます。
  4. チェックインに問題がなければ、そのまま終了 (accepted) となります。問題があった場合は、要求は拒否 (declined) されます。

openSUSE:Factory に対する上記以外の要求

  1. 上記以外の要求はすべて拒否 (declined) されます。


自動レビュー

このレビューは第一の防衛ラインとも呼べるもので、一般的でかつよくあるミスを捕獲するための仕組みです。一般的には、これらの自動レビュースクリプトが Factory リリースマネージャの下で実行されます。もちろん、下記のチェックが全部ではなく、ほかにも様々なちっぇくを行ないます:

  • パッケージが構築できているかどうか?
  • パッケージが対応する devel プロジェクトから送信されているかどうか?
  • spec ファイルは適切に記述されているか?
  • ソースコード内にライセンスの問題があるものが含まれていないか? (legal-auto スクリプト)

これらのスクリプトについて、詳しくは github をご覧ください。

法的レビュー

legal-auto による自動レビューで何らかの問題が発見された場合は、手作業による完全レビューを実施します。

新しいパッケージの場合、ライセンス上の問題や著作権の制約に違反していないことを確認するため、ソースコードの完全なレビューを実施します。

Factory レビュー

openSUSE レビューチームこれらのガイドライン に従って、手作業によるレビューを実施します。

Factory リリースマネージャによる最終レビューとチェックイン

すべてのレビューで問題がないことが確認されると、リリースマネージャはパッケージをチェックインしてよいかどうかを判断します。通常であれば、リリスマネージャはそれまでのレビューを信頼しているため、この決断は簡単なものですが、場合によっては難しい判断を迫られる場合もあります。リリースマネージャは送信要求 (submit request) を受け入れる (accept) と、ディストリビューション内にチェックインされます。受け入れの処理はタイミングを決めることにもつながるため、リリースマネージャは適切なタイミングでこれを実施します。

関連記事