源码生成deb包
2015-12-13 22:11
239 查看
方法一
源码包要求是使用 automake 进行编译管理的。
安装路径不能指定为 /usr/local 下的目录,否则生成 deb 包期间报错。
制作的工具是 dh-make ,如果没有安装,要先安装:sudo apt-get install dh-make
以 c-icap 为例:
# cd c-icap-0.2.2
# ./configure --enable-static --prefix=/opt/c-icap
# make dist
将会把源码打包为 c-icap-0.2.2.tar.gz
# mv c-icap-0.2.2.tar.gz ..
# dh_make -f ../c-icap-0.2.2.tar.gz
将会在本目录生成 debian 目录,里面是 deb 包的模板。
修改 debian 里的 rules 文件,在文件最后追加下列内容,文件末尾要以空行结束:
override_dh_auto_configure:
./configure --prefix=/opt/c-icap
--enable-static
意思是覆盖默认的 ./configure 行为。最后,生成 deb 安装包:
dpkg-buildpackage
deb 文件将被生成在父目录下。
方法二
生成 zlib 的 deb 安装包
由于 zlib 的源码包不支持 make dist 进行源码打包,所以步骤有所变更:
1. 生成模板:
# cd zlib-1.2.7
# dh_make -native
2. 修改 debian/rules 文件,覆盖默认的 ./configure 行为:
override_dh_auto_configure:
./configure --prefix=/opt/zlib
3. 生成 deb 安装包:
# dpkg-buildpackage
注意:为 squid 生成 deb 包时,需要安装 cppuint:
apt-get install libcppunit-dev
方法三
# apt-get install dh-make make
fakeroot
下载源代码xxx2.0.12.tar.gz
建立一个目录xxx
把xxx2.0.12.tar.gz移动到xxx目录中
解压,进入xxx2.0.12目录
# dh_make -e -f ../xxx.2.0.12.tar.gz # -e参数表示打包者的email#
dpkg-buildpackage -rfakeroot -uc -b # -b代表建立二进制包,-uc代表 unsigned
changes,
#fakeroot debian/rules binary在上一级目录就会生成xxx.2.0.12.deb
方法四
进入源代码目录xxx2.0.12
# ./configure
# make
# checkinstall
就在当前目录生成一个xxx2.0.12.deb包
注明:用该方法,目录格式要求是x.x.x
这样的版本格式,其中x为数字。
如果没有checkinstall命令,则 apt-get install checkinstall
源码包要求是使用 automake 进行编译管理的。
安装路径不能指定为 /usr/local 下的目录,否则生成 deb 包期间报错。
制作的工具是 dh-make ,如果没有安装,要先安装:sudo apt-get install dh-make
以 c-icap 为例:
# cd c-icap-0.2.2
# ./configure --enable-static --prefix=/opt/c-icap
# make dist
将会把源码打包为 c-icap-0.2.2.tar.gz
# mv c-icap-0.2.2.tar.gz ..
# dh_make -f ../c-icap-0.2.2.tar.gz
将会在本目录生成 debian 目录,里面是 deb 包的模板。
修改 debian 里的 rules 文件,在文件最后追加下列内容,文件末尾要以空行结束:
override_dh_auto_configure:
./configure --prefix=/opt/c-icap
--enable-static
意思是覆盖默认的 ./configure 行为。最后,生成 deb 安装包:
dpkg-buildpackage
deb 文件将被生成在父目录下。
方法二
生成 zlib 的 deb 安装包
由于 zlib 的源码包不支持 make dist 进行源码打包,所以步骤有所变更:
1. 生成模板:
# cd zlib-1.2.7
# dh_make -native
2. 修改 debian/rules 文件,覆盖默认的 ./configure 行为:
override_dh_auto_configure:
./configure --prefix=/opt/zlib
3. 生成 deb 安装包:
# dpkg-buildpackage
注意:为 squid 生成 deb 包时,需要安装 cppuint:
apt-get install libcppunit-dev
方法三
# apt-get install dh-make make
fakeroot
下载源代码xxx2.0.12.tar.gz
建立一个目录xxx
把xxx2.0.12.tar.gz移动到xxx目录中
解压,进入xxx2.0.12目录
# dh_make -e -f ../xxx.2.0.12.tar.gz # -e参数表示打包者的email#
dpkg-buildpackage -rfakeroot -uc -b # -b代表建立二进制包,-uc代表 unsigned
changes,
#fakeroot debian/rules binary在上一级目录就会生成xxx.2.0.12.deb
方法四
进入源代码目录xxx2.0.12
# ./configure
# make
# checkinstall
就在当前目录生成一个xxx2.0.12.deb包
注明:用该方法,目录格式要求是x.x.x
这样的版本格式,其中x为数字。
如果没有checkinstall命令,则 apt-get install checkinstall
相关文章推荐
- Python基础-元组小结
- 深入浅出JMS(二)--ActiveMQ简单介绍以及安装
- java设计模式(六)--适配器模式
- 顺序表的查找
- iOS开发57-Github关联到域名上
- Dijkstra算法 --- 单源最短路
- android中手机定位
- Git 提高命令的可读性
- 无插件Vim编程技巧
- C语言程序练习
- Dialog && PopupWindow
- [hdoj试题]Box of Bricks
- 第三个Sprint冲刺第七天
- 读《世界是数字的》④
- 【SpringMVC架构】SpringMVC入门实例,解析工作原理(二)
- 文章标题
- android 自定义ListView显示微信聊天好友列表
- XMPP系列 - 03 - Openfire服务器源码导入Eclipse
- HTML之禁止输入文本
- mac 报commond no found