Как сделать так, чтобы пакеты пересекались с разными версиями Ubuntu?

Я являюсь автором некоторого программного обеспечения, которое зависит от libxx6 (в Ubuntu 11.10), но в 12.04 пакет стал libxx7 (7 не является номером версии Ubuntu), поэтому зависимость стала проблемой.

Как я могу решить это? Я управляю PPA и хочу это исправить до выпуска Ubuntu 12.04.

Спасибо!

3
задан 18 February 2012 в 10:51

3 ответа

Если есть универсальный пакет без версии, от которого вы можете зависеть (например, в случае Java: java-runtime или, например, java6-runtime), зависите от этого. Если нет, вы должны сделать специализированные пакеты для разных версий Ubuntu. Посмотрите на пакет, от которого зависит файл control, и посмотрите, не является ли он Provides чем-то более общим, на что вы можете положиться.

0
ответ дан 18 February 2012 в 10:51

Если один и тот же источник будет основан на всех выпусках, то это очень просто. Вы создаете (загружаете) его отдельно для каждого выпуска Ubuntu. Вам придется использовать несколько разные номера версий, я предлагаю добавить ~releasename1

0
ответ дан 18 February 2012 в 10:51

Если ваш пакет будет скомпилирован как с libxx6, так и с libxx7, просто используйте libxx-dev в поле Build-Depends вашего файла debian/control. Тогда в поле Depends us ${shlibs:Depends}. Это будет автоматически заменено версией разделяемой библиотеки, на основе которой был собран ваш пакет.

Более подробную информацию об общих библиотеках можно найти в главе 8 Руководства по политике Debian.

0
ответ дан 18 February 2012 в 10:51

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

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