第4章 Resources for Debian Developers and Debian Maintainers

目次

4.1. メーリングリスト
4.1.1. 利用の基本ルール
4.1.2. 開発の中心となっているメーリングリスト
4.1.3. 特別なメーリングリスト
4.1.4. 新規に開発関連のメーリングリストの開設を要求する
4.2. IRC チャンネル
4.3. ドキュメント化
4.4. Debian のマシン群
4.4.1. バグ報告サーバ
4.4.2. ftp-master サーバ
4.4.3. www-master サーバ
4.4.4. people ウェブサーバ
4.4.5. VCS (バージョン管理システム) サーバ
4.4.6. 複数のディストリビューション利用のために chroot を使う
4.5. 開発者データベース
4.6. Debian アーカイブ
4.6.1. セクション
4.6.2. アーキテクチャ
4.6.3. パッケージ
4.6.4. ディストリビューション
4.6.5. リリースのコードネーム
4.7. Debian ミラーサーバ
4.8. Incoming システム
4.9. パッケージ情報
4.9.1. ウェブ上から
4.9.2. dak ls ユーティリティ
4.10. パッケージ追跡システム
4.10.1. PTS メールインターフェイス
4.10.2. PTS からのメールを振り分ける
4.10.3. PTS での VCS コミットを転送する
4.10.4. PTS ウェブインターフェイス
4.11. Developer's packages overview
4.12. Debian での FusionForge の導入例: Alioth
4.13. Goodies for Debian Developers and Debian Maintainers
4.13.1. LWN の購読
4.13.2. Valve games on Steam

この章では、Debian メーリングリストについてのおおよその概略、開発者であるあなたが利用できるであろう Debian マシン、メンテナとしての作業で役立つその他全ての利用可能なリソースを確認します。

4.1. メーリングリスト

Debian 開発者 (それにユーザ) の間で交わされるやり取りの大半は lists.debian.org で提供されている広範囲に渡るメーリングリスト群で行われています。どうやって購読/解除するのか、どうやって投稿するか(あるいはしないのか)、どこで過去の投稿を見つけるのか、どうやって過去の投稿の中から探すのか、どうやってメーリングリスト管理者と連絡をとるのか、その他メーリングリストに関する様々な情報については http://www.debian.org/MailingLists/ を参照してください。

4.1.1. 利用の基本ルール

メーリングリストのメッセージに返信する際には、大本の投稿者が特別に要求しない限り、同報メール (CC) を送らないようにしてください。メーリングリストに投稿する人は必ず返信を見ているはずです。

クロスポスト (同じメッセージを複数のメーリングリストに投稿する) のはお止め下さい。いつものネット上と同じ様に、返信文では引用を削って下さい。概して投稿するメッセージについては、通常の慣習をしっかりと守ってください。

詳細については行動規範を参照してください。Debian コミュニティガイドラインも読むと良いでしょう。

4.1.2. 開発の中心となっているメーリングリスト

開発者が利用すべき Debian の中核メーリングリスト:

他にも様々な事柄に特化したメーリングリストが利用できます。一覧については http://lists.debian.org/ を参照してください。

4.1.3. 特別なメーリングリスト

は Debian 開発者間でのプライベートな話し合い用に使う特別なメーリングリストです。つまり、理由がなんであれここに投稿された文章は公開するべきではないものであることを意味しています。このため、これは流量が少ないメーリングリストで、ユーザは本当に必要でない限りは を使わないように勧められています。さらに、このメーリングリストから誰かへメールを転送してはいけません。様々な理由からこのメーリングリストのアーカイブはウェブから見ることはできませんが、master.debian.org 上のシェルアカウントを使って ~debian/archive/debian-private/ ディレクトリを参照することで確認できます。

は、特別なメーリングリストです。ライセンス、バグ、その他について upstream の作者にコンタクトを取る、他の人とプロジェクトについて議論した内容をアーカイブしておくのに役立つ Debian に関するメールをまとめた「福袋」として使われています。

4.1.4. 新規に開発関連のメーリングリストの開設を要求する

パッケージ (や関連する小さなパッケージ群) の開発に関するメーリングリストの開設をリクエストをする前に、エイリアスを利用するのを検討してください (master.debian.org 上で .forward-aliasname ファイルを使うと、きちんと you-aliasname@debian.org アドレスに適切に変換してくれます)。あるいは、Alioth 上で自分で管理するメーリングリストを使いましょう。

lists.debian.org 上での通常のメーリングリストが本当に必要であると決意した場合は、HOWTO に従って進めてリクエストを埋めてください。

4.2. IRC チャンネル

いくつもの IRC チャンネルが Debian の開発のために用意されています。チャンネルは主に Open and free technology community (OFTC) のネットワーク上にホストされています。irc.debian.org の DNS エントリは irc.oftc.net へのエイリアスです。

Debian 用のメインのチャンネルは一般的にいって #debian になります。これは巨大な、多目的のチャンネルで、ユーザがトピックやボットによって提供される最近のニュースを見つけることができる場所です。#debian は英語を話す人たち用のもので、他の言語を話す人達のために同様なものには #debian.de#debian-fr#debian-br など他にも似通った名前のチャンネルがあります。

Debian 開発での中心のチャンネルは #debian-devel です。これはとてもアクティブなチャンネルで、大抵 150 人以上が常にログインしています。このチャンネルは Debian で作業する人達のためのチャンネルであって、サポート用のチャンネルではありません (そのためには #debian があります)。このチャンネルは、こっそり覗いてみたい (そして学びたい) 人に対してもオープンでもあります。このチャンネルのトピックは、開発者にとって興味深い情報に溢れています。

#debian-devel は公開チャンネルなので、 で話されている話題について触れるべきではありません。この目的の為には、#debian-private という鍵で守られた他のチャンネルがあります。この鍵は master.debian.org:~debian/archive/debian-private/ で取得可能です。

他にも、特定の話題について専用のチャンネルがあります。#debian-bugs は、バグ潰しパーティ (BSP) を開催するために使われます。#debian-boot は、debian-installer の作業を調整するのに利用されています。#debian-doc は、今あなたが読んでいるような文章のドキュメント化について話すために時折使われています。アーキテクチャやパッケージ群について話すため、他にも専用チャンネルがあります:#debian-kde#debian-dpkg#debian-jr#debian-edu#debian-oo (OpenOffice.org パッケージ) など…

