Вопрос о файле управления пакетом Debian
-
22-09-2019 - |
Вопрос
Я пытаюсь создать пакет 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.