zoukankan      html  css  js  c++  java
  • deb包制作

    制作deb包

    方法一:checkinstall

    checkinstall的原理就是将make install的内容放到一个临时目录然后打包,只要能执行make install就能创建deb包,如果代码已经make install了,需要先执行make uninstall,不然会出现只打包库文件的软连接而没有打包库文件的情况。通过dpkg-deb -c可以查看deb包的文件是否正常。

    • 设置打包环境
    sudo apt-get install checkinstall
    
    • 制作deb包
    checkinstall make install
    
    • 检查deb包
    dpkg-deb -c XX.deb
    

    方法二: dpkg-buildpackage

    • 设置打包环境
    $ sudo apt-get install -y dh-make dpkg-dev devscripts
    
    • 创建控制文件
    $ wget http://zlib.net/zlib-1.2.8.tar.gz
    $ tar xzf zlib-1.2.8.tar.gz
    # 命令将在当前目录下生成debian目录
    $ dh_make --createorig --copyright gpl3 --email fwdssg@gmail.com --single
    
    • 编辑debian/control
    Source: zlib
    Section: unknow
    Priority: optional
    Maintainer: ubuntu <fwdssg@gmail.com>
    Build-Depends: debhelper (>=9),autotools-dev
    Standards-Version: 3.9.6
    Homepage: http://zlib.net/
    #Vcs-Git: git://anonscm.debian.org/collab-maint/zlib.git
    #Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/zlib.git
    Package: zlib
    Architecture: any
    Depends: ${shlibs:Depends}, ${misc:Depends}
    Description: <insert up to 60 chars description>
     <insert long description, indented with spaces>
    
    属性 说明
    Section 软件的类别,常见的有utils、net、mail、text、x11等
    Architecture 软件包结构,如基于i386、amd64、m68k、sparc、alpha、powerpc等
    • 编辑debian/postinst.ex
    # deb安装完成时需要执行的脚本
    $ mv postinst.ex postinst
    $ sed -i '/    configure)/a    echo -e "zlib deb test" > $HOME/zlib.log' postinst
    
    • 编辑debian/rules
    # zlib比较特殊很多参数不支持,所以需要自定义configure,用--prefix=/usr/local会报错也是坑
    echo -e "override_dh_auto_configure:
    	./configure --prefix=/usr" >> rules
    
    • 制作deb包
    $ cd zlib-1.2.8
    # 自己测试完就不签名-uc -us
    $ dpkg-buildpackage -rfakeroot -tc -uc -us -b
    
    • 检查deb包
    dpkg-deb -c XX.deb
    

    dpkg-buildpackage使用技巧

    • 编辑rules文件添加export DEB_BUILD_MAINT_OPTIONS = hardening=-all可以去掉编译时候自动添加的-Werror=XX参数

    参考资料

    从源码构建deb包
    为现有的二进制文件制作deb包
    官方文档
    为Debian和Ubuntu制作软件包
    构建软件包
    官方文档
    官方文档
    官方文档
    官方文档
    Linux 的源码安装工具 CheckInstall

  • 相关阅读:
    插入排序(JS代码)
    选择排序(JS代码)
    快速排序(JS代码)
    冒泡排序(js代码)
    《CSS揭秘》--推荐指数⭐⭐⭐⭐⭐
    CSS中position的定位
    逆转录转座子初窥
    django开发傻瓜教程-1-安装和HelloWorld
    爬虫教程-1
    算法_NP_证明
  • 原文地址:https://www.cnblogs.com/silvermagic/p/7665941.html
Copyright © 2011-2022 走看看