debuild - зависимости установлены, но без версии - PullRequest
0 голосов
/ 18 февраля 2020

Допустим, у меня есть следующий пакет: zs-boost_1.71.0_armhf.deb. Это пользовательский пакет, который устанавливает Boost 1.71 в определенное место (предположим, /opt/deps).

У меня также есть проект, который использует эту библиотеку. Он строит и работает нормально. Теперь я упаковываю это. У меня есть в файле debian/control следующее:

Depends: ${shlibs:Depends}, ${misc:Depends}

Я собираю пакет, используя: debuild -b -us -uc -aarmhf. Пакет может быть собран и работает как положено. Моя единственная проблема в том, что запись Depends в файле deb control выглядит следующим образом:

Depends: Depends: libc6 (>= 2.9), libpq5 (>= 9.0~), zs-boost, init-system-helpers (>= 1.18~)

Обратите внимание, что у zs-boost нет версии. Как я могу это исправить? Это вызвано установкой в ​​пользовательский каталог? Я бы предположил, что если пакет был идентифицирован правильно, то его версию также следует использовать?

debian/package.substvars содержит следующую строку для shlibs:

shlibs:Depends=libc6 (>= 2.9), libssl1.1 (>= 1.1.0), libuuid1 (>= 2.16), zs-boost

Что я должен сделать для правильного управления версиями зависимостей? Обратите внимание, что я не заинтересован в предоставлении номеров версий вручную, это всего лишь один пакет, и у нас есть более 20 пакетов, которые постоянно обновляются и перестраиваются, и делать это вручную не приходится.

Заранее спасибо.

1 Ответ

1 голос
/ 19 февраля 2020

Если вы хотите версионную зависимость, поместите ее в debian/control.

Depends: zs-boost (>= 1.71.0)

Версионная зависимость для указанной c версии libc6, которую вы видите в сгенерированном shlibs, в конечном итоге вплоть до аналогичного явного объявления, определяемого (обычно консервативно и с большой осторожностью) сопровождающим пакета.

...