首页 > 解决方案 > Debian 发行版特定控制文件

问题描述

我对这个问题有点困惑,是否可以控制特定于 Debian 版本的软件包依赖关系?

在控制文件中,我们需要在“Depends”字段中指定依赖关系,所以如果我们想为不同的 Debian 版本(Wheezy、Jessie 和 Stretch)制作一个包,并且如果不同版本的依赖关系不同,那么我们该如何在控制文件中定义这些类型的依赖项?

谢谢你

标签: debianpackagingdepends

解决方案


取决于依赖项。

一些软件包具有自动包含活动 Debian 发行版的正确版本的元软件包。尤其是 PHP 包,可以做到这一点。例如,php-curl包依赖php7.0-curl于拉伸和php7.3-curl破坏。如果您的包依赖于php-curl,您将自动获得正确的版本。该postgresql软件包执行相同的操作,根据 Debian 版本拉入postgresql-11或。postgresql-9.6

如果这不起作用,您可以尝试在源包中创建两个名为myapp-jessieand的二进制包myapp-stretch,每个包都依赖于它们发布的正确包集。然后在主包中:

Depends: myapp-jessie | myapp-stretch

如果这些想法都不起作用,您可能需要维护多个控制文件,为每个版本建立一个 apt repo,构建多个包,并将每个包部署到适当的 apt repo。

你有什么特定的依赖关系?


推荐阅读