openSUSE:Factory への貢献方法
他の開発者との連絡やコメント欄への記入など、すべてのやり取りは英語で行ないます。もちろん全員が英語ネイティブというわけではありませんので、翻訳サービスなどを利用して英語に翻訳のうえ、作業を行なってください。よくわからない場合は、日本語の メーリングリストやフォーラムなど で質問してみてください。 |
目次
パッケージに対する修正の送信方法
Factory に対して、もっとも簡単で便利な貢献方法は、修正を送信することです。なぜパッケージが 構築できないのか 、なぜ うまく動作しないのか について、解決方法をご存じであれば、ぜひとも修正をお送りください。また、パッケージのバージョンが 古い ような場合は、ぜひとも新しいバージョンをお送りください。 Factory に対する貢献を 誰にでも できるようにするため、 openSUSE の開発者は Open Build Service の対話機能を大きく進化させています。これにより、誰にでも openSUSE:Factory のパッケージをコピーして修正を行ない、その内容を送信できるようになっています。それはまるで、スーパーマーケットのレジを通すかのように簡単に行なうことができます。まずは下記のように osc を実行して、パッケージを複製します:
上記を実行することで、 devel (開発) プロジェクト 内のパッケージに対する正確なコピーを、あなたのホームプロジェクト内に保存することができます。あとはこれをローカルマシンにチェックアウトして、必要な変更を実施してください:
修正すべき内容を反映し、構築や動作に問題がないことを確認したら、まず複製先に変更内容を送信します:
あとは下記のように実行して、パッケージの開発者にレビューを依頼します:
上記を実行すると、パッケージの開発者に対してその旨が通知され、レビューが行なわれます。このような流れを、我々は BURP と呼んでいます。
.
- Branch (複製して)
- Update (更新したあと)、
- Request (要求を行なって)
- the Package (パッケージ化する)
Factory に新しいパッケージを追加する方法
今までパッケージを作成したことがない場合は、 OBS にパッケージを送信する前に、 このチュートリアル などをお読みください。
何よりも先に、パッケージを送信するには devel (開発プロジェクト) が必要です。 devel (開発) プロジェクトはトップレベルの (1 階層目に表示される) プロジェクトであり、かつ home: 以下のプロジェクトではないものでなければなりません。まずは既存の devel (開発) プロジェクトを参照し、もっとも適切であると思われるリポジトリを見つけて、そこのメンテナにパッケージを送信したい旨をお伝えください。単にパッケージを devel プロジェクトに送信するだけでもかまいません。
現時点での devel プロジェクトの一覧は、 このページ 内の冒頭にあるドロップダウンリストから参照することができます。すべてのプロジェクトを参照したい場合は、 こちら から参照することができます。適切なプロジェクトが見つからない場合は、包括的なプロジェクトである devel:openSUSE:Factory をお使いください。また、全く新しい種類のパッケージを複数お持ちの場合は、独自の devel プロジェクト を作成することもできます。この場合は、新しい devel プロジェクト を Factory メーリングリスト に申し込む必要があります。すると、 Open Build Service のメンテナから、次にやるべきことを教えてもらうことができます。
devel プロジェクト が見つかったら、パッケージを openSUSE:Factory に submit-request してください。 submit-request には、対象となるパッケージに対する注記を記述しなければなりません。また、できれば opensuse-factory メーリングリストでパッケージを紹介し、 submitrequest にその旨を記述しておくとよいでしょう。下記の例では、アップストリーム (ソフトウエアの提供元) プロジェクトとそこでのメンテナンス状況、およびディストリビューションに取り込んだ場合の利点などを説明しています。
Factory 内のパッケージメンテナになる方法
既存のパッケージに対して支援を行なったり、責任を引き継ぎたい場合は、その時点での開発者に対して連絡をとってください。なお、 Factory メンテナの責任と権利 についてもご注意ください。
現在のメンテナを知りたい場合は、 build.opensuse.org にアクセスするか、下記のコマンドを実行してください:
なお、多くのプロジェクトでは、メンテナをメールアドレスではなく名前で記しています。それぞれ "@opensuse.org", "@suse.com", "@suse.de" を付加してメールアドレスを判断してください。
現在のメンテナに連絡を取る以外の方法には、下記のようなものがあります:
- osc requestmaintainership openSUSE:Factory aaa_base
- build.opensuse.org を開いてログインし、パッケージを検索して対象のパッケージに対して "Request role addition" (役割の追加要求) を行なう方法
devel (開発) プロジェクト内のパッケージに対して修正を統合する方法
Open Build Service では、電子メールで新しい要求 (リクエスト) を通知します。既存の要求を検索するには、下記のように実行してください:
変更点の受け入れは、要求の受け入れと同様にシンプルな方法で行なうことができます。もちろん、あらかじめ変更点を確認しておく必要があります。
確認作業が終わったら、下記のコマンドで受け入れることができます。
openSUSE:Factory に対するパッケージ送信
devel プロジェクト でのパッケージ構築に問題が無ければ、あとはパッケージを openSUSE:Factory に送信するだけです。
リリース済み製品に対してパッケージを送信する方法
既にリリースされているディストリビューション (たとえば openSUSE 13.1) に対して修正を行ないたい場合は、これらに加えて追加の手順を踏む必要があります。詳しくは パッケージメンテナンス のガイドラインをお読みください。
パッケージを削除する方法
警告!
|
あなたがパッケージのメンテナでない場合は、下記に示す手順を実施する前に、まずはパッケージのメンテナに対して連絡を取ってください。 |
ここでは、 devel プロジェクト が devel:openSUSE:Factory である oldstuff というパッケージを、 Factory から削除する場合を想定します。まずは Factory 内で、 oldstuff に依存しているパッケージがないかどうかを調べます。
何らかのパッケージが oldstuff に依存している場合は、下記のいずれかの手段で解決を図ります:
- 削除をあきらめて oldstuff の維持を続ける
- 依存しているパッケージを先に削除する
- これらのパッケージを oldstuff に依存しないように変更する
上記の問題が解決できたら、あとは openSUSE:Factory 内で oldstuff に対する削除要求を送信します。削除要求には、削除に至った理由を記述します。
パッケージが Factory から削除されても、 devel プロジェクトからは自動的に削除されることはありません。それは Factory の管理外でもパッケージを使用し続けることができるためで、 devel プロジェクトからの削除は別途の理由で発生するものであるためです。要件に応じて devel プロジェクトからも手作業で削除してください。
openSUSE:Factory からパッケージが削除されると、その時点での最終バージョンが openSUSE:Dropped プロジェクト内に作成され、必要であれば将来の復元に備えることができるようになっています。
削除済みパッケージを復元する方法
openSUSE:Dropped に移動されたパッケージを復元する作業になります。 Factory にパッケージを追加する方法と同じ手順で実施してください。