[ 前のページ ] [ 著作権表示 ] [ 目次 ] [ 次のページ ]

Debian デベロッパーズリファレンス - 章 6
パッケージのアップロード


6.1 新規パッケージのアナウンス

Debian ディストリビューション用に新たなパッケージを作成しようと考えたら、 まず最初に Work-Needing and Prospective Packages (WNPP) の一覧をチェックしてください。 WNPP をチェックすることによって、 まだ誰もそのソフトウェアのパッケージング作業を行なっていないこと、 作業が重複していないことが確認できます。 あなたが作業を予定しているパッケージにまだ誰も手をつけていないことが 分かったら、新たなパッケージ作成に関するあなたの計画を説明するために 簡潔な電子メールを debian-devel@lists.debian.org 宛てに送ります。 その電子メールのサブジェクトは ``intent to package foo'' とするべきです。 foo のところには新たなパッケージの名前を当てはめてください

このような手順を踏むことを開発者にお願いするのは、 以下のようないくつかの理由のためです。


6.2 パッケージをアップロードする


6.2.1 changes ファイルの作成

Debian FTP アーカイブにパッケージをアップロードする際には、 アーカイブメンテナにその扱いを指示するための .changes を添えなければなりません。 こちらは普通、通常のパッケージ構築プロセスの最中に dpkg-genchanges によって生成されます。

この changes ファイルは以下のフィールドをもつ制御ファイルです。

Debian アップロードの際、これらのフィールドはすべて必須です。 これらのフィールドの内容については Debian パッケージングマニュアル の制御フィールドの一覧をご覧ください。 また、Description フィールドを用いれば 自動的にバグをクローズすることが可能です。 こちらに関しては 新規アップロードによってバグをクローズする場合には, Section 10.4 をご覧ください。 なお、この節ではアーカイブメンテナンスのポリシーに関わる Distribution フィールドのみを取り上げます。


6.2.2 ディストリビューションの選択

