【问题标题】:deb package creation using fpm with build dependencies使用带有构建依赖项的 fpm 创建 deb 包
【发布时间】:2015-08-28 09:59:19
【问题描述】:

我正在尝试使用 fpm 创建一个 deb 包,其中包含一些 shell 脚本文件。但是 deb 包应该使用名为 vim(Linux 中的 vim 编辑器)的依赖项创建。意味着在安装 deb 包时,它应该先安装 vim,然后再安装脚本文件。

要求是在安装 deb 包时,vim 应该先安装,然后是脚本文件。

我试过的 fpm 命令是:

  fpm -s dir -t deb -n 'test' --deb-pre-depends vim --after-install /home/test/testfile.sh -C /home test

在创建 deb 包之后。安装时出现以下错误:

dpkg: regarding test_1.0_amd64.deb containing test, pre-dependency problem:
 test pre-depends on vim
  vim is not installed.

dpkg: error processing archive test_1.0_amd64.deb (--install):
 pre-dependency problem - not installing test
Errors were encountered while processing:
 test_1.0_amd64.deb 

在此先感谢...

【问题讨论】:

    标签: linux ubuntu debian deb


    【解决方案1】:

    正如@Vorsprung 已经提到的,您需要使用--depends

    fpm -s dir \
        -t deb \
        -n 'test' \
        --depends vim \
        --after-install /home/test/testfile.sh \
        -C /home test
    

    您需要注意dpkg 不会为您安装依赖项,但您可以在之后运行apt-get 来安装所有缺少的依赖项:

    dpkg -i test.deb
    apt-get install -f
    

    【讨论】:

      【解决方案2】:

      尝试 --depends 代替 --deb-pre-depends

      “Depend”和“Pre Depend”略有不同,请参阅此处https://www.debian.org/doc/debian-policy/ch-relationships.html

      听起来你想要做的可能是“依赖”所以保持简单

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-12
        • 2011-02-28
        • 2020-05-08
        • 1970-01-01
        • 2018-01-20
        • 2015-02-06
        • 2022-10-30
        • 1970-01-01
        相关资源
        最近更新 更多