我正在为我的 ppa 构建一个包,它需要比我的目标发行版(精确)中提供的 libboost 更新的实现。我已经将 libboost1.55 从boost ppa复制到我的 ppa 中。我正在使用 pbuilder-dist 来测试我的包构建。我已经成功地使用这个问题的答案让 pbuilder 将 libboost 包从 ppa 获取到 chroot 环境中。
不幸的是,虽然所有依赖项都可以从 ppa 安装libboost-libname1.55-dev
,但它们都不满足元包libboost-libname-dev
,并且pbuilder-dist
由于不满足依赖项而导致构建失败。
因此,这个问题不一定只与 相关联pbuilder-dist
,但我如何让 pbuilder 忽略依赖包(因为我确定满足依赖性),或者让 apt-get 认为满足元包依赖性?debian/control
除非没有其他办法,否则我宁愿不要乱用。
因为更新为依赖于 Boost 1.55 库的主要元数据包不是通过 PPA 提供的,所以您会遇到依赖性错误。没有构建器(
pbuilder
或sbuild
)或包管理器(apt-get
)将允许在不满足依赖关系的情况下构建/安装包,因为这表明该包将无法构建或工作。因此,您将不得不进入debian/control
. 要解决该错误,请尝试使用依赖项替代方案来指定使用主元数据包(如果它具有足够的版本)或替代版本。为此,在名为name的 Boost 模块的情况下,该模块的依赖项看起来像
libboost-name-dev (>= 1.55.0) | libboost-name1.55-dev
. 在这种情况下,libboost-name-dev
如果版本至少为 1.55,则将使用;否则,它将使用libboost-name1.55-dev
.请注意,您可能需要手动启用 using alternatives in
pbuilder
.