强制 PPA 包满足发行版元包依赖关系

强制 PPA 包满足发行版元包依赖关系

我正在为我的 ppa 构建一个包,它需要比我的目标发行版 (precise) 中提供的 libboost 更新的实现。我从提升 ppa进入我的 ppa。我正在使用 pbuilder-dist 来测试我的软件包构建。我已成功使用答案问题是让 pbuilder 将 libboost 包从 ppa 放入 chroot 环境。

不幸的是,虽然所有依赖项都可以通过 ppa 安装libboost-libname1.55-dev,但它们都不满足元包的要求libboost-libname-dev,因此pbuilder-dist由于依赖项不满足而导致构建失败。

因此,这个问题不一定只与有关,但我该如何让 pbuilder 忽略依赖关系的软件包(因为我确信依赖关系已得到满足),或者让 apt-get 认为元软件包依赖关系已得到满足?除非没有其他办法,否则pbuilder-dist我宁愿不去弄乱。debian/control

答案1

由于更新为依赖于 Boost 1.55 库的主元包未通过 PPA 提供,因此您会收到依赖性错误。没有构建器(pbuildersbuild)或包管理器(apt-get)允许构建/安装未满足依赖关系的包,因为这表明包将无法构建或运行。因此,您必须进入debian/control。要解决此错误,请尝试使用依赖项替代方案来指定使用主元包(如果其版本足够)或替代版本。

为了实现这一点,在 Boost 模块中调用姓名,该模块的依赖关系将如下所示libboost-name-dev (>= 1.55.0) | libboost-name1.55-dev。在这种情况下,libboost-name-dev如果版本至少为 1.55,则将使用;否则,将使用libboost-name1.55-dev

请注意,您可能需要手动启用使用替代方案pbuilder

相关内容