4 dpkg
dpkg 控制文件中的任何类型的字段都可以有多行吗?这与行延续无关,而是例如 Depends 中穿插着 Recommends ,如下所示:
依赖:git、etckeeper、apt-file
推荐:equivs
依赖:mplayer、pidgin、dlocate、pwsafe、ciso
推荐:aria2
等等。这是允许的,是未指定的(并且某些工具会在其上咳嗽)还是明确禁止?(在 debian-policy 中也找不到任何内容)
您不能有多个“取决于”条目,但是...事实证明,是的,您可以有一个多行“取决于”条目。
哦,快乐!如果依赖关系超出少量,这会使 debian/控制文件的维护变得更好。单个依赖关系可能跨越多行。后续行需要以单个空格开头。请参阅下文(为保护无辜者而更改名称的实际包)
Package: company-y-meta
Architecture: all
Depends: ${misc:Depends},
python-y-production,
python-y-cellular,
y-update,
y-webapp-passwords,
telegraf-y-addon (>= 0.0.01),
vendor-cellular-utils (<< 1.20),
Description: Company Y Metapackage
This package installs no software, but depends on all
software needed to install product-y on physical platform
Run Code Online (Sandbox Code Playgroud)
我多次阅读了OP问题(此后已得到澄清),并相信最初接受的答案意味着您永远不可能拥有多行依赖条目。但事实证明他们对多个 Depends 键特别感兴趣。您不能拥有多个 Depends 键,除非您正在编写多包控制文件,其中每个 Depends 子句都属于不同的子包。您可以有多行条目(但不能将它们与控制文件的其他部分散布)。我为像我这样的人添加了这个答案,他们不想做一些奇怪的事情,而只是为了拥有一个可读的控制文件,具有可读的 git 历史记录。
不,你不能这样做。我从来没有想过要尝试这样的事情,但我尝试了一下。我尝试在debian/control文件中使用以下内容构建一个包:
Package: bzr-explorer
Architecture: all
XB-Python-Version: ${python:Versions}
Depends: ${misc:Depends}, ${python:Depends}
Recommends: tango-icon-theme
Suggests: bzr-gtk
Depends: bzr (>= 1.14), qbzr (>= 0.19)
Recommends: bzr-svn
Suggests: bzr-git
Run Code Online (Sandbox Code Playgroud)
dpkg 有点不喜欢:
dpkg-source: error: syntax error in bzr-explorer-1.1.2/debian/control at line 24: duplicate field Depends found
dpkg-buildpackage: error: dpkg-source --before-build bzr-explorer-1.1.2 gave error exit status 9
debuild: fatal error at line 1337:
dpkg-buildpackage -rfakeroot -d -us -uc -S failed
Run Code Online (Sandbox Code Playgroud)
事实上,现在我去寻找它,这在Debian Policy, 5.1 Syntax of control files 中是明确禁止的:
一个段落不得包含多个特定字段名称的实例。
| 归档时间: |
|
| 查看次数: |
4550 次 |
| 最近记录: |