在Ubuntu下从源代码打包

 sudo apt-get install build-essential fakeroot  dh-make

tar zxvf wbuscanner-0.1.0.tar.gz
cd wbuscanner-0.1.0
dh_make -e [email protected] -f ../wbuscanner-0.1.0.tar.gz
然后输入S,再按确认
dpkg-buildpackage -rfakeroot

包的命名要符合LINUX的一般规则,文件明-版本号.tar.gz,解压后的文件夹的名字也要和这一样,不然不行的
比如emacs23-20080310.tar.gz解压后是emacs,就必须更改成emacs23-20080310

其中 -e [email protected]是指定维护者的EMAIL,-f是指定源代码的压缩包
输入dh_make ....后会头多个选项,我们一般选择S就可以了

关于包的说明的更改只需要找到debian目录下的control,其中最后2行就是让你填入包说明的

在根目录后有个debian目录,里面有些关于包的配置文件,有control,rules
control是关于包的说明,依赖等,而rules是编译规则,如果编译软件包需要特诉的参数或者其他的编译语句,就可以在这里更该,

比如打包emacs的时候,需要make bootstrap而不是make,这时候在rules的build-stamp中在
# Add here commands to compile the package.
    $(MAKE)
改成
    $(MAKE) bootstrap

同理,如果configure的时候需要指定些参数,就在config.status那段那里找到.configure 开头的配置语句,在里面加上你自己
指定的参数。

./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=/$${prefix}/share/man --infodir=/$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"

添加自己需要指定的参数 --with-xft --with-x

./configure --with-xft --with-x --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=/$${prefix}/share/man --infodir=/$${prefix}/share/info CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs"

更改后回到源代码根目录,dpkg-buildpackage -rfakeroot就可以了

你可能感兴趣的:(旧归档)