我正在打包该软件,这取决于官方 Debian 发行版中附带的库的特定版本。该软件还具有捆绑的库源。
有没有什么方法可以在文件中描述这一点debian/control
,对于 10 之前的 Debian 版本,我不需要指定任何内容,但对于 >= 10,我可以使用发布的版本作为构建要求?
另外,对于旧版本(如何在文件中检测它debian/rules
?)我必须在cmake
配置步骤中传递一个附加选项。
答案1
对此没有任何规定:期望将源包(包括debian/control
)上传到特定的发行版和版本,并带有构建指令,包括在该发行版中工作的构建依赖项。
在某些情况下,可以debian/control
从 动态修改debian/rules
,但这不适用于构建依赖项,因为它们在构建开始之前已解决。
在实践中,有两种方法可能适合您:
使用某种模板工具获取公共源并为您关心的每个目标生成
debian/control
和;debian/rules
使用版本控制系统中的分支来分离各个目标,但仍然允许相当简单的维护。
后者是 Debian 中大多数软件包的维护方式,当它们需要允许上传到多个目标时(例如实验性的或稳定的或向后移植以及不稳定的)。
另外,对于旧版本(如何在文件中检测它
debian/rules
?)我必须在cmake
配置步骤中传递一个附加选项。
你不应该需要这样做;检测您尝试实现的行为,而不是检测旧版本并对行为进行硬编码。例如,检查系统是否存在依赖库,然后调整cmake
调用;或者如果有cmake
问题,请检测已安装的cmake
.