Я являюсь автором некоторого программного обеспечения, которое зависит от libxx6 (в Ubuntu 11.10), но в 12.04 пакет стал libxx7 (7 не является номером версии Ubuntu), поэтому зависимость стала проблемой.
Как я могу решить это? Я управляю PPA и хочу это исправить до выпуска Ubuntu 12.04.
Спасибо!
Если есть универсальный пакет без версии, от которого вы можете зависеть (например, в случае Java: java-runtime
или, например, java6-runtime
), зависите от этого. Если нет, вы должны сделать специализированные пакеты для разных версий Ubuntu. Посмотрите на пакет, от которого зависит файл control
, и посмотрите, не является ли он Provides
чем-то более общим, на что вы можете положиться.
Если один и тот же источник будет основан на всех выпусках, то это очень просто. Вы создаете (загружаете) его отдельно для каждого выпуска Ubuntu. Вам придется использовать несколько разные номера версий, я предлагаю добавить ~releasename1
Если ваш пакет будет скомпилирован как с libxx6
, так и с libxx7
, просто используйте libxx-dev
в поле Build-Depends
вашего файла debian/control
. Тогда в поле Depends
us ${shlibs:Depends}
. Это будет автоматически заменено версией разделяемой библиотеки, на основе которой был собран ваш пакет.
Более подробную информацию об общих библиотеках можно найти в главе 8 Руководства по политике Debian.