我已经编写了一个应用程序,现在我对创建一个 Debian 包和设置一个 PPA 很感兴趣。该应用程序主要是用 XSLT 编写的,包括一个非常薄的前端,可以用任何可以访问 XSLT 处理器的语言编写。我目前有用 JavaScript(能够在浏览器客户端中运行,以及从 Rhino 下的命令行)和 Python 编写的前端。我还想完全用 bash 编写前端,并且只需使用 apt 中可用的命令行 XSLT 处理器之一。
有几个可通过 apt 获得,包括 xsltproc、xalan 和 4suite 的 xslt 处理器。我想让 bash 前端灵活,以便它能够使用这些命令行客户端中的任何一个,并且只需使用可用的任何一个。
我怎样才能最好地用 Debian 的包依赖系统来表达我的包和这三个其他包之间的关系,这是一种逻辑分离(OR 关系)?
我的包依赖xsltproc
OR 4suite
OR xalan
。理想情况下,安装我的包时,应提示用户选择这三个包中的任何一个作为依赖项安装;并且如果安装我的包时系统上已经安装了这些包之一,则不应安装其他依赖项。使用 Debian 软件包可以做到这一点吗?
OR 关系可以
xsltproc | 4suit | xalan
在 debian/control 中的二进制包的 Depends: 字段中表示。当系统上当前没有一个包时,列表中的第一个包将是首选。有关详细信息,请参阅http://www.debian.org/doc/debian-policy/ch-relationships.html