Product SiteDocumentation Site

5.3. ソースパッケージの構造

5.3.1. フォーマット

ソースパッケージは通常 .dsc.orig.tar.gz.debian.tar.gz (または .diff.gz) の 3 つのファイルで構成されています。これらのファイルを使って、プログラミング言語で書かれたプログラムのソースコードファイルからバイナリパッケージ (上で説明した .deb ファイル) を作成します。
.dsc (Debian Source Control) ファイルは RFC 2822 ヘッダを含む短いテキストファイル (第 5.2.1 節「説明、control ファイル」で述べた control ファイルと似ています) で、ソースパッケージを説明し、他のどのファイルがパッケージ一部であるかを表明しています。メンテナはこのファイルを署名することで、信頼性を保証しています。より詳しい情報は第 6.5 節「パッケージ信頼性の確認」をご覧ください。

例 5.1 .dsc ファイルの一例

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 3.0 (quilt)
Source: zim
Binary: zim
Architecture: all
Version: 0.62-3
Maintainer: Emfox Zhou <emfox@debian.org>
Uploaders: Raphaël Hertzog <hertzog@debian.org>
Homepage: http://zim-wiki.org
Standards-Version: 3.9.6
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/zim.git
Vcs-Git: git://anonscm.debian.org/collab-maint/zim.git
Build-Depends: debhelper (>= 9), xdg-utils, python (>= 2.6.6-3~), libgtk2.0-0 (>= 2.6), python-gtk2, python-xdg
Package-List:
 zim deb x11 optional arch=all
Checksums-Sha1:
 ad8de170826682323c10195b65b9f1243fd75637 1772246 zim_0.62.orig.tar.gz
 a4f70d6f7fb404022c9cc4870a4e62ea3ca08388 14768 zim_0.62-3.debian.tar.xz
Checksums-Sha256:
 19d62aebd2c1a92d84d80720c6c1dcdb779c39a2120468fed01b7f252511bdc2 1772246 zim_0.62.orig.tar.gz
 fc2e827e83897d5e33f152f124802c46c3c01c5158b75a8275a27833f1f6f1de 14768 zim_0.62-3.debian.tar.xz
Files:
 43419efba07f7086168442e3d698287a 1772246 zim_0.62.orig.tar.gz
 725a69663a6c2961f07673ae541298e4 14768 zim_0.62-3.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Signed by Raphael Hertzog

iQEcBAEBCAAGBQJUR2jqAAoJEAOIHavrwpq5WFcH/RsdzCHc1oXXxHitU23hEqMj
T6ok29M1UFDJDowMXW75jQ1nT4WPUtvEGygkCHeoO/PvjEvB0sjU8GQlX+N9ddSB
aHfqfAYmVhADNGxrXQT5inZXUa8qGeeq2Sqf6YcWtsnuD56lDbvxkyf/XYopoIEl
oltfl05z/AI+vYsW482YrCz0fxNAKAvkyuPhDebYI8jnKWeAANoqmKpsNc/HYyvT
+ZiA5o57OiGdOKT6XGy3/FiF3dkHiRY8lXW7xdr1BbIgulwl9UmiUNwuxwOYbQO7
edtjiTJqOaFUA0x1zB/XGv5tHr1MjP8naT+kfVoVHTOox51CDbeu5D3DZY4imcY=
=Wtoa
-----END PGP SIGNATURE-----
ソースパッケージはまた依存関係 (Build-Depends) を持っていることに注意してください。依存関係の意味は、バイナリパッケージのそれとは全く異なり、このソフトウェアをコンパイルしてバイナリパッケージを作るのに必要なツールを表しています。
.orig.tar.gz ファイルはオリジナルの開発者が提供するソースコードを含むアーカイブです。Debian パッケージメンテナは、ファイルの出所と整合性を簡単に (チェックサムによる単純な比較で) 確認できるようにするために、さらに一部の作者からの希望を尊重するために、アーカイブを変更しないことを要求されました。
.debian.tar.gz には Debian メンテナが行ったすべての変更、特に Debian パッケージを作成する際に実行される命令を収めた debian ディレクトリの追加、が含まれています。

5.3.2. Debian 内の使い方

ソースパッケージは Debian のすべての基礎です。すべての Debian パッケージはソースパッケージから作られ、Debian パッケージに対する変更はソースパッケージを変更することで行われます。しかしながら、Debian メンテナはバイナリパッケージに対する活動の結果を理解しているため、ソースパッケージを使って作業を行っています。そんなわけで、彼らの労苦の成果は Debian から入手できるソースパッケージの中にあります。すなわち、簡単にソースパッケージに戻り、すべてをソースパッケージから生成することも可能です。
パッケージの新バージョン (ソースパッケージと 1 つ以上のバイナリパッケージ) が Debian サーバにアップロードされると、このソースパッケージが最も重要です。実際には、異なるアーキテクチャのマシンのネットワークがソースパッケージを使い、Debian がサポートするさまざまなアーキテクチャ上でコンパイルを行います。開発者がソースパッケージだけでなく、適当なアーキテクチャ (通常 i386 または amd64) 向けの 1 つ以上のバイナリパッケージを送信するという事実はそれほど重要ではありません。なぜなら、送信されたバイナリパッケージと同じアーキテクチャのマシンでもバイナリパッケージが生成されるからです。