[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ 下一页 ]


Debian新维护人员手册
第 6 章 - 构建软件包


现在我们已经为构建软件包做好了准备。


6.1 完整的rebuild

进入程序的主目录然后运行如下命令:

       dpkg-buildpackage -rfakeroot

这将为你做好每件事情。它会:

唯一需要你输入的是你的GPG密钥的密码,两次。

当完成所有这些,你会在上一层目录(~/gentoo/)中看到下面的文件:

.dsc和.changes文件中的长数字字符串是上面提到的文件的MD5校验码。下载了你 的文件的人可以用md5sum(1)来检查这些数字是否相 同,这样它们就可以知道文件是不是损坏了,或者是否被窜改了。


6.2 快速rebuild

对于一个很大的软件包,你可能不希望在你调整了debian/rules文 件的一些细节后都从头来构建它。为了测试,你可以只制作一个.deb文件而不重 新构造上游源代码,具体的作法如下所示:

       fakeroot debian/rules binary

一旦你完成了调整,记得要根据上面的内容从头以正确的顺序重新构建软件包。 如果你想上传一个以这种方式制作的.deb文件时可能会遇到错误。


6.3 debuild命令

使用debuild命令你可以让后面的构造软件包的过程自动完成。 参考debuild(1)

对debuild命令的地址可以通过修改/etc/devscripts.conf或 者~/.devscripts完成。我建议至少修改以下内容:

       DEBSIGN_KEYID="Your_GPG_keyID"
       DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -ICVS -I.svn"

使用这个配置,你就可以总是使用你的GPG密钥来构造软件包并避免不希望的部件。(这 对于发起人也是很好的。)譬如,使用一个用户帐号清空源码并重新构造软件包会非常 简单:

       debuild clean
       debuild

6.4 dpatch系统

简单地使用dh_makedpkg-buildpackage命令会创 建一个大的diff.gz文件,这个文件中会包含debian/目录中的文件和源码补丁。当日后要检查和理解每一处对源码的修改时, 这样的包会难以处理。这样总不是很好。 [1]

目前已经有多种管理多个补丁的方法用于Debian中。dpatch系统是 其中最一简单的一个,此外还有dbs、cdbs等。

一个用dpatch系统打包的软件包,其软件包的修改记录在debian/patches/目录下的一个文档清晰的补丁集中。debian/目录之外的源码树并没有被修改。如果你需要其它人来帮你上传软件包, 通过上述方法将你所做的修改清晰地分离出来并加上文档是非常重要的,它可以 方便别人检查。dpatch程序的用法在dpatch(1)中解释清楚了。

此后如果当某人(包括你自己)为你提供了一个源码补丁,在dpatch下修改源码包 是非常容易的:

此外dpatch还可以通过使用CPP宏让补丁对体系结构无关。


6.5 在上传时包含orig.tar.gz

当你第一次上传了软件包时,你需要包含原始的orig.tar.gz源码 包。如果包的Debian修正版本号不是-0-1,你在使 用dpkg-buildpackage命令需要加上“-sa”选项。换句话 说,“-sd”选项将会除去orig.tar.gz文件。


[ 上一页 ] [ 目录 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ 下一页 ]


Debian新维护人员手册

version 1.2.3, 2005年4月3日.

Josip Rodin joy-mg@debian.org
中文版翻译:李凌 lilingv@gmail.com
中文版翻译:郑原真 ycheng@slat.org