パッケージにアップロード権限をつけてもらう
この記事は、Debian/Ubuntu JP Advent Calendar 2012 の何日目かの記事です。
2013 年の 11 月末から、Debian Maintainer (DM) によるパッケージアップロードの権限付与方法が変更されました。
通常、DM は自力でパッケージを Debian 公式アーカイブにアップロードすることはできず、Debian Developer (DD) にスポンサーとして代理アップロードしてもうら必要があります。
これまでは、debian/control ファイルに DM-Upload-Allowed (DMUA) フィールドを記述したパッケージを、スポンサーの DD に代理アップロードしてもらうことで、そのパッケージに限ってはそれ以後の自力アップロードができるようになっていました。
今回の変更により、DMUA フィールドは廃止され、debian/control に記述があろうとなかろうと意味をもたなくなりました。これからは、許可情報はパッケージ自体ではなくアーカイブサーバ側に移されており、そのデータを更新するには、dak コマンドを使用することになります。
dak コマンドは、所定のフォーマットで作成したテキストファイルをアーカイブにアップロードすることで実行されますので、やはりアップロード自体は DD に依頼する必要があります。
Archive: ftp.debian.org Uploader: DD のメールアドレス Action: dm Fingerprint: DM の GPG フィンガープリント Allow: パッケージ名 (スペース区切りで複数可)
上記の通り、書式自体はとても簡単なので、DM が依頼する時は単純に自分のフィンガープリントと対象のパッケージ名だけを伝えるだけで十分かもしれません。ただ、DD 本人はこの変更の当事者ではないので、新しい dak コマンドのことをそもそも知らない可能性もあります。
ですので、依頼する場合は、上記のフォーマットをつけた上で、「gpg 署名してアップロード」することを依頼するとスムーズになると思います。最初の debian-devel-announce のリンクを付記しておいてもよいでしょう。
依頼を受けた DD は、依頼内容通り権限をつけてよいと判断したら、dak コマンドのファイルに gpg 署名したものを、dput コマンドなどを使ってアーカイブにアップロードすることになります。
アーカイブ上でコマンドが無事実行されると、次のような結果通知メールが、DD と DM に送付されますので、内容を確認しておきましょう。
Subject: Results of processing (DD の名前)-(適当な数字).dak-commands > Action: dm > Fingerprint: C11CA58C0175C240D58C30C8D27DDE1140A2F113 > Allow: mypackage Fingerprint: C11CA58C0175C240D58C30C8D27DDE1140A2F113 Uid: lurdan@gmail.com Allowed: mypackage
では皆さま、年末年始も happy hacking!