Debian Package Control file Вопрос - PullRequest
       20

Debian Package Control file Вопрос

2 голосов
/ 28 марта 2010

Я пытаюсь создать пакет Debian для приложения Java.

В моем пакете есть исполняемый файл .jar, скрипт для запуска этого файла jar и файл .so для fmod. Я прочитал этот урок .

В контрольном файле есть поле «Зависит», которое в основном описывает пакеты, которые необходимо установить для установки моего приложения. У меня вопрос, как мне найти, какие пакеты требуются для моего приложения? Я следовал инструкциям в руководстве для одного из файлов .so и получил следующее:

$ dpkg -S libfmodex64-4.28.09.so 
dpkg: *libfmodex64-4.28.09.so* not found.

Кроме того, для работы моего приложения требуется установить Java 1.5. Как мне указать это в моем пакете debian?

Ответы [ 2 ]

0 голосов
/ 28 марта 2010

Вы хотите получить каноническое имя для вашей библиотеки:

apt-cache search libname

Обратите внимание на номенклатуру в конце пакета.Вы не хотите указывать конкретную версию в контрольном файле, просто самую раннюю версию библиотеки, подходящую для вашего приложения.

Затем вы должны использовать canonical_libname >= major.minor, чтопозволяет системе решить, имеете ли вы (или можете обновить) версию библиотеки, которая может поддерживать ваше приложение.Если вы сделаете это вовремя, то есть укажите полную версию вашей текущей библиотеки, вы сломаетесь в будущем.

Например, если вы укажете libfoo-1.2.34 и будущие версии корабля Debian libfoo-2.3.45,ваш пакет не будет установлен, потому что он думает, что у вас несовместимая версия libfoo.

0 голосов
/ 28 марта 2010

Я настоятельно рекомендую собрать ваш пакет из исходного кода в инфраструктуре пакетов Debian. Все будет в значительной степени автоматически решено, если вы используете класс Ant в CDBS .

Если вы настаиваете на сборке только двоичного файла .deb, равно гораздо менее хакерский, чем метод, описанный в вашем документе.

...