我对这个问题有点困惑,是否可以控制特定于 Debian 版本的软件包依赖关系?
在控制文件中,我们需要在“Depends”字段中指定依赖关系,所以如果我们想为不同的 Debian 版本(Wheezy、Jessie 和 Stretch)制作一个包,并且如果不同版本的依赖关系不同,那么我们该如何在控制文件中定义这些类型的依赖项?
谢谢你
取决于依赖项。
一些软件包具有自动包含活动 Debian 发行版的正确版本的元软件包。尤其是 PHP 包,可以做到这一点。例如,php-curl
包依赖php7.0-curl
于拉伸和php7.3-curl
破坏。如果您的包依赖于php-curl
,您将自动获得正确的版本。该postgresql
软件包执行相同的操作,根据 Debian 版本拉入postgresql-11
或。postgresql-9.6
如果这不起作用,您可以尝试在源包中创建两个名为myapp-jessie
and的二进制包myapp-stretch
,每个包都依赖于它们发布的正确包集。然后在主包中:
Depends: myapp-jessie | myapp-stretch
如果这些想法都不起作用,您可能需要维护多个控制文件,为每个版本建立一个 apt repo,构建多个包,并将每个包部署到适当的 apt repo。
你有什么特定的依赖关系?