同様に非英語圏の開発者のチャンネルも存在しています。例えば #debian-devel-fr は Debian の開発に興味があるフランス語を使う人々のためのチャンネルです。

Debian 専用のチャンネルが他の IRC ネットワーク上にもあります。特に freenode IRC ネットワークは、2006 年 6 月 4 日まで irc.debian.org のエイリアスでした。

freenode でクローク担当に手助けしてもらうには、Jörg Jaspert <joerg@debian.org> さんに対して、利用する nick (ニックネーム) を書いて GPG 署名したメールを送ります。メールの Subject: ヘッダのどこかに cloak の文字を入れてください。nick は登録をする必要があります:ニックネームの設定の仕方を書いたページを参照下さい。メールは Debian keyring にある鍵でサインされている必要があります。クローク担当についての詳細は Freenode のドキュメント を参照してください。

4.3. ドキュメント化

このドキュメントは Debian 開発者にとって有用な情報をたくさん含んでいますが、全てを含めることは出来ていません。他の有用なドキュメントが開発者のコーナーからリンクされています。時間を取ってリンクを全部眺めれば、より多くの事柄を学べるでしょう。

4.4. Debian のマシン群

Debian ではサーバとして動いている複数のコンピュータがあり、この多くは Debian プロジェクトにおいて重要な役割を果たしています。マシンの大半は移植作業に利用されており、全てインターネットに常時接続されています。

マシンのうち幾つかは、Debian マシン利用ポリシーで定められたルールに従う限り、個々の開発者の利用が可能となっています。

とにかく、これらのマシンをあなたが Debian 関連の目的に合うと思ったことに利用できます。システム管理者には丁寧に接し、システム管理者からの許可を最初に得ることなく、非常に大量のディスク容量/ネットワーク帯域/CPU を消費しないようにしてください。大抵これらのマシンはボランティアによって運用されています。

Debian で利用しているパスワードと Debian のマシンにインストールしてある SSH 鍵を保護することに注意してください。ログインやアップロードの際にパスワードをインターネット越しに平文で送るような Telnet や FTP や POP などの利用方法は避けてください。

あなたが管理者でも無い限り、Debian サーバ上には Debian に関連しないものを一切置かないようにしてください。

Debian のマシン一覧は http://db.debian.org/machines.cgi で確認可能です。このウェブページはマシン名、管理者の連絡先、誰がログイン可能か、SSH 鍵などの情報を含んでいます。

Debian サーバでの作業について問題があり、システム管理者らに知らせる必要があると考えた場合は、https://rt.debian.org/ にあるリクエストトラッカーの DSA キューで公開されている問題のリストを確認できます ("debian" ユーザと master.debian.org:~debian/misc/rt-password にあるパスワードでログインできます)。新たな問題を報告するには、単に にメールを送ってください。"Debian RT" をサブジェクトのどこかに入れるのを忘れずに。

システム管理に関連しない、特定のサービスについて問題がある場合 (アーカイブからパッケージを削除する、ウェブサイトの改善提案など) は、大抵の場合「擬似パッケージ」に対してバグを報告することになります。どうやってバグ報告をするかについては 「バグ報告」 を参照してください。

中心となっているサーバのうち幾つかは利用が制限されていますが、そこにある情報は他のサーバへミラーされています。

4.4.1. バグ報告サーバ

bugs.debian.org がバグ報告システム (BTS) の中心となっています。

Debian のバグについて定量的な分析や処理をするような計画がある場合、ここで行ってください。ですが、不要な作業の重複や処理時間の浪費を減らすため、何であれ実装する前に であなたの計画を説明してください。

4.4.2. ftp-master サーバ

ftp-master.debian.org サーバは、Debian アーカイブのコピーの中心位置を占めています。通常、ftp.upload.debian.org へアップロードされたパッケージは最終的にはこのサーバにあります。「パッケージをアップロードする」 を参照してください。

このサーバの利用は制限されています。ミラーが ries.debian.org 上で利用可能です。

Debian FTP アーカイブについて問題がある場合、通常 ftp.debian.org 擬似パッケージに対するバグ報告を行うか、 へメールをする必要がありますが、「パッケージの移動、削除、リネーム、放棄、引き取り、再導入」にある手順も参照してください。

4.4.3. www-master サーバ

メインの web サーバが www-master.debian.org です。公式 web ページを持ち、新たな参加者に対する Debian の顔となっています。

Debian のウェブサーバについて問題を見つけた場合、大抵の場合は擬似パッケージ www.debian.org に対してバグを報告する必要があります。誰か他の人が既にバグ追跡システムに問題を報告していないかどうかチェックするのを忘れないようにしてください。

4.4.4. people ウェブサーバ

people.debian.org は、開発者個人の何か Debian に関連するウェブページのために使われているサーバです。

ウェブに置きたい何か Debian 特有の情報を持っている場合、people.debian.org 上のホームディレクトリの public_html 以下にデータを置くことでこれが可能となっています。これには http://people.debian.org/~your-user-id/ という URL でアクセス可能です。

他のホストではバックアップされないのに対して、ここではバックアップされるので、これを使うのは特定の位置づけのものだけにするべきです。

大抵の場合、他のホストを使う唯一の理由はアメリカの輸出制限に抵触する素材を公開する必要がある時です。その様な場合はアメリカ国外に位置する他のサーバのどれかを使えます。

何か質問がある場合は、 にメールして下さい。

4.4.5. VCS (バージョン管理システム) サーバ

あなたが行っている Debian に関連する作業にバージョン管理システムが必要であれば、Alioth にホストされている既存のリポジトリを使うことも新しいプロジェクトを作って、それにあなたが選んだ VCS のリポジトリを要求することも可能です。Alioth は CVS (cvs.alioth.debian.org/cvs.debian.org)、Subversion (svn.debian.org)、Arch (tla/baz、共に arch.debian.org 上)、Bazaar (bzr.debian.org)、Darcs (darcs.debian.org)、Mercurial (hg.debian.org) そして Git (git.debian.org)をサポートしています。パッケージを VCS リポジトリ上でメンテナンスする予定であれば、Alioth で提供されているサービスについての詳細は 「Debian での FusionForge の導入例: Alioth」 を参照してください。

