Product SiteDocumentation Site

5.3. 源软件包的结构

5.3.1. 格式

一个源代码软件包通常包括三个文件,.dsc.orig.tar.gz、与 .debian.tar.gz (或 .diff.gz)。它们允许从以编程语言撰写的程序源代码文件,创建二进制软件包 (如前所述的 .deb 文件)。
.dsc (Debian Source Control) 文件是包括 RFC 2822 标头 (如同 control 文件于 第 5.2.1 节 “描述: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-----
需要注意的是源码包也有依赖性(编译-依赖),和那些二进制包依赖完全不同,因为它们需要设置编译软件所需工具的选项后,再来构建二进制包。
.orig.tar.gz 文件包括原开发者提供的源代码。要求 Debian 的软件包维护者不要修改它,以便检查原来的文件与集成后的文件 (比较校验码就知道) 并且尊重其他著者的意愿。
.debian.tar.gz 包括 Debian 维护者做的所有修订,特别是添加至 debian 目录运行 Debian 软件包的指令。

5.3.2. Debian 中的使用

Debian 的基础是原始软件包。Debian 所有的软件包都从原始软件包而来,对软件包的修改也是针对原始软件包。运行软件包出了问题后,Debian 维护者修改原始软件包后,再编译为运行软件包。维护者的工作成果都在 Debian 的原始软件包内:您可轻易地回到原始软件包找出源头。
Debian 服务器收到新版软件包 (原始软件包或运行软件包) 时,原始软件包是最重要的。原始软件包被支持 Debian 的多种架构机器编译。开发者同时送出指定架构 (通常是 i386 或 amd64) 的多个运行软件包,其实一点都不重要,因为可以自动生成该等运行软件包。