debian - 如何在 Debian 软件包控制文件“Depends:”“Pre-Depends”子句中指定次要版本的范围
问题描述
这是关于 ubuntu 软件包的 debian 控制文件。
我需要在“Depends:”/“Pre-Depends”子句中指定依赖列表,如下图所示
我的包裹是 "foo" 。它取决于包 "bar" 。“bar”的允许版本是 2.XY,其中 X=3 且 Y>=5(让我们将 2 称为主要版本,X 称为次要版本,Y 称为次次要版本)
所以基本上我想指定我对次要版本 3 和从 5 到 9 的次次要版本没问题
举个例子
# 我的规格应该允许低于
bar-2.3.5, bar-2.3.6, ... , bar-2.3.9
# 我的规格应该不允许低于
bar 2.2.X、bar 2.3.4、bar 2.4.X、bar 3.XY、
所以问题是 - 在我的控制文件下面是正确的指定方式吗?
# Control file
Package: foo
Depends: bar (>=2.3.5), bar(<<2.4.0)
有没有更紧凑/合适的方式?
特别是如果我进行了简化的需求更改 - 并说我对次要版本 .5 和任何次要版本( 2.5.X - )没问题,那么有没有办法匹配( 2.5.0,...,到 2.5 .9) 使用单个 == 类似的表达式?
我查看了https://www.debian.org/doc/debian-policy/ch-relationships.html但这并没有为我提供足够的方向
谢谢你的帮助
解决方案
我验证了这种规范方式确实有效
Package: foo
Version: X.X.X
...
Depends: bar (>=2.3.5), bar (<<2.4.0)
但是,这样做的不良副作用是,如果我使用“apt cache depends”检查“foo”的依赖关系,则依赖关系“bar”会出现两次
只是为了好玩。如果你懂印地语,你可能会说依赖出现在 bar bar 上:-)
#apt-cache depends foo
PreDepends: bar
PreDepends: bar
因此,虽然我有一个工作灵魂,但我仍在寻找一种更优雅的方式欢迎更多答案(所以我的答案不被接受)
推荐阅读
- reactjs - React 导航抽屉内容道具类型定义
- scala - 写入 Delta 表时检测到架构不匹配 - Azure Databricks
- xpath - 努力编写 xpath / 查找元素的唯一 ID
- java - 通过 Firebase 点击通知获得 Intent Extra
- string - 如何使用分隔符识别和打印字符串
- token - Corda 响应程序流未响应
- javascript - getElementById 返回 null 但 getElementsByClassName 有效,为什么?
- algorithm - 两个循环除以一个循环,可以吗?
- lua - 连接到小部件的信号,button::press
- javascript - 下载作为二进制/八位字节流的 PNG 文件