关于打包,怎么处理源码不在当前目录?

编译打包和其他
回复
rikhtdss
帖子: 115
注册时间: 2006-09-08 18:57
联系:

关于打包,怎么处理源码不在当前目录?

#1

帖子 rikhtdss » 2015-03-24 15:47

我在打包一个软件,解压后,该软件的源码不在顶层目录 xxx-version下面,而在下级目录 xxx-version/src 里面,在当前目录下面还有另外一些目录,是一些编译里要用到的外围库。

我看了一个 README ,作者要求在 src 下面新建一个目录 build ,再 cd 到build 里面去编译。

实际的编译过程是:

mkdir -p src/build
cd src/build
../configure
make
make install

我刚学打包,看了一下 debian/rules。它实际上是个脚本,根据传进来的参数执行相应的 target。
debian/rules build 运行了 dh build,实际执行的命令为:

dh_testdir
dh_auto_configure
dh_auto_build
dh_auto_test
问题是怎么告诉 dh 命令,建一个 build 目录,然后到里面去打包?
并且怎么让 dh_auto_configure 知道,configure 脚本不在当前目录下,而在上一级目录里面?
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: 关于打包,怎么处理源码不在当前目录?

#2

帖子 astolia » 2015-03-24 18:59

有问题先查manpage
This is intended to work for about 90% of packages. If it doesn't work,
you're encouraged to skip using dh_auto_configure at all, and just run
./configure or its equivalent manually.
也就是说遇到特殊情况,绕过dh_auto_configure直接开干就行了

代码: 全选

override_dh_auto_configure:
	mkdir -p src/build
	cd src/build
	../configure
回复