【问题标题】:how do i declare a non .deb binary dependency on a .deb package?如何声明对 .deb 包的非 .deb 二进制依赖?
【发布时间】:2010-12-20 10:18:15
【问题描述】:

我正在创建一个 .deb 包,我已经到了可以表达大部分依赖项的地步。不幸的是,还有一些依赖项目前没有 .deb 包(例如 wdfs 或 couchdb,其中 .deb 文件太落后,并且尚不存在具有较新版本的文件),但可以在运行时确定。

表达这种包依赖关系的最佳方式是什么? pos 安装脚本?

http://www.debian.org/doc/debian-policy/ch-relationships.html

【问题讨论】:

  • 这不是一个真正的编程问题。您可以询问 Debian 邮件列表之一。

标签: couchdb packaging apt-get deb


【解决方案1】:

正确的解决方案是为缺少的组件创建 .deb 包,也许只是在您的私有存储库中。还有equivs 允许您构建虚拟包,例如以满足有问题的依赖关系,即基本上“我知道我在做什么;只要假设这个包已正确安装”。对于一次性作业,您还可以调用 dpkg--force-depends 以达到相同的结果。

【讨论】:

    【解决方案2】:

    假设所需的缺失包不在后端或其他地方,最好的解决方案是为不存在的包创建 Debian 包。

    正如您所料,在 postinst 文件的配置部分测试包,例如,如果您的 postinst 是 #!/bin/bash

    REQUIREDPACKAGE='python'
    REQUIREDVERSION='Python 2.6.6'
    if [ -z "$(which $REQUIREDPACKAGE)" -o "$($REQUIREDPACKAGE --version 2>&1)" != "$REQUIREDVERSION" ]; then
      echo "$REQUIREDPACKAGE @$REQUIREDVERSION is required"
      exit 99;
    fi
    

    如果您使用 kludge,则应在 README 中添加所有必需的非 debian 软件包,并可能在 INSTALL 文件中添加安装说明。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 2012-08-25
      • 1970-01-01
      • 2011-02-28
      • 1970-01-01
      • 2012-12-12
      • 2022-10-24
      相关资源
      最近更新 更多