Envío plugin de Firefox Linux GNU / con bibliotecas compartidas (para la instalación sin acceso root)
-
26-09-2019 - |
Pregunta
La aplicación es un plugin de Firefox (cargado de $ HOME / .mozilla / plugins), secuencia de comandos para envoltorio que establece LD_LIBRARY_PATH no es una opción fácil.
rPath, por lo que yo sé, no puede referirse a $ HOME y puede ser único camino Absolue.
Firefox intenta dlopen igual que su contenido de ~ / .mozilla / plugins pero falla (porque depende de las bibliotecas compartidas en algún lugar del directorio personal del usuario instalado).
elemento de menú Modificación de Firefox para proporcionar un envoltorio (con LD_LIBRARY_PATH) alrededor de Firefox es demasiado hacky.
Lo que debería hacer script de instalación (sin acceso root) para hacer que la carga estándar de Firefox plug-ins que depende cabo biblioteca compartida?
- ¿Debo tratar de hacer encajar todo en que .so para eliminar dependencia?
- ¿Debería tratar de hacer script de instalación para terminar de vincular o rPath parche durante la fase de instalación?
Solución
rPath Conjunto de $ORIGIN/lib
por lo que el cargador buscará bibliotecas relativos a la mi archivo.
Script simplemente descomprime el plugin para $HOME/.mozilla/plugins/myplugin.so
y bibliotecas para $HOME/.mozilla/plugins/lib/
rpath se puede especificar para enlazador aunque el gcc añadiendo Wl,-rpath,'$ORIGIN/lib'
($
debe ser duplicada en un Makefile) y también se puede cambiar después de la compilación por patchelf
.