Несколько Depends/Recommends/[...] в контрольном файле?

Возможно ли иметь несколько строк для любого типа полей в управляющем файле dpkg? Речь идет не о продолжении строки, а, например, о Depends, перемежающихся с Recommends, как например:

Depends: git, etckeeper, apt-file
Рекомендует: equivs
Зависит: mplayer, pidgin, dlocate, pwsafe, ciso
Рекомендует: aria2

И так далее. Разрешено ли это, является ли это неопределённым (и какой-нибудь инструмент будет кашлять на это) или это явно запрещено? (В debian-policy тоже ничего не нашёл)

4
задан 18 February 2011 в 22:06

2 ответа

Нет Вы не можете сделать этого. Мне никогда не приходило в голову пробовать такую вещь, но я попробовал его. Я пытался создать пакет со следующим в 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

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

На самом деле, теперь, когда я иду, ища его, это явно запрещается в политике Debian, 5.1 Синтаксисах файлов управления:

Абзац не должен содержать больше чем один экземпляр конкретного имени поля.

5
ответ дан 18 February 2011 в 22:06

Я прочитал этот вопрос много раз и поверил в первоначальный принятый ответ. Но оказывается, что это неправильно.

Вы можете иметь многострочные записи (но вы не можете их чередовать).

О, радость! это делает обслуживание файла debian / control намного приятнее, если зависимости выходят за рамки небольшого числа

Хотя это и правда, у вас не может быть более одного «Зависит от», но вы можете иметь одно Зависит, которое охватывает несколько линий. последующие строки должны начинаться с одного пробела. См. Ниже (фактический пакет с изменениями имен для защиты невинных)

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

0
ответ дан 18 February 2011 в 22:06

Другие вопросы по тегам:

Похожие вопросы: