定义多个库依赖项

定义多个库依赖项

我正在尝试从本地存储库在 Debian 9 中安装 FreeRadius 3.0.16。

但是,当尝试安装它时,我收到此错误:

The following packages have unmet dependencies:
 freeradius : Depends: libssl1.0.0 (>= 1.0.1e-2+deb7u5) but it is not installable

罪魁祸首在原始源代码中freeradius-server/debian/rules

# Add dependency on distribution specific version of openssl that fixes Heartbleed (CVE-2014-0160).
ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
       SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1f-1ubuntu2)"
else
       SUBSTVARS = -Vdist:Depends="libssl1.0.0 (>= 1.0.1e-2+deb7u5)"
endif

让其检查 Debian 9 并不是理想的情况,因为它可以针对多种 Debian 风格进行编译......

那么,除了检查 Debian 版本之外,是否还有其他方法可以定义 Debian 的 Depends 并作为 取决于 的替代方案libssl1.1 (>= 1.1)

答案1

我会删除这些代码行;单个软件包不能强制其他软件包进行安全升级。

如果你看一下Debian 软件包的rules,你会发现它没有这样的东西。无论如何,正如您所指出的,依赖项无法在 Debian 9 上运行,因为它为 OpenSSL 使用了不同的包名称。

(应该可以找出一个析取来强制执行正确的软件包升级,但我认为这不值得付出努力。)

相关内容