博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
源码生成deb包
阅读量:6818 次
发布时间:2019-06-26

本文共 1423 字,大约阅读时间需要 4 分钟。

方法一

源码包要求是使用 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

posted on
2015-12-13 22:11 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/ruiy/p/5043716.html

你可能感兴趣的文章
[SDOI2008]烧水问题
查看>>
杂项之rabbitmq
查看>>
【转】关于大型网站技术演进的思考(十)--网站静态化处理—动静整合方案(2)...
查看>>
jQuery练习题HTML文件
查看>>
SQL注入原理
查看>>
MySQL 锁(lock与latch)
查看>>
python
查看>>
DataTable数据存入指定路径的Excel文件
查看>>
Linq-C#左连接
查看>>
c和指针读书笔记
查看>>
常用正则表达式集锦
查看>>
JS 验证
查看>>
【Lua】特性和一些基础语法
查看>>
Jaxb2 实现JavaBean与xml互转
查看>>
shell中exec解析(转)
查看>>
ContentType ,charset和pageEncoding的区别(转)
查看>>
21副GIF动图让你了解各种数学概念(转。太强大了)
查看>>
SQL Server 2008通过LinkServer连接MySQL
查看>>
模板:LCT
查看>>
mysql的数据类型int、bigint、smallint 和 tinyint取值范围 及varchar
查看>>