とりわけ debian/changelog ファイルから生成される Distribution フィールドは、 そのパッケージがどのディストリビューション向けのものなのかを示します。 このフィールドの値には、`stable'、`unstable'、`frozen'、`experimental' の四つが当てはまりえます。 またこれらの値は組み合わせて当てはめられる場合もあります。 例えば、極めて重要なセキュリティ上の修正を施したパッケージのリリースがあり、 そのパッケージが stable および unstable ディストリビューションの双方に必要なものであったならば、 changelogDistribution フィールドには `stable unstable' と記入します。 あるいは、Debian がフリーズされており frozen ディストリビューションにバグ修正リリースを収録したい場合は、 そのディストリビューションは `frozen unstable' とします。 (frozen へアップロードする際のより詳細な情報については frozen へのアップロード, Section 6.2.2.1 をご覧ください。) なお注意していただきたいのですが、ディストリビューションを `stable' に設定することは、実際に stable ディストリビューションに収録される前に、 そのパッケージがさらなるテストのために Debian アーカイブの proposed-updates ディレクトリに収録されることを意味しています。 また experimental ディストリビューションを 他のディストリビューションと組み合わせることはまったく意味がありません。 注意してください。

特定のアップストリームバージョンに対応するバージョンを 初めてアップロードする際には、 オリジナルソースの tar ファイルを .changes ファイルを添えて アップロードしなければなりません。 続いて新しい diff と .dsc ファイルを生成する際には、 これとまったく同じ tar ファイルを用いなければなりませんが、 その際にはこの tar ファイルをアップロードする必要はありません。

Debian ソースバージョン番号のリビジョン部分が 0 あるいは 1 であることは、 それが新たなアップストリームバージョンであることを示しますが、 この場合 (のみ) dpkg-genchangesdpkg-buildpackage は、デフォルトでオリジナルソースの tar ファイルを収録します。 この動作は、常にこちらを収録するには -sa を、 常にそれを無視するには -sd を用いることによって 変更することができます。

ただ、オリジナルソースがそのアップロードに含まれない場合は、 アップロードする .dsc ファイルと diff を生成する際に dpkg-source が用いるオリジナル tar ファイルは、 すでにアーカイブにあるものと 1 バイトたりとも違わない 同一のものでなければなりません。 なお何らかの特殊な理由がある場合は、おそらく -sa フラグを用いて、 新しいバージョンのオリジナルソースをアップロードしなければなりません。


6.2.2.1 frozen へのアップロード

Debian フリーズは Debian にとって重要な期間です。 この期間はディストリビューション全体を調和させ安定化させる機会なのです。 それゆえ、frozen へアップロードする際には注意を要します。

最新のソフトウェアを常にリリースに収録するという試みは、 魅惑的なことです。 しかしながら、システムが全体として安定し、 期待している通りに動作することの方がより重要なことです。

frozen へのアップロードのモットーは 「新たなコードは入れない」です。 その基準を定めることは難しいことですが、 以下のようないくつかのガイドラインがあります。

新たなバグを招いてしまう可能性が、どんなバグ修正にでも 統計的に 15% はあることを心に留めておいてください。 新たなバグの混入や発見は、リリースを遅らせたり、 最終的なプロダクトの品質を低下させたりするのです。 元々のバグの重大さと新たに混入したバグの重大さとの間に、 相関関係はほとんどありません。


6.2.3 アップロードの前にパッケージをチェックする

あなたのパッケージをアップロードする前に、 それに対して基本的なテストを行なうべきです。 必ず以下の作業を行なうようにしてください。 (現行の Debian パッケージがあれば、その古いバージョンも必要になるでしょう。)


6.2.4 master へのアップロード

パッケージをアップロードするためには、 master.debian.org に個人アカウントが必要です。 開発者はすでに全員このアカウントを持っているはずです。 こちらに関しては master サーバ, Section 4.2.1 をご覧ください。 そのファイル群を転送するには scpftp のいずれも利用できます。 どちらを使う場合でも、そのファイル群は /home/Debian/ftp/private/project/Incoming/ に設置する必要があります。 匿名 FTP を利用して master 上の Incoming にアップロードすることはできません。 -- あなたのユーザ名とパスワードを使わなければなりません。)

注意: アメリカ合衆国政府によって輸出規制されているソフトウェアを パッケージが含む場合は、それを master や、海外にある chiarkerlangen のアップロードキューには アップロードしないでください。 この規制は、ほぼすべての暗号ソフトウェアや、 時にはPGP 暗号および認証をサポート電子メールリーダのような 暗号ソフトウェアを「利用する」ソフトウェアにも及びます。 このようなソフトのアップロードは non-us に行なってください。 (pandora (non-us) へのアップロード, Section 6.2.5 をご覧ください。) アメリカ合衆国の輸出規制があなたのパッケージに適用されるかどうか はっきりしない場合は、debian-devel@lists.debian.org にメッセージを投稿し質問してください。

また、パッケージをアップロードする際、 Debian package dupload が便利なことにお気づきになるでしょう。 この便利なプログラムは、デフォルトで ftp を経由し master や、chiarkerlangen へのアップロードができるようになっています。 こちらは ssh を利用するように設定することもできます。 より詳細な情報については dupload(1)dupload(5) をご覧ください。


6.2.5 pandora (non-us) へのアップロード

前述の通り、輸出規制されているソフトウェアは master にアップロードしてはいけません。 その代わりに 非匿名 FTP か scp を使って、 パッケージを pandora.debian.org にコピーし、 そのファイル群を /org/non-us.debian.org/incoming/ に設置してください。 デフォルトで master と同じアカウントが使えます。

dupload プログラムは pandora へのアップロードをサポートしています。 詳細はプログラム付属のドキュメントを参照してください。


6.2.6 chiark 経由のアップロード

master へのネットワーク接続が遅い場合、 その代わりとなるものがあります。 その一つが、chiark 上にあるヨーロッパのアップロードキュー経由で Incoming にファイル群をアップロードする方法です。 その詳細については ftp://ftp.chiark.greenend.org.uk/pub/debian/private/project/README.how-to-upload をご覧ください。

注意:アメリカ合衆国政府によって輸出規制されている ソフトウェアを含むパッケージを chiark のキューにアップロードしないでください。 このアップロードキューは master に向けられたものですので、 master へのアップロード, Section 6.2.4 で説明した法規がここでも同様に適用されます。

dupload プログラムは chiark へのアップロードをサポートしています。 詳細はプログラム付属のドキュメントを参照してください。


6.2.7 erlangen 経由のアップロード

他にもドイツにあるアップロードキューが利用できます。 匿名 FTP 経由で ftp://ftp.uni-erlangen.de/pub/Linux/debian/UploadQueue/ にファイル群をアップロードしてください。

そのアップロードは、 masterIncoming へのアップロードと同じように、 完全な Debian アップロードでなければなりません。 つまり、.changes ファイルで触れている他のファイルを添えて .changes ファイルをアップロードします。 そのキューデーモンは .changes が Debian 開発者によって 正しく PGP 署名されているかどうかをチェックし、 不正なファイルはそのキュー経由では master へ転送しません。 .changesMaintainer フィールドに、 あなたの電子メールアドレスがあるかどうかも確認してください。 そこに記述されたアドレスは master と同様あらゆるリプライに使用されます。

chiark と同様に、アップロードのあとあなたのファイルを セカンドディレクトリに移動する必要はありません。 また、どんな場合でもアップロードがどうなったかについて、 キューデーモンから返信メールを受け取るはずです。 あなた宛てにエラーが通知されない限り おそらくこちらも master へ移動されるはずです。

注意:アメリカ合衆国政府によって輸出規制されている ソフトウェアを含むパッケージを erlangen のキューにアップロードしないでください。 このアップロードキューは master に向けられたものですので、 master へのアップロード, Section 6.2.4 で説明した法規がここでも同様に適用されます。

dupload プログラムは erlangen へのアップロードをサポートしています。 詳細はプログラム付属のドキュメントを参照してください。


6.2.8 他のアップロードキュー

アメリカ合衆国にある他のアップロードキューも利用できます。 こちらは master に接続できない問題が発生した際の 優れたバックアップ手段です。 erlangen と同様に ftp://samosa.debian.org/pub/UploadQueue/ にファイル群をアップロードすることができます。

日本でもアップロードキューが利用できます。ftp://master.debian.or.jp/pub/Incoming/upload/ への匿名 FTP 経由でファイル群をアップロードしてください。


6.3 パッケージアップロードのアナウンス

パッケージをアップロードしたら、 そのアナウンスを``debian-changes'' メーリングリストの一つに投稿しなければなりません。 そのアナウンスの Subject フィールドには (ソース) パッケージ名、バージョン番号、変更事項の極めて簡潔な要約を含め、 その本文には PGP で署名された .changes ファイルを含めます。 付加的な説明文は .changes ファイルの前に付け加えます。

あるパッケージが、その Distribution: フィールドに `stable' と記述されてリリースされる場合、 そのアナウンスは debian-changes@lists.debian.org に送ります。 一方あるパッケージが、その Distribution: フィールドに `unstable' や、`experimental'、(もしあれば) `frozen' などが記述されてリリースされる場合、 そのアナウンスは debian-devel-changes@lists.debian.org に送らなければなりません。