4.4.6. 複数のディストリビューション利用のために chroot を使う

幾つかのマシン上では、異なったディストリビューション用の chroot が利用可能です。以下の様にして使うことが出来ます:

vore$ dchroot unstable
Executing shell in chroot: /org/vore.debian.org/chroots/user/unstable

全ての chroot 環境内で、一般ユーザの home ディレクトリが利用可能になっています。どの chroot が利用可能かについては http://db.debian.org/machines.cgi にて確認ができます。

4.5. 開発者データベース

https://db.debian.org/ にある開発者データベースは、Debian 開発者のアトリビュートを操作する LDAP ディレクトリです。このリソースはDebian 開発者リストの検索に使えます。この情報の一部は Debian サーバの finger サービスを通じても利用可能になっています。finger yourlogin@db.debian.org として何が返ってくるかを確認してみてください。

開発者らは、以下に挙げるような自身に関する様々な情報を変更するためにデータベースにログインができます。

  • debian.org アドレス宛のメールを転送するアドレス

  • debian-private の購読

  • 休暇中かどうか

  • 住所、国名、Debian 開発者世界地図で使われている住んでいる地域の緯度経度、電話・ファックス番号、IRC でのニックネーム、そしてウェブページのアドレスなどの個人情報

  • Debian プロジェクトのマシン上でのパスワードと優先的に指定するシェル

当然ですが、ほとんどの情報は外部からはアクセス可能にはなっていません。より詳細な情報については、http://db.debian.org/doc-general.html で参照できるオンラインドキュメントを読んでください。

開発者は公式 Debian マシンへの認証に使われる SSH 鍵を登録することもできますし、新たな *.debian.net の DNS エントリの追加すら可能です。これらの機能は http://db.debian.org/doc-mail.html に記述されています。

4.6. Debian アーカイブ

Debian ディストリビューションは大量のパッケージ (現在約 15000 個) と幾つかの追加ファイル (ドキュメントやインストール用ディスクイメージなど) から成り立っています。

以下が完全な Debian アーカイブのディレクトリツリーの例です:

dists/stable/main/
dists/stable/main/binary-amd64/
dists/stable/main/binary-armel/
dists/stable/main/binary-i386/
     ...
dists/stable/main/source/
     ...
dists/stable/main/disks-amd64/
dists/stable/main/disks-armel/
dists/stable/main/disks-i386/
     ...

dists/stable/contrib/
dists/stable/contrib/binary-amd64/
dists/stable/contrib/binary-armel/
dists/stable/contrib/binary-i386/
     ...
dists/stable/contrib/source/

dists/stable/non-free/
dists/stable/non-free/binary-amd64/
dists/stable/non-free/binary-armel/
dists/stable/non-free/binary-i386/
     ...
dists/stable/non-free/source/

dists/testing/
dists/testing/main/
     ...
dists/testing/contrib/
     ...
dists/testing/non-free/
     ...

dists/unstable
dists/unstable/main/
     ...
dists/unstable/contrib/
     ...
dists/unstable/non-free/
     ...

pool/
pool/main/a/
pool/main/a/apt/
     ...
pool/main/b/
pool/main/b/bash/
     ...
pool/main/liba/
pool/main/liba/libalias-perl/
     ...
pool/main/m/
pool/main/m/mailx/
     ...
pool/non-free/f/
pool/non-free/f/firmware-nonfree/
     ...

見て分かるように、一番上のディレクトリは dists/pool/ という 2 つのディレクトリを含んでいます。後者の “pool” はパッケージが実際に置かれており、アーカイブのメンテナンスデータベースと関連するプログラムによって利用されます。前者にはstabletesting、そして unstable というディストリビューションが含まれます。ディストリビューションサブディレクトリ中の Packages および Sources ファイルは pool/ ディレクトリ中のファイルを参照しています。以下の各ディストリビューションのディレクトリツリーは全く同じ形式になっています。以下で stable について述べていることは unstabletesting ディストリビューションにも同様に当てはまります。

dists/stable は、maincontribnon-free という名前の 3 つのディレクトリを含んでいます。

それぞれ、source パッケージ (source) のディレクトリとサポートしている各アーキテクチャ (binary-i386binary-amd64 など) のディレクトリがあります。

main は特定のアーキテクチャ (disks-i386disks-amd64 など)上で Debian ディストリビューションをインストールする際に必要となるディスクイメージと主要なドキュメントの基本部分が入っている追加ディレクトリを含んでいます。

4.6.1. セクション

Debian アーカイブの main セクションは公式な Debian ディストリビューションを構成するものです。main セクションが公式なのは、我々のガイドライン全てに合致するものであるからです。他の 2 つのセクションはそうではなく、合致は異なる程度となっています…つまり、Debian の公式な一部ではありません

main セクションにある全てのパッケージは、Debian フリーソフトウェアガイドライン (DFSG) 及び Debian ポリシーマニュアルに記載されている他のポリシーの要求事項に完全に適合していなければなりません。DFSG は我々の定義する「フリーソフトウェア」です。詳細は Debian ポリシーマニュアルを確認してください。

contrib セクションにあるパッケージは DFSG に適合している必要がありますが、他の要求事項を満たせてはいないことでしょう。例えば、non-free パッケージに依存している、などです。

DFSG を満たさないパッケージは non-free セクションに配置されます。これらのパッケージは Debian ディストリビューションの一部としては考えられてはいませんが、我々はこれらを利用できるようにしており、non-free ソフトウェアのパッケージについて (バグ追跡システムやメーリングリストなどの) インフラストラクチャを提供しています。

Debian ポリシーマニュアル は 3 つのセクションについてより正確な定義を含んでいます。上記の説明はほんの触りに過ぎません。

アーカイブの最上位階層で 3 つのセクションに別れていることは、インターネット上の FTP サーバ経由であれ、CD-ROM であれ、Debian を配布したいと考える人にとって大事なことです…その様な人は main セクションと contrib セクションのみを配布することで、法的なリスクを回避できます。例えば、non-free セクションにあるパッケージのいくつかは商的な配布を許可していません。

