Вопрос

Я пытаюсь создать пакет 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?

Это было полезно?

Решение

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

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

Другие советы

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

apt-cache search libname

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top