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


Debian新维护人员手册
第 7 章 - 检查软件包中的错误


7.1 lintian软件包

在你的.changes文件上运行lintian(1);它们会检查出其中很多常见的错误。通常使用命令:

       lintian -i gentoo_0.9.12-1_i386.changes

当然,要用为你的软件包产生的.changes文件的文件名替换掉上面的。如果这个 命令的运行结果显示在软件包中有错误(以E:开始的行),清仔细阅读关于错误的 说明(以N:开始的行),纠正错误,然后根据前文完整的rebuild, 第 6.1 节所述 重新构建软件包。如果在输入的信息中有以W:开始的行,它们代表警告,那就要 调整软件包或者如果你确认这些警告是不是spurious的(让Lintianoverride它 们;请参考文档以获得更多的信息。)

你可以用debuild(1)命令,它会首先 用dpkg-buildpackage构建软件包,接着运 行lintian


7.2 mc命令

你可以用dpkg-deb(1)解压*.deb包中 的内容。你也可以用debc(1)列出生成的Debian包中 的内容。

这也可以用如mc(1)的文件管理器直接完成,使用它, 不仅可以浏览*.deb文件的内容,还可以浏览*.diff.gz*.tar.gz文件的内容。

请注意源码包和二进制包中没有用处的文件或零长度的文件。通常cruft都不能被 正确地清理;请调整你的rules文件来修复它们。

技巧:使用“zgrep ^+++ ../gentoo_0.9.12-1.diff.gz”命令可以得到 一系列对源文件进行的修改或增加。而“dpkg-deb -c gentoo_0.9.12-1_i386.deb”或“debc gentoo_0.9.12-1_i386.changes”会列出二进制包中的文件。


7.3 debdiff命令

你可以用debdiff(1)命令来比较两个Debian二进制软 件包中的文件列表。这对于核对是否有错误地放置或删除了文件和其它粗心大意 的修改是很有用的。你可以用“debdiff old-package.change new-package.change”检查一组*.deb文件。


7.4 interdiff命令

你可以用interdiff(1)命令比较两个diff.gz文件。这对于核对维护者在更新包时对于源码包是否有粗心大意 地修改是很有用的。运行“interdiff -z old-package.diff.gz new-package.diff.gz”。


7.5 debi命令

自己安装你的软件包,比如用root的身份使用debi(1)命令。尝试在其它的机器上而不只是你自己的机器上安装并运行你 的软件包,并仔细观察所有的在安装和运行时系统给出的错误信息。


7.6 pbuilder

对于净室(chroot)构造环境而言,要核对编译环境的依赖关系,pbuilder软件包是很有用的。使用它可以确保在auto-builder中为不 同的体系结构完全从源码完成编译,从而避免了很严重的FTBFS(无法从源码编 译)的bug,而这种bug经常会出现在RC(发布临界版)中。要了解Debian软件 包auto-builder的更多信息,请参考http://buildd.debian.org/

最简单地使用pbuilder包的方法是直接以root身份使 用pbuilder命令。例如,在包含了.orig.tar.gz.diff.gz.dsc的目录下使用下面的命令 可以构造一个软件包。

     root # pbuilder create # if second time, pbuilder update
     root # pbuilder build foo.dsc

新构造的软件包可以在/var/cache/pbuilder/result/中找到,而它们 的所有者都是root用户。

pdebuild命令让你可以以普通用户的身份使用pbuilder包的功能。从源码树的根中,当其父目录中有orig.tar.gz时,你可以输入下面的命令:

     $ sudo pbuilder create # if second time, sudo pbuilder update
     $ pdebuild

新构造的软件包会在/var/cache/pbuilder/result/中,而其所有者将 不再是root用户。 [2]

如果你希望增加新的apt源让pbuilder包,你可以设定OTHERMIRROR~/.pbuilderrc/etc/pbuilderrc且(对srage)可运行

     $ sudo pbuilder update --distribution sarge --override-config

使用--override-config则需要更新chroot环境中的apt源。

参考http://www.netfort.gr.jp/~dancer/software/pbuilder.htmlpdebuild(1)pbuilderrc(5)pbuilder(8)


[ 上一页 ] [ 目录 ] [ 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