Как упаковать общую библиотеку в пакеты deb

Мое приложение использует несколько общих библиотек, которые мне нужно упаковать в двоичный файл, и согласно Правилам политики Debian

. Рекомендуется поддерживать файлы и среду выполнения. программы поддержки, которые не должны вызываться пользователями вручную, но, тем не менее, необходимы для функционирования пакета, помещаются (если они являются двоичными) в подкаталог /usr/lib, предпочтительно в /usr/lib/package-name.

Итак, я разместил свою общую библиотеку, например, libabc.so в каталоге /usr/lib/myapp/. После создания пакета debian двоичный файл не загружается, так как загрузчик не ищет /usr/lib/myapp/ для загрузки каталога. Они не рекомендуют использовать RPATH в двоичном файле.

Итак, какие изменения я должен внести в пакет Debian, в файл postinst или что-нибудь еще, чтобы он заработал.

4
задан 25 November 2016 в 16:50

1 ответ

Нет, ваша общая библиотека должна быть установлена:

  • - /usr/lib напрямую
  • или /usr/lib/<package-name> с ярлыком в /usr/lib

Руководство означает:

  • с помощью supporting files плагинов и модулей (в двоичном виде), что ваша программа будет сканировать их самостоятельно. Это могут быть общие библиотеки .so или любой другой формат, даже пользовательские форматы.
  • - run-time support programs исполняемые программы, которые используются вашей программой, но не являются полезными для пользователя, чтобы запускать их напрямую, так что примечание предлагает избегать их установки в /usr/bin

Вспомогательные файлы в текстовом формате (по крайней мере, не сгенерированные двоичные файлы) удобнее устанавливать в /usr/share/<package-name>

. Я бы порекомендовал вам, быстро рассмотрев примеры из других пакетов.

tree /usr/lib/libreoffice/
tree /usr/lib/gimp/
0
ответ дан 25 November 2016 в 16:50

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

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