ククログ

株式会社クリアコード > ククログ > Fedoraプロジェクトにてみんなでパッケージをメンテナンスするには

Fedoraプロジェクトにてみんなでパッケージをメンテナンスするには

はじめに

以前、Fedoraプロジェクトでパッケージをリリースするための方法について書きました。

そして、次のような共同メンテナ(co-maintainer)を募集する記事も書きました。

その後、実際に共同メンテナとしてパッケージメンテナを新たに追加する機会があったので、そのときのことを紹介します。 おそらく、パッケージメンテナになる場合の最速のパターンです。

既存パッケージの共同メンテナになるまで

既存パッケージの共同メンテナになるには、次のような段取りを踏みます。

ざっくり説明すると、共同メンテナになりたい人がすることと、既存パッケージのメンテナがすることの2つがあります。

  • 共同メンテナになりたい人がすること

    • Bugzillaにアカウントを作成する

    • FAS(Fedora Account System)にアカウントを作成する

    • CLA(Contributors License Agreement)へ同意する

    • リポジトリへアクセスする公開鍵をFASアカウントに登録する

    • Proxy sponsorshipのチケットを作成してもらう(既存パッケージのメンテナに依頼すること)

ここまでが、共同メンテナになりたい人がすることです。 公開鍵等のところまでについては、冒頭で紹介した過去の記事を参照してください。

Proxy sponsorshipのチケットを作成をお願いするところまでできたら、あとはじっと待つだけです。

  • 既存パッケージのメンテナがすること

    • Proxy sponsorshipによりpackagerグループに共同メンテナとして迎えたい人を入れてもらう

    • Commit Accessを共同メンテナにしたい人に付与する

既存パッケージのメンテナがすることは上記の2つです。Proxy sponsorshipについては、後述します。

Proxy sponsorshipとは

Proxy sponsorshipとは、共同メンテナを追加するときに(packagerグループでsponsor権限をもっている人に)スポンサーになってもらうことを指します。 新規パッケージを追加するときには自身のスポンサーを探しましたが、Proxy sponsorshipの場合には「Proxy」とあるように、共同メンテナのために代理申請するところが違います。

例えば、Groongaに対するProxy sponsorshipのリクエストは次のようなチケットを作成しました。

チケットを作成するときは、コンポーネントとして「Comaintainership request」を選択して、共同メンテナに関するチケットであることを明示します。

あとは、スポンサーがつくのを待ちます。上記のチケットの場合、1日でスポンサーがついて、無事myokoymさんはpackagerグループのメンバーになりました。

Commit Accessを付与する

共同メンテナの対象者がpackagerグループに入ったら、次はCommit Accessを付与する必要があります。 packagerグループに入っただけでは、パッケージを管理しているリポジトリにコミットすることはできません。

そのため、パッケージの管理者が、共同メンテナにしたい人のFedoraアカウントに対してコミット権を付与する操作が必要です。

Fedoraプロジェクトでは、Fedora Package Databaseというのがあって、管理画面から共同メンテナに対するコミット権を管理できるようになっています。1

pkgdbのコミット権の管理画面

コミット権を与えたら、次のアップデートを共同メンテナに出してもらいましょう。

まとめ

Fedoraプロジェクトにてみんなでパッケージをメンテナンスする方法として、既存のパッケージの共同メンテナになるというのを紹介しました。

自分の使っているパッケージでメンテナが1人しかいなかったり、新規リリースへの追従が滞っているような場合には、共同メンテナになって一緒に良くしていくのはどうでしょうか。

  1. ブランチごとに付与できるので、特定のブランチのみのメンテナを任命するという運用にすることもできる