zoukankan      html  css  js  c++  java
  • 源码生成deb包

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

  • 相关阅读:
    IOS数据持久化之归档NSKeyedArchiver
    Java中导入、导出Excel
    IOS开发中多线程的使用
    深入分析动态管理Fragment
    IOS开发之数据sqlite使用
    如何在Eclipse和Tomcat的Debug过程中启用热部署
    在PHP中无法连接Memcached的解决办法
    Apache mod_rewrite规则重写的标志一览
    Java多线程中run(), start(), join(), wait(), yield(), sleep()的使用
    Centos5.8下编译安装PHP5.4和memcached, phalcon, yaf, apc
  • 原文地址:https://www.cnblogs.com/ruiy/p/5043716.html
Copyright © 2011-2022 走看看