两个 PPA 上的软件包依赖关系

两个 PPA 上的软件包依赖关系

我的启动板 PPA 中的 PPA 中有一个包(fcl),它依赖于另一个 PPA 中的另一个包(libccd)ppa:imnmfotmal/libccdfcl在中同时具有构建和运行依赖项libccd

因此我在启动板中添加了PPA 依赖项,并且两者都成功构建。但是当我在添加 fcl PPA 后libccd尝试安装包时,它会抛出一个错误fcl

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 fcl : Depends: libccd but it is not installable
E: Unable to correct problems, you have held broken packages.

但添加 PPA 后也能成功安装libccd。我想自动fcl安装libccd而不添加其 PPA。我该怎么做?

输出apt-cache policy fcl

fcl:
  Installed: (none)
  Candidate: 1.0-0ppa5
  Version table:
     1.0-0ppa5 0
        500 http://ppa.launchpad.net/imnmfotmal/fcl/ubuntu/ trusty/main amd64 Packages

答案1

您使用的是 Trusty,但 Trusty 中没有软件包libccd。您至少需要 Utopic 才能使用此软件包,而无需再添加一个 PPA。但您可以这样做:

sudo apt-add-repository ppa:imnmfotmal/libccd
sudo update
sudo apt-get install fcl

该 PPA 来自与fclPPA 相同的维护者。


正如你所说

我不希望用户同时添加 libccd ppa 和 fcl ppa

然后你需要从以下位置下载并安装 deb 文件这里

另一种可能性是,创建你自己的 PPA 并将软件包复制到此 PPA 中。将此 PPA 添加到你的系统并使用它。

答案2

两个选项:

  • 将 libccd 软件包从其他 PPA:libccd 复制到您的 PPA(相同 PPA:fcl)。Launchpad/LP 支持此功能,非常简单:https://help.launchpad.net/Packaging/PPA/Copying

    这取决于您:仅复制源包并重建它,或者也复制二进制文件然后直接提供它们。

  • 创建/添加配方以构建 libccd 包并将其上传到同一个 PPA:fcl。无需创建另一个 PPA!

相关内容