Debian打包 - 仅作为tarball的依赖关系

时间:2018-06-05 08:12:35

标签: linux ubuntu debian package deb

问题/目标

我想用一个简单的脚本(/ usr / bin /中的my_fancy_script.sh)创建一个debian包,它执行必须首先安装的三个库的命令。

问题是,这三个依赖项仅作为tarball(.tar.gz)文件提供

  1. tpm2-tss
  2. tpm2-abrmd
  3. tpm2-tools
  4. 显然,我无法在我的debian / control文件中添加库作为依赖项,因为它们不能在任何apt-repository中找到,但必须在客户端本身进行编译和安装。

    当前解决方案/方法

    创建以下debian-source-folder:

    fancy_debian_package/
    ├── src/
          ├── debian/
                ├── changelog
                ├── control
                └── postinst
          └── usr/
                └── bin/
                     └── my_fancy_script.sh <--- Executes commands which are installed by tpm2-* libraries
          └── temporary/
                ├── tpm2-tss-1.3.0.tar.gz
                ├── tpm2-abrmd-1.3.0.tar.gz
                └── tpm2-tools-3.0.3.tar.gz
    ├── LICENSE
    └── README.md
    

    我的debian / control文件目前看起来像这样:

    Package: debian-package
    Version: 0.1
    Section: base
    Priority: optional
    Architecture: all
    Essential: no
    Depends: <list of dependencies needed to build the tpm2-* libraries>
    Installed-Size: 1000
    Maintainer: ...
    Description: ...
    

    我的debian / postinst文件目前看起来像这样:

    # Change into /temporary/
    cd /temporary/
    # Unpack
    tar axf tpm2-tss-1.3.0.tar.gz -C .
    # Remove tarball
    rm tpm2-tss-1.3.0.tar.gz
    # Change into dir
    cd tpm2-tss-1.3.0
    # Configuration
    CONFIG_SITE=$(pwd)/lib/default_config.site ./configure
    # Install
    make && make install
    .
    . 
    # continues with tpm2-abrmd and tpm2-tools
    .
    .
    # remove /temporary/ after installation done
    rm -rf /temporary/
    

    要构建包,我执行:sudo dpkg-deb -b fancy_debian_package/ fancy_debian_package_all_0.1.deb

    我的方法存在问题

    • 不标准化
    • 大量依赖项(构建tpm2- *库所需)
    • 安装时间长(./configure,make,make install需要时间)

    我觉得我的方法不是最好的,而且与官方方式有很大不同。在这些方法中,作者建议使用dh_make命令。但是,如果您想要更改我不想要的现有tarball文件,那么这只是有意义的。我想创造自己的东西。

    我的问题

    1. 我的方法是将依赖项tar包存放在/ temporary / +下通过debian / postinst构建它们吗?
    2. 目录结构正常吗?
    3. 如何提高安装速度?

0 个答案:

没有答案