Как мне объявить бинарную зависимость не .deb от пакета .deb? - PullRequest
2 голосов
/ 20 декабря 2010

Я создаю пакет .deb и дошел до того, что могу выразить большую часть своих зависимостей.к сожалению, остались некоторые зависимости, которые в настоящее время не имеют пакета .deb (например, wdfs или couchdb, файл .deb которого слишком отстает, а файл с более новой версией еще не существует), но может быть определен во время выполнения.

Как лучше всего выразить эту зависимость пакета?сценарии установки pos?

http://www.debian.org/doc/debian-policy/ch-relationships.html

Ответы [ 2 ]

2 голосов
/ 08 сентября 2011

Правильным решением является создание пакетов .deb для отсутствующих компонентов, возможно, просто в вашем личном хранилище. Существует также equivs, который позволяет вам создавать фиктивные пакеты, например, чтобы удовлетворить проблемные зависимости, то есть, в основном, «я знаю, что я делаю; просто предположим, что этот пакет установлен правильно». Для одноразовых заданий вы также можете вызвать dpkg с помощью --force-depends для достижения того же результата.

1 голос
/ 02 марта 2011

Если необходимые отсутствующие пакеты отсутствуют в бэкпортах или где-либо еще, лучшим решением будет создание пакетов Debian для пакетов, которые еще не существуют.

Kludge, как вы и ожидали, протестирует пакеты в разделе конфигурации файла postinst, например, если ваш postinst равен #!/bin/bash:

REQUIREDPACKAGE='python'
REQUIREDVERSION='Python 2.6.6'
if [ -z "$(which $REQUIREDPACKAGE)" -o "$($REQUIREDPACKAGE --version 2>&1)" != "$REQUIREDVERSION" ]; then
  echo "$REQUIREDPACKAGE @$REQUIREDVERSION is required"
  exit 99;
fi

Если вы используете kludge, вы должны добавить все необходимые пакеты не-debian в README и, возможно, файл INSTALL с инструкциями по установке.

...