場合によっては、stableunstable ディストリビューションの両方にパッケージをアップロードする必要がありますが、 この場合は Distribution: フィールドに 両方のディストリビューション名を記述してください。 この場合アップロードアナウンスは、 上記のメーリングリストの両方に投稿してください。

なお、dupload プログラムは、 アナウンスをどこへ投稿すべきかを判断し 適切なメーリングリストに自動的にアナウンスを投稿してくれます。 dupload, Section 11.8 をご覧ください。


6.4 新規パッケージインストールの通知

Debian アーカイブメンテナが、 アップロードされたパッケージの処理に責任を持ちます。 ほとんどの場合アップロードは、 dinstall というアーカイブメンテナンスツールによって 基本的に毎日自動的に処理されます。 特に `unstable' ディストリビューションに存在するパッケージのアップロードは、 自動的に処理されます。 ただ、その他の場合、特に新規パッケージのような場合には、 特定のディストリビューションへのパッケージアップロードは手動で処理されます。 アップロードされたパッケージが手動で処理される場合、 アーカイブの変更には一週間ほど時間がかかります。 (辛抱強くお待ちください。)

どんな場合でも、パッケージアップロードの通知を電子メールで受け取れます。 この通知の内容は十分注意してお確かめください。 パッケージがあなたの想定していたセクションに設置されなかった場合、 そのことがこちらで通知されるでしょう。 その理由に関してはこちらをよくお読みください。


6.4.1 オーバライドファイル

debian/control ファイルの Section および Priority フィールドは、 そのファイルがアーカイブのどこに設置されるかや、その priority を 実際に特定するものではありません。 アーカイブ全体を整理された状態にしておくために、 これらのフィールドの管理はアーカイブメンテナが行ないます。 そのため debian/control ファイルに設定された値は、 実際はそのヒントになるだけです。

アーカイブメンテナは、パッケージの正式なセクションやプライオリティを override file にて管理します。 場合によっては override file は修正が必要になります。 ただ、パッケージの control ファイルを単に変更しても効果はありません。 その代わりに override-change@debian.org に電子メールを送るか、 ftp.debian.org に対するバグとして報告を行なわなければなりません

override files に関するより詳細な情報については、 dpkg-scanpackages(8) や、 /usr/doc/debian/bug-log-mailserver.txt/usr/doc/debian/bug-maint-info.txt をご覧ください。


[ 前のページ ] [ 著作権表示 ] [ 目次 ] [ 次のページ ]
Debian デベロッパーズリファレンス
ver. 2.7.1, 2 Oct, 1999
Adam Di Carlo, current maintainer aph@debian.org
Christian Schwarz schwarz@debian.org
Ian Jackson ijackson@gnu.ai.mit.edu