详细说明可以参照文档从源代码编译Debian包,这里只做简单的笔记。


编译一个Debian包的源代码,通常需要三个文件:.orig.tar.gz、.dsc、.diff.gz。

其中第一个文件通常是从源码开发者所提供的代码发布版本或源代码库中(如CVS或Subversion)取得的原始发布代码;第二个文件包含了一些编译过程和Debian包所需的一些信息,包括包名,版本号,生成deb包的名称(一个源码可能不只生成一个.deb的包,如gaim源码会生成gaim, gaim-dbg, gaim-dev, gaim-data几个.deb的包),作者/发布者,平台,编译环境依赖,冲突,包签名和Hash等信息;第三个文件为Debian为了编译.deb包而对源代码所作的修定,有时还可能包括对一些功能的改进或对Bug的修改等。最主要的,这个补丁会在源代码目录中增加一个包含了如何生成Debian发布包信息的目录,目录名称debian。

比如gaim的源代码就包括以下三个文件:

  • gaim_1.5.0+1.5.1cvs20051015.orig.tar.gz
  • gaim_1.5.0+1.5.1cvs20051015-5.dsc
  • gaim_1.5.0+1.5.1cvs20051015-5.diff.gz

编译deb包所需的环境,通常可以通过

apt-get install build-essential fakeroot debhelper
apt-get build-dep 准备通过编译生成deb的软件包名字
来完成准备。然后像下面这样完成编译过程(以编译gaim为例):
dpkg-source -x gaim_1.5.0+1.5.1cvs20051015-5.dsc
cd gaim-1.5.0+1.5.1cvs20051015
fakeroot dpkg-buildpackage
期间有可能报错,仔细观察错误提示,缺啥补啥(通常是一些依赖没有被满足)。然后就可以在执行这三个命令之前的所在目录找到编译好的deb包。

GlossyBlue theme adapted by David Gilbert
Powered by PmWiki