その一方で、CD-ROMベンダは non-free 内のパッケージ群の個々のパッケージライセンスを簡単に確認でき、問題が無ければその多くを CD-ROM に含めることが出来ます。(これはベンダによって大いに異なるので、この作業は Debian 開発者にはできません)。

セクションという用語は、利用可能なパッケージの構成や参照を簡単にしているカテゴリを指すことにも使われている点に注意ください。例えば、adminnetutils などです。昔々、これらのセクション (むしろサブセクション) はDebian アーカイブ内のサブディレクトリとして存在していました。最近では、これらはパッケージのセクションヘッダにのみ存在しています。

4.6.2. アーキテクチャ

はじめのうちは、Linux カーネルは Intel i386 (またはそれより新しい) プラットフォーム用のみが利用可能で、Debian も同様でした。しかし、Linux は日に日に広まり、カーネルも他のアーキテクチャへと移植され、そして Debian はそれらのサポートを始めました。そして、沢山のハードウェアをサポートするだけでは飽き足らず、Debian は hurdkfreebsd のような他の Unix カーネルをベースにした移植版を作成することを決めました。

Debian GNU/Linux 1.3 was only available as i386. Debian 2.0 shipped for i386 and m68k architectures. Debian 2.1 shipped for the i386, m68k, alpha, and sparc architectures. Since then Debian has grown hugely. Debian 6 supports a total of nine Linux architectures (amd64, armel, i386, ia64, mips, mipsel, powerpc, s390, sparc) and two kFreeBSD architectures (kfreebsd-i386 and kfreebsd-amd64).

特定の移植版についての開発者/ユーザへの情報は Debian 移植版のウェブページで入手可能です。

4.6.3. パッケージ

Debian パッケージには2種類あります。ソースパッケージとバイナリパッケージです。

フォーマットに応じて、ソースパッケージは必須の .dsc ファイルに加え、一つあるいはそれ以上のファイルから成り立ちます:

  • フォーマット ”1.0”では、.tar.gz ファイルか、.orig.tar.gz ファイルと .diff.gz ファイルの二つを持っています。

  • フォーマット“3.0 (quilt)”では、必須となる開発元の tarball である .orig.tar.{gz,bz2,xz}、それからオプションで、開発元の追加 tarball である .orig-component.tar.{gz,bz2,xz} をいくつか、そして必須の debian tarball、debian.tar.{gz,bz2,xz} です。

  • フォーマット“3.0 (native)”では、単一の .tar.{gz,bz2,xz} tarball のみを持っています。

パッケージが特に Debian 用に作られていて Debian 以外で利用されていない場合は、プログラムのソースを含んだ単純な 1 つの .tar.{gz,bz2,xz} ファイルがあるだけで、“native”ソースパッケージと呼ばれます。パッケージが他でも配布されている場合は、.orig.tar.{gz,bz2,xz}upstream ソースコードと呼ばれるものを保持しています (訳注: upstream = 開発元)。upstream ソースコードupstream メンテナ (大抵の場合はソフトウェアの作者) によって配布されているソースコードです。この場合、.diff.gzdebian.tar.{gz,bz2,xz} は、Debian パッケージメンテナによって加えられた変更を含んでいます。

.dsc ファイルはソースパッケージ中のすべてのファイルをチェックサム (md5sums) と共にリストしたものと、パッケージ関連の追加情報 (メンテナ、バージョン、etc) を含んでいます。

4.6.4. ディストリビューション

前章で説明したディレクトリシステムは、それ自体がディストリビューションディレクトリ内に含まれています。それぞれのディストリビューションは、実際には Debian アーカイブ自体の最上位階層の pool ディレクトリに含まれています。

簡単にまとめると、Debian アーカイブは FTP サーバのルートディレクトリを持っています。例えば、ミラーサイトでいうと ftp.us.debian.org では Debian アーカイブそのものは /debian に含まれており、これは共通した配置となっています (他には /pub/debian があります)。

ディストリビューションは Debian ソースパッケージとバイナリパッケージと、これに対応した SourcesPackages のインデックスファイル (これら全てのパッケージのヘッダ情報を含む) から構成されています。前者は pool/ ディレクトリに、そして後者はアーカイブの dists/ ディレクトリに含まれています (後方互換性のため)。

4.6.4.1. 安定版 (stable)、テスト版 (testing)、不安定版 (unstable)

常に 安定版 (stable) (dists/stable に属します)、テスト晩 (testing) (dists/testing に属します)、不安定版 (unstable) (dists/unstable に属します) と呼ばれるディストリビューションが存在しています。これは Debian プロジェクトでの開発プロセスを反映しています。

活発な開発が不安定版 (unstable) ディストリビューションで行われています (これが、何故このディストリビューションが開発ディストリビューションと呼ばれることがあるかという理由です)。全ての Debian 開発者は、このディストリビューション内の自分のパッケージを何時でも更新できます。つまり、このディストリビューションの内容は日々変化しているのです。このディストリビューションの全てが正しく動作するかを保証することについては特別な努力は払われていないので、時には文字通り不安定 (unstable) となります。

テスト版 (testing) ディストリビューションは、パッケージが特定の判定規準を満たした際に不安定版から自動的に移動されることで生成されています。この判定規準はテスト版に含まれるパッケージとして十分な品質であることを保証する必要があります。テスト版への更新は、新しいパッケージがインストールされた後、毎日 2 回実施されています。「テスト版ディストリビューション」 を参照してください。

一定の開発期間後、リリースマネージャが適当であると決定すると、テスト版 (testing) ディストリビューションはフリーズされます。これは、不安定版 (unstable) からテスト版 (testing) へのパッケージ移動をどのように行うかのポリシーがきつくなることを意味しています。バグが多すぎるパッケージは削除されます。バグ修正以外の変更がテスト版 (testing) に入ることは許可されません。いくらかの時間経過後、進行状況に応じてテスト版 (testing) ディストリビューションはより一層フリーズされます。テスト版ディストリビューションの取扱い詳細については debian-devel-announce にてリリースチームが発表します。リリースチームが満足する程度に残っていた問題が修正された後、ディストリビューションがリリースされます。リリースは、テスト版 (testing)安定版 (stable) へとリネームされる事を意味しており、テスト版 (testing) 用の新しいコピーが作成され、以前の安定版 (stable)旧安定版 (oldstable) にリネームされ、最終的にアーカイブされるまで存在しています。アーカイブ作業では、コンテンツは archive.debian.org へと移動されます。

この開発サイクルは、不安定版 (unstable) ディストリビューションが、一定期間テスト版 (testing)を過ごした後で安定版 (stable)になる仮定に基づいています。一旦ディストリビューションが安定したと考えられたとしても、必然的にいくつかのバグは残っています — これが安定版ディストリビューションが時折更新されている理由です。しかし、これらの更新はとても注意深くテストされており、新たなバグを招き入れるリスクを避けるためにそれぞれ個々にアーカイブに収録されるようになっています。安定版 (stable) への追加提案は、proposed-updates ディレクトリにて参照可能です。proposed-updates にある合格したこれらのパッケージは、定期的にまとめて安定版ディストリビューションに移動され、安定版ディストリビューションのリビジョンレベルが 1 つ増えることになります (例: ‘6.0’ が ‘6.0.1’ に、‘5.0’ が ‘5.0.8’ に、以下同様)。詳細に付いては、安定版 (stable) ディストリビューションへのアップロードを参照してください。

不安定版 (unstable)での開発はフリーズ期間中も続けられていることに注意してください。不安定版 (unstable) ディストリビューションはテスト版 (testing) とは平行した状態でありつづけているからです。

4.6.4.2. テスト版ディストリビューションについてのさらなる情報

パッケージは通常、不安定版 (unstable) におけるテスト版への移行基準を満たした後でテスト版 (testing) ディストリビューションへとインストールされます。

より詳細については、テスト版ディストリビューションについての情報を参照してください。

4.6.4.3. 試験版 (experimental)

試験版 (experimental) は特殊なディストリビューションです。これは、`安定版' や `不安定版' と同じ意味での完全なディストリビューションではありません。その代わり、ソフトウェアがシステムを破壊する可能性がある、あるいは不安定版ディストリビューションに導入することですら不安定過ぎる (だが、それにもかかわらず、パッケージにする理由はある) ものであるような、とても実験的な要素を含むソフトウェアの一時的な置き場であることを意味しています。試験版 (experimental) からパッケージをダウンロードしてインストールするユーザは、十分に注意を受けているのを期待されています。要するに、試験版 (experimental) ディストリビューションを利用すると、どのようになるかは全くわからないということです。

以下が、試験版 (experimental) 用の sources.list(5)です:

deb http://ftp.xy.debian.org/debian/ experimental main
deb-src http://ftp.xy.debian.org/debian/ experimental main

ソフトウェアがシステムに多大なダメージを与える可能性がある場合、試験版 (experimental) へ配置する方が良いでしょう。例えば、実験的な圧縮ファイルシステムは恐らく試験版 (experimental) に行くことになるでしょう。

パッケージの新しい上流バージョンが新しい機能を導入するが多くの古い機能を壊してしまう場合であれば、アップロードしないでおくか試験版 (experimental) へアップロードするかしましょう。新しいバージョン、ベータ版などで、利用する設定が完全に変わっているソフトウェアは、メンテナの配慮に従って試験版 (experimental) へ入れることができます。もしも非互換性や複雑なアップグレード対応について作業している場合などは、試験版 (experimental) をステージングエリアとして利用することができるのです。その結果、テストユーザは早期に新しいバージョンの利用が可能になります。

試験版 (experimental) のソフトウェアは不安定版 (unstable) へ説明文に幾つかの警告を加えた上で入れることも可能ではありますが、お勧めはできません。それは、不安定版 (unstable) のパッケージはテスト版 (testing) へ移行し、そして安定版 (stable) になることが期待されているからです。試験版 (experimental) を使うのをためらうべきではありません。何故なら ftpmaster には何の苦痛も与えませんし、試験版 (experimental) のパッケージは一旦不安定版 (unstable) により大きなバージョン番号でアップロードされると定期的に削除されるからです。

システムにダメージを与えないような新しいソフトウェアは直接不安定版 (unstable) へ入れることが可能です。

試験版 (experimental) の代わりとなる方法は、people.debian.org 上の個人的な web ページを使うことです。

4.6.5. リリースのコードネーム

Every released Debian distribution has a code name: Debian 1.1 is called buzz; Debian 1.2, rex; Debian 1.3, bo; Debian 2.0, hamm; Debian 2.1, slink; Debian 2.2, potato; Debian 3.0, woody; Debian 3.1, sarge; Debian 4.0, etch; Debian 5.0, lenny; Debian 6.0, squeeze; Debian 7.0, wheezy; and the next release will be called jessie. There is also a ``pseudo-distribution'', called sid, which is the current unstable distribution; since packages are moved from unstable to testing as they approach stability, sid itself is never released. As well as the usual contents of a Debian distribution, sid contains packages for architectures which are not yet officially supported or released by Debian. These architectures are planned to be integrated into the mainstream distribution at some future date.

Debian はオープンな開発体制 (つまり、誰もが開発について参加/追いかけが可能) となっており、不安定版 (unstable) および テスト版 (testing) ディストリビューションすら Debian の FTP および HTTP サーバネットワークを通じてインターネットへ提供されています。従って、リリース候補版を含むディレクトリをテスト版 (testing) と呼んだ場合、このバージョンがリリースされる際に安定版 (stable) へとリネームする必要があるということを意味しており、すべての FTP ミラーがディストリビューションすべて (とても巨大です) を再回収することになります。

一方、最初からディストリビューションディレクトリを Debian-x.y と呼んでいた場合、皆 Debian リリース x.y が利用可能になっていると考えるでしょう。(これは過去にあったことで、CD-ROM ベンダが Debian 1.0 の CD-ROM を pre-1.0 開発版を元に作成したことによります。これが。何故最初の公式 Debian のリリース版が 1.0 ではなく 1.1 であったかという理由です)。

