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 ヘッダを含む短いテキストファイル (「説明: control ファイル」で述べた control ファイルと似ています) で、ソースパッケージを説明し、他のどのファイルがパッケージ一部であるかを表明しています。メンテナはこのファイルを署名することで、信頼性を保証しています。より詳しい情報は「パッケージ信頼性の確認」をご覧ください。

例5.1 .dsc ファイルの一例

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

Format: 3.0 (quilt)
Source: zim
Binary: zim
Architecture: all
Version: 0.48-1
Maintainer: Emfox Zhou <emfox@debian.org>
Uploaders: Raphaël Hertzog <hertzog@debian.org>
Homepage: http://zim-wiki.org
Standards-Version: 3.9.0
Vcs-Browser: http://svn.debian.org/wsvn/collab-maint/deb-maint/zim/trunk?op=log
Vcs-Svn: svn://svn.debian.org/collab-maint/deb-maint/zim/trunk
Build-Depends: debhelper (>= 7.4.12), python-support (>= 0.8), xdg-utils, python (>= 2.5), libgtk2.0-0 (>= 2.6), python-gtk2, python-xdg, python-simplejson | python (>= 2.6)
Checksums-Sha1: 
 bd84fa5104de5ed85a49723d26b350856de93217 966899 zim_0.48.orig.tar.gz
 352111ff372a20579664416c9abd4970839835b3 9615 zim_0.48-1.debian.tar.gz
Checksums-Sha256: 
 77d8df7dc89b233fdc3aab1a8ad959c6888881ae160770f50bf880a56e02f895 966899 zim_0.48.orig.tar.gz
 0fceab5d3b099075cd38c225fa4002d893c1cdf4bbcc51d1391a34248e1e1a22 9615 zim_0.48-1.debian.tar.gz
Files: 
 88cfc18c0c7339528d5f5f463647bb5f 966899 zim_0.48.orig.tar.gz
 608b6e74aa14252dfc6236ab184bdb0c 9615 zim_0.48-1.debian.tar.gz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Signed by Raphael Hertzog

iQEcBAEBCAAGBQJMSUAfAAoJEAOIHavrwpq5qjUIAKmM8p86GcHYTxMmKENoBUoW
UPi5R7DzrLMbFrUXKgXWLvEKQTXpmkJhh2aSWq2iY+5piBSHwMiITfaBTpdTRvzU
5nT/n9MlF8sJFESet/NgZaMPFDzWUbIy5aYbuG1TXmn/7XiDrBaQGiVqKkVLPrqc
yWhsotn3JNKIjbPDW/DjImYyKD5RZpXrbVjuIgDT1E6yxtNYwUyBlK0cx/GITNep
uV48hsT8cj0paqVXl5+P9Ww8XIE3clxNpE/45/tvKvkqGOeysc6OPAqsIw6HYFY9
0EnvMTfMpeQOA68ZqsNpUjomv5r/EGwdCbAWo5iJDsZzXQ1Feh6iSNrjv3yeRzg=
=qnbh
-----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 つ以上のバイナリパッケージを送信するという事実はそれほど重要ではありません。なぜなら、送信されたバイナリパッケージと同じアーキテクチャのマシンでもバイナリパッケージが生成されるからです。