详细说明可以参照文档从源代码编译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的软件包名字
apt-get build-dep 准备通过编译生成deb的软件包名字
dpkg-source -x gaim_1.5.0+1.5.1cvs20051015-5.dsc
cd gaim-1.5.0+1.5.1cvs20051015
fakeroot dpkg-buildpackage
cd gaim-1.5.0+1.5.1cvs20051015
fakeroot dpkg-buildpackage