Возможно ли иметь несколько строк для любого типа полей в управляющем файле dpkg? Речь идет не о продолжении строки, а, например, о Depends, перемежающихся с Recommends, как например:
Depends: git, etckeeper, apt-file
Рекомендует: equivs
Зависит: mplayer, pidgin, dlocate, pwsafe, ciso
Рекомендует: aria2
И так далее. Разрешено ли это, является ли это неопределённым (и какой-нибудь инструмент будет кашлять на это) или это явно запрещено? (В debian-policy тоже ничего не нашёл)
Нет Вы не можете сделать этого. Мне никогда не приходило в голову пробовать такую вещь, но я попробовал его. Я пытался создать пакет со следующим в 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 Синтаксисах файлов управления:
Абзац не должен содержать больше чем один экземпляр конкретного имени поля.
Я прочитал этот вопрос много раз и поверил в первоначальный принятый ответ. Но оказывается, что это неправильно.
Вы можете иметь многострочные записи (но вы не можете их чередовать).
О, радость! это делает обслуживание файла 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