従って、アーカイブ内のディストリビューションディレクトリの名前はリリースの状態ではなくコードネームで決定されます (例えば `squeeze' など)。これらの名称は開発期間中とリリース後も同じものであり続けます。そして、簡単に変更可能なシンボリックリンクによって、現在の安定版リリースディストリビューションを示すことになります。これが、stabletestingunstable へのシンボリックリンクがそれぞれ相応しいリリースディレクトリを指しているのに対して、実際のディストリビューションディレクトリではコードネームを使っている理由です。

4.7. Debian ミラーサーバ

各種ダウンロードアーカイブサイトおよびウェブサイトは、中央サーバを巨大なトラフィックから守るために複数ミラーが利用可能となっています。実際のところ、中央サーバのいくつかは公開アクセスが出来るようにはなっていません - 代わりに一次ミラーが負荷を捌いています。このようにして、ユーザは常にミラーにアクセスして利用可能になっており、Debian を多くのサーバやネットワーク越しに配布するのに必要な帯域が楽になり、ユーザが一次配布元に集中しすぎてサイトがダウンしてしまうのをおおよそ避けられるようになります。一次配布ミラーは内部サイトからのトリガーによって更新されるので、可能な限り最新になっている (我々はこれをプッシュミラーと呼んでいます)。

利用可能な公開 FTP/HTTP サーバのリストを含む、Debian ミラーサーバについての全ての情報が http://www.debian.org/mirror/ から入手可能です。この役立つページには、内部的なものであれ公開されるものであれ、自分のミラーを設定することに興味を持った場合に役立つ情報とツールも含まれています。

注意してほしいのは、ミラーは大抵 Debian の支援に興味を抱いてくれた第三者によって運用されていることです。そのため、開発者は通常これらのマシン上にはアカウントを持ってはいません。

4.8. Incoming システム

Incoming システムは、更新されたパッケージを集めて Debian アーカイブにインストールする役割を果たしています。これは ftp-master.debian.org 上にインストールされたディレクトリとスクリプトの集合体です。

全てのメンテナによってアップロードされたパッケージは UploadQueue というディレクトリに置かれます。このディレクトリは、毎分 queued と呼ばれるデーモンによってスキャンされ、*.command ファイルが実行されて、そのまま正しく署名された *.changes ファイルが対応するファイルと共に unchecked ディレクトリに移動されます。このディレクトリは ftp-master の様に制限されており、ほとんどの開発者には見えるようにはなっていません。ディレクトリはアップロードされたパッケージと暗号署名の完全性を照合する dak process-upload スクリプトによって15分毎にスキャンされます。パッケージがインストール可能であると判断されると、done ディレクトリに移動されます。これがパッケージの初アップロードの場合 (あるいは新たなバイナリパッケージを含んでいる場合)、ftpmaster による許可を待つ場所である new ディレクトリに移動されます。パッケージが ftpmaster によって手動でインストールされるファイルを含む場合は byhand ディレクトリ に移動します。それ以外の場合は、エラーが検出されるとパッケージは拒否されて reject ディレクトリへと移動されます。

パッケージが受け入れられると、システムは確認のメールをメンテナに送り、アップロードの際に修正済みとされたバグをクローズし、auto-builder がパッケージのリコンパイルを始めます。Debian アーカイブに実際にインストールされるまで、パッケージはすぐに http://incoming.debian.org/ にてアクセス可能になります。この作業は 1 日に 4 回行われます (様々な経緯から `dinstall run' とも呼ばれています)。そしてパッケージは incoming から削除され、他のパッケージ全てと共に pool にインストールされます。他のすべての更新 (例えば Packages インデックスファイルや Sources インデックスファイル) が作成されると、一次ミラー全てを更新する特別なスクリプトが呼び出されます。

The archive maintenance software will also send the OpenPGP/GnuPG signed .changes file that you uploaded to the appropriate mailing lists. If a package is released with the Distribution set to stable, the announcement is sent to . If a package is released with Distribution set to unstable or experimental, the announcement will be posted to or instead.

ftp-master は利用が制限されているサーバなので、インストールされたもののコピーは ries.debian.org 上で全ての開発者が利用できるようになっています。

4.9. パッケージ情報

4.9.1. ウェブ上から

パッケージはそれぞれ複数の目的別のウェブページを持っています。http://packages.debian.org/package-name は各ディストリビューション中でそれぞれ利用可能なパッケージバージョンを表示します。バージョン毎のリンク先のページはパッケージの説明、依存関係、ダウンロードへのリンクを含んだ情報を提供しています。

バグ追跡システムは個々のパッケージのバグを記録していきます。http://bugs.debian.org/package-name というような URL で与えたパッケージ名のバグを閲覧できます。

4.9.2. dak ls ユーティリティ

dak ls は dak ツールスイートの一部で、全ディストリビューションおよびアーキテクチャの中から利用可能なパッケージバージョンをリストアップします。dak ツールは ftp-master.debian.org 上と、ries.debian.org 上のミラーにて利用できます。パッケージ名に対して一つの引数を使います。実際に例を挙げた方が分かりやすいでしょう:

$ dak ls evince
evince | 0.1.5-2sarge1 |     oldstable | source, alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc
evince |    0.4.0-5 |     etch-m68k | source, m68k
evince |    0.4.0-5 |        stable | source, alpha, amd64, arm, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc
evince |   2.20.2-1 |       testing | source
evince | 2.20.2-1+b1 |       testing | alpha, amd64, arm, armel, hppa, i386, ia64, mips, mipsel, powerpc, s390, sparc
evince |   2.22.2-1 |      unstable | source, alpha, amd64, arm, armel, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc

この例では、不安定版 (unstable) でのバージョンは テスト版 (testing) のバージョンと違っており、テスト版のパッケージは全アーキテクチャについて、binary-only NMU されたパッケージになっています。それぞれのバージョンのパッケージは、全アーキテクチャ上で再コンパイルされています。

4.10. パッケージ追跡システム

パッケージ追跡システム (PTS) は、ソースパッケージの動きを追いかけるメールベースのツールです。これが意味する所は、PTS のパッケージに対して購読 (subscribe) を行うだけで、パッケージメンテナが受け取るメールとまったく同じものを受け取れるということです。

PTS から送られるメールは以下のキーワードリストのうち一つに分類されます。これによって、受け取りたいメールを選別できます。

デフォルトで受け取るもの:

bts

バグ報告とそれに続くディスカッション全て。

bts-control

バグ報告の状態変更について、 からのメール通知。

upload-source

アップロードされたソースパッケージが受理された際の dak からのメール通知。

katie-other

dak からの他の警告/エラーメール (セクション (section) や優先度 (priority) フィールドの相違の上書きなど)。

buildd

ビルド失敗の通知はビルドデーモンのネットワークによって送信されます。この通知には分析のためのビルドログへのポインタが含まれています。

default

自動ではない、パッケージの購読者にコンタクトしたい人によって PTS に送られるメール。これは、sourcepackage@packages.qa.debian.org にメールすることで可能になります。spam メールを防ぐため、このアドレスに送られるメッセージは全て空の値の X-PTS-Approved ヘッダを含む必要があります。

contact

*@packages.debian.org のメールエイリアスを通じてメンテナに送信されたメール。

summary

testing への移行や、DEHS での開発元の新しいバージョンの通知、パッケージが削除あるいは放棄 (orphaned) されたなどを含むパッケージの状態について、定期的なメールでのサマリ。

受け取るかどうかを決められる追加情報:

upload-binary

バイナリパッケージが受け入れられた際に katie から送られる通知メールです。言い換えると、あなたのパッケージがビルドデーモンや他のアーキテクチャについて移植者によってアップロードされた場合は、どの様に全アーキテクチャに対してリコンパイルされているかを追跡するためのメールを受け取れるということです。

cvs

パッケージが VCS リポジトリを持っていて、メンテナがコミット通知を PTS に転送するように設定している場合の VCS コミット通知です。歴史的な経緯から "cvs" という名前が使われていますが、大抵の場合は subversion や git のような他の VCS からの通知です。

ddtp

Debian Description 翻訳プロジェクトに投稿された descriptions の翻訳や debconf テンプレート。

derivatives

派生ディストリビューションでのパッケージに加えられた変更の情報 (例 Ubuntu)。

derivatives-bugs

派生ディストリビューションでのバグレポートやコメント (例 Ubuntu)。

4.10.1. PTS メールインターフェイス

PTS の購読管理は へ様々なコマンドを送信することで可能です。

subscribe <sourcepackage> [<email>]

email を対応するソースパッケージ sourcepackage への連絡先として登録します。二番目の引数が存在しない場合には送信者アドレスが使われます。sourcepackage が正しくないソースパッケージである場合は、警告メールが送付されます。正しいバイナリパッケージである場合には、PTS は対応するソースパッケージの購読者として登録します。

unsubscribe <sourcepackage> [<email>]

指定されたメールアドレス、あるいは二番目の引数が空の場合は送信者のアドレスを利用して、ソースパッケージ sourcepackage に対するそれまでの購読を取り消します。

unsubscribeall [<email>]

指定されたメールアドレス、あるいは二つ目の引数が空白の場合は送信者アドレスのすべての購読を停止します。

which [<email>]

送信者あるいは追加で指定したメールアドレスに対する全購読リストを確認する。

keyword [<email>]

キーワードは利用したいものを入れてください。キーワードの説明は、上記を確認してください。以下が簡単なサマリです:

  • bts: Debian バグ追跡システムからのメール

  • bts-control: へ送信される返信メール

  • summary: パッケージ状態の自動サマリメール

  • contact: *@packages.debian.org エイリアスアドレスを通じてメンテナに送られるメール

  • cvs: VCS へのコミット通知

  • ddtp: description や debconf テンプレートの翻訳

  • derivatives: 派生ディストリビューションによるパッケージ変更

  • derivatives-bugs: 派生ディストリビューションからのバグレポートやコメント

  • upload-source: 新たなソースパッケージが受け付けられたアナウンス

  • upload-binary: 新たなバイナリのみのアップロード (binary-only upload) のアナウンス (porting)

  • katie-other: ftpmaster からの他のメール (override disparity など。)

  • buildd: ビルドデーモンからのビルド失敗の通知

  • default: 他のすべてのメール (自動ではないもの)

keyword <sourcepackage> [<email>]

前の項目同様ですが、指定したソースパッケージについて、それぞれのソースパッケージに異なったキーワードをしたい場合に利用します。

keyword [<email>] {+|-|=} <list of keywords>

指定したキーワードで、メールが許可 (+) あるいは拒否 (-) に分類されます。許可するキーワードのリストを定義 (=) してください。これはユーザが許可したデフォルトのキーワードリストを変更します。

keywordall [<email>] {+|-|=} <list of keywords>

指定したキーワードで、メールが許可 (+) あるいは拒否 (-) に分類されます。許可するキーワードのリストを定義 (=) してください。これは現在購読しているユーザによって許可されているデフォルトのキーワードリストを変更します。

keyword <sourcepackage> [<email>] {+|-|=} <list of keywords>

上の項目と同じですが、指定したソースパッケージのキーワードリストを上書きします。

quit | thanks | --

コマンド処理を終了します。これ以下の全ての行は bot からは無視されます。

pts-subscribe コマンドラインユーティリティ (devscripts パッケージに含まれています) は、例えば non-maintainer アップロードが行われた後など、手動でパッケージの一時的な購読が行えます。

4.10.2. PTS からのメールを振り分ける

パッケージの購読を行うと、sourcepackage@packages.qa.debian.org へ送られるメールを受けとるようになります。このメールは (例えば procmail を使って) 別のメールボックスへとフィルタできるように特別なヘッダがされています。追加されるヘッダは X-LoopX-PTS-PackageX-PTS-KeywordX-Unsubscribe です。

以下は dpkg パッケージに対するソースアップロードについて付加されるヘッダの例です:

X-Loop: dpkg@packages.qa.debian.org
X-PTS-Package: dpkg
X-PTS-Keyword: upload-source
List-Unsubscribe: <mailto:pts@qa.debian.org?body=unsubscribe+dpkg>

4.10.3. PTS での VCS コミットを転送する

Debian パッケージのメンテナンスに公開 VCS リポジトリを使っている場合、PTS にコミット通知を転送することで、購読者 (や共同メンテナら) がパッケージの変更をすぐに知ることができます。

VCS リポジトリを設定してコミット通知を行うようにするのであれば、sourcepackage_cvs@packages.qa.debian.org にメールのコピーが送れるようにしなければいけません。cvs キーワードを許可した人だけがこれらの通知を受け取ります。メールは debian.org のマシンから送られる必要があり、それ以外の場合は X-PTS-Approved: 1 ヘッダを付け加える必要があるのに注意してください。

Subversion のリポジトリは、svnmailer の利用が推奨されています。どの様に行うかは http://wiki.debian.org/Alioth/PackagingProject を参照してください。

4.10.4. PTS ウェブインターフェイス

PTS は各ソースパッケージについての大量の情報をまとめたウェブインターフェイスを http://packages.qa.debian.org/ に持っています。その機能はたくさんの有用なリンク (BTS、QA の状態、連絡先情報、DDTS の翻訳状態、buildd のログ) や様々な所からの情報 (最近の changelog エントリ30個、testing の状態など…)を集めたものです。特定のソースパッケージについて知りたい場合に非常に有用なツールです。さらに PTS をメールを使って購読する簡単なフォームもあります。

特定のソースパッケージに関しては http://packages.qa.debian.org/sourcepackage のような URL で直接ウェブページに飛べます。

このウェブインターフェイスは、パッケージ開発のポータルとなるようにデザインされました: 自分のパッケージのページ上にカスタムしたコンテンツを付け加えられます。固定情報 (無期限に提示され続けるニュース項目) や通常のニュースを latest news section に追加できます。

固定ニュースは以下を表示するのに利用できます:

  • 複数人でのパッケージメンテナンスのため、Alioth でホストされている利用可能なプロジェクト

  • upstream のウェブサイトへのリンク

  • upstream のバグ追跡システムへのリンク

  • ソフトウェア専用 IRC チャンネルの存在

  • パッケージのメンテナンスについて、他の利用可能な有用なリソース

通常のニュースは以下のアナウンスに使われます:

  • テスト用にベータ版パッケージが準備できたこと

  • 来週に最終的なパッケージが期待されている

  • パッケージをスクラッチから再構築中

  • バックポート版が利用可能

  • メンテナが休暇中 (この情報を公開したい場合に表示)

  • NMU 進行中

  • 何かパッケージに重要な影響を与える事柄

両方共、ニュースは同様のやり方で生成します: へとメールを送るだけです。メールは X-PTS-Package メールヘッダや (BTS への報告のように) Package 擬似ヘッダで、度のパッケージに関連するのかをソースパッケージの名前で示す必要があります。X-PTS-Url メールヘッダや Url 擬似ヘッダ中に URL がある場合は、完全なニュースの代わりにその URL へのリンクとなります。

PTS 中のニュース項目の生成に使われる正しいメールの例を幾つか挙げます。最初の1つ目は Static information section 中の debian-cd の viewsvn インターフェイスへのリンクを付け加えるものです:

From: Raphael Hertzog <hertzog@debian.org>
To: pts-static-news@qa.debian.org
Subject: Browse debian-cd SVN repository

Package: debian-cd
Url: http://svn.debian.org/viewsvn/debian-cd/trunk/

二つ目のはメーリングリストへアナウンスを送るもので、PTS にも送られるのでパッケージの PTS ウェブページで公開されます。誤って PTS に返信が送られるのを避けるために BCC 欄を利用していることに注意してください。

From: Raphael Hertzog <hertzog@debian.org>
To: debian-gtk-gnome@lists.debian.org
Bcc: pts-news@qa.debian.org
Subject: Galeon 2.0 backported for woody
X-PTS-Package: galeon

Hello gnomers!

I'm glad to announce that galeon has been backported for woody. You'll find
everything here:

PTS へニュースを付け加える前に、もう一度考え直して見てください。何故なら、後でこれを削除したり編集したりできないからです。可能なのは、以前のニュースを含んだ情報を廃止する新たなニュースを送信することだけです。

4.11. Developer's packages overview

QA (quality assurance、品質保証) ウェブポータルが http://qa.debian.org/developer.php から利用できます。これは、一人の開発者のすべてのパッケージの一覧表を表示します (集団で行っている場合は、共同メンテナとしてとして表示されます) 。この表は開発者のパッケージについてうまく要約された情報を与えてくれます: 重要度に応じたバグの数やそれぞれのディストリビューションで利用可能なバージョン番号、testing の状態やその他有用な情報源へのリンクなどを含んでいます。

open な状態のバグやどのパッケージに対して責任を持っているのかを忘れないため、定期的に自身のデータを見直すのは良い考えです。

4.12. Debian での FusionForge の導入例: Alioth

Alioth は FusionForge (SourceForge と GForge から派生したソフトウェア) に多少変更を加えたものを基にした Debian のサービスです。このソフトは開発者が容易に使えるバグトラッキングシステム、パッチ管理、プロジェクト/タスク管理、ファイルのアップロード、メーリングリスト、VCS リポジトリなどのツールを提供します。これらの機能全てはウェブインターフェイスから管理します。

Debian がバックアップする、あるいは Debian が中心となっているフリーソフトウェアプロジェクトに対して支援を提供、外部の開発者からの支援協力を Debian によって始められたプロジェクトを与えたり、Debian やその派生ディストリビューションのプロモーションが目的であるプロジェクトを支援する機能を提供するためにあります。多くの Debian チームに非常によく利用されており、あらゆる種類の VCS リポジトリを提供しています。

全ての Debian 開発者は自動的に Alioth のアカウントを持ちます。Debian 開発者は、パスワード復旧機能を使ってアカウントを有効にすることができます。他の開発者は Alioth 上でゲストアカウントを発行してもらえます。

詳細な情報については、以下のリンクを参照下さい:

4.13. Goodies for Debian Developers and Debian Maintainers

4.13.1. LWN の購読

Since October of 2002, HP has sponsored a subscription to LWN for all interested Debian Developers and Debian Maintainers. Details on how to get access to this benefit are in http://lists.debian.org/debian-devel-announce/2002/10/msg00018.html.

4.13.2. Valve games on Steam

Since January 2014, Valve has sponsored free subscribtions to all past and present Valve games on the Steam game distribution service for all interested Debian Developers and Debian Maintainers. Since Steam and Valve games are not Free Software, please avoid using your Debian development machines for using Steam and playing games from Steam. See http://lists.debian.org/debian-devel-announce/2014/01/msg00006.html.