第9章 パッケージをアップロードする

# 第9章 パッケージをアップロードする

最新の内容とより実用的な例でこの入門書を書き換えたものが Guide for Debian Maintainers として入手できます。この新しい入門書を第一次的な入門書として使ってください。

Debian now requires source-only uploads for normal upload. So this page is outdated.

あなたの新しいパッケージは徹底的にテストできたので、あなたはそれを共有すべく公開アーカイブにリリースしたいでしょう。

## 9.1. Debian アーカイブへアップロードする

正規デベロッパー[82]になると、パッケージを Debian アーカイブにアップロードできます。[83] 手動でもできますが、 dupload(1) や dput(1) 等の既存の自動化ツールを用いる方が楽です。ここでは dupload を使ってどうするかを説明します。[84]

まず dupload の設定ファイルを調整しなければいけません。 システム全体の設定ファイルである `/etc/dupload.conf` を編集するか、あるいはあなた専用の設定ファイルである `~/.dupload.conf` を使って変更したい項目だけをオーバーライドさせてもかまいません。

またそれぞれのオプションが持つ意味を理解するため dupload.conf(5) マニュアルページを読むことができます。

`$default_host` オプションはデフォルトで利用されるアップロードキューを指定します。`anonymous-ftp-master`がメインのアップロードキューですが、別のアップロードキューを利用したいこともあるでしょう。[85]

インターネットにつながった状態で、以下のようにすればあなたのパッケージをアップロード出来ます:

    $ dupload gentoo_0.9.12-1_i386.changes

dupload は各ファイルの SHA1/SHA256 チェックサムを計算し、 `.changes` ファイルの中の情報と照合します。 もしそれらが一致しない場合には、適正にアップロードされるように「完全な（再）ビルド」 の説明に従って最初から再ビルドをするよう警告します。

ftp://ftp.upload.debian.org/pub/UploadQueue/へのアップロードで問題があった場合には、GPG 署名した `*.commands` ファイルを ftp を用いてftpで手動アップロードすることで修正出来ます。 [86] 例えば、`hello.commands` を使います:

    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1
    Uploader: Foo Bar <Foo.Bar@example.org>
    Commands:
     rm hello_1.0-1_i386.deb
     mv hello_1.0-1.dsx hello_1.0-1.dsc
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1.4.10 (GNU/Linux)

    [...]
    -----END PGP SIGNATURE-----

## 9.2. アップロード用`orig.tar.gz`の内容

はじめてパッケージをアーカイブにアップロードする際は、オリジナルの`orig.tar.gz` ソースファイルを含めなければなりません。当該パッケージの Debian リビジョン番号が `1` でも `0` でも無い場合には、dpkg-buildpackage に `-sa` オプションを付けなければなりません。

dpkg-buildpackage コマンドの場合:

    $ dpkg-buildpackage -sa

debuildコマンドの場合:

    $ debuild -sa

debuildコマンドの場合:

    $ pdebuild --debbuildopts -sa

逆に、`-sd`オプションを付けると、オリジナルの`orig.tar.gz` ソースファイルを強制的に除外します。

## 9.3. スキップされたアップロード

アップロードをスキップすることで `debian/changelog` 中に複数の項目を作成した場合は、前回アップロード以来の全ての変更を含む適切な `*_.changes` ファイルを作成しなければいけません。 dpkg-buildpackage オプションの `-v` を、例えば ``1.2`` と言うバージョンに関して指定すると可能です。

dpkg-buildpackage コマンドの場合:

    $ dpkg-buildpackage -v1.2

debuildコマンドの場合:

    $ debuild -v1.2

debuildコマンドの場合:

    $ pdebuild --debbuildopts "-v1.2"

[82] 「Debianにおける社会ダイナミクス」を参照下さい。

[83] Debian アーカイブとほぼ同様に機能し、非-DD に対してアップロードエリアを提供する http://mentors.debian.net/ のような公開アーカイブがあります。http://wiki.debian.org/HowToSetupADebianRepository に列記されているツールを使い自分自身で同様のアーカイブを設定することも出来ます。だからこのセクションは非-DD にも有用です。

[84] `dput` パッケージは、より多くの機能があり `dupload` パッケージより人気が出てきています。それは、`/etc/dput` ファイルをグローバル設定に用い、 `~/.dput.cf` ファイルをユーザー毎の設定に用います。更にそれは、そのままUbuntu関連のサービスもサポートします。

[85] Debian Developer's Reference 5.6, "Uploading a package" を参照下さい。

[86] ftp://ftp.upload.debian.org/pub/UploadQueue/README を参照下さい。`dput` パッケージ中にある dcut コマンドをこれに代わる方法として用いることもできます。

第8章 パッケージの更新 |  | 付録A 上級パッケージング