Debian版本特定控制文件

Debian版本特定控制文件,debian,packaging,depends,Debian,Packaging,Depends,我对这个问题有点困惑,是否可以控制特定于Debian版本的包依赖性 在控制文件中,我们需要在“dependens”字段中指定依赖项,因此,如果我们想为不同的Debian版本(Wheezy、Jessie和Stretch)制作一个单独的包,并且如果不同版本的依赖项不同,那么我们如何在控制文件中定义这些类型的依赖项呢 谢谢取决于依赖关系 有些软件包的元软件包会自动包含活动Debian版本的正确版本。特别是PHP软件包可以做到这一点。例如,php curl包依赖于stretch中的php7.0-curl

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

在控制文件中,我们需要在“dependens”字段中指定依赖项,因此,如果我们想为不同的Debian版本(Wheezy、Jessie和Stretch)制作一个单独的包,并且如果不同版本的依赖项不同,那么我们如何在控制文件中定义这些类型的依赖项呢


谢谢

取决于依赖关系

有些软件包的元软件包会自动包含活动Debian版本的正确版本。特别是PHP软件包可以做到这一点。例如,
php curl
包依赖于stretch中的
php7.0-curl
,以及buster中的
php7.3-curl
。如果您的包依赖于
php curl
,您将自动获得正确的版本。
postgresql
包也会执行相同的操作,根据Debian版本的不同拉入
postgresql-11
postgresql-9.6

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

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

您有哪些特定的依赖关系