Доставка GNU / Linux Firefox Плагин с общими библиотеками (для установки без корневого доступа)

StackOverflow https://stackoverflow.com/questions/3015411

Вопрос

Приложение представляет собой плагин Firefox (загруженный от $ HOME / .MOZILLA / Плагинов), поэтому скрипт обертки, который устанавливает LD_LIBRARY_PATH, не является простым вариантом.

Ратуат, насколько я знаю, не может ссылаться на $ домой и может быть только абсолютный путь.

Firefox пытается Dlopen это плагин от ~ / .mozilla / plugins, но не удается (потому что это зависит от общего библиотек, установленных где-то в домашнем каталоге пользователя).

Изменение пункт меню Firefox для обеспечения обертки (с LD_LIBRARY_PATH) вокруг Firefox слишком хакей.

Что должен сделать скрипт установщика (без корневого доступа), чтобы сделать стандартные плагины нагрузки Firefox, которые зависят от общей библиотеки?

  1. Должен ли я просто попытаться сделать встроить все в это .so, чтобы удалить зависимости?
  2. Должен ли я попытаться сделать сценарий установщика для завершения ссылки или Patch Rpath во время фазы установки?
Это было полезно?

Решение

Установить рапуску $ORIGIN/lib Таким образом, загрузчик будет искать библиотеки относительно моего файла.

Сценарий просто распаковывает плагин к $HOME/.mozilla/plugins/myplugin.so и библиотеки к $HOME/.mozilla/plugins/lib/

DPATH может быть указан ссылками, хотя GCC, добавив Wl,-rpath,'$ORIGIN/lib' ($ следует удвоить в казейле) и может также быть изменен после компиляции patchelf.

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