Directrices para extensión RPM de LibreOffice

  1. Las extensiones Deben instalarse descomprimidas en %{_libdir}/libreoffice/share/extensions. Estas se denominan extensiones empaquetadas. No deben instalarse como extensiones compartidas, es decir, mediante unopkg --shared

  2. Normalmente, una extensión debería poder simplemente requerir un componente de LibreOffice apropiado, por ejemplo, libreoffice-core, sin una n-v-r específica, ya que las extensiones usan la ABI UNO estable, que rara vez cambia, y solo para añadir API adicionales. Por lo tanto, a menos que se requiera una característica específica de una versión de LibreOffice, no es necesario requerir una n-v-r específica ni forzar una reconstrucción en cada n-v-r de LibreOffice.

  3. Extensiones Deben ser nombradas como libreoffice-ALGO.

  4. Las extensiones son similares a, por ejemplo, los controladores de video xorg en que existen extensiones propietarias o solo binarias, pero, por supuesto, las reglas normales de Fedora se aplican a qué extensiones se pueden empaquetar, es decir, consulte las reglas normales de licencia de empaquetado, etc. La licencia Debe ser aceptable y el paquete Debe crearse desde el código fuente.

  5. Las extensiones se pueden escribir en cualquier lenguaje que tenga un enlace UNO, por ejemplo, C++, Python, Java o StarBasic. Tenga en cuenta las directrices de empaquetado adicionales del lenguaje en el que se escribe la extensión, si existen.

  6. Muchas extensiones son independientes de la arquitectura, pero no pueden ser paquetes noarch debido a las limitaciones de LibreOffice. Estos paquetes generarán subpaquetes debuginfo vacíos. En este caso, añada '%global debug_package %{nil}' al paquete.

    1. + Un ejemplo es…

%global extname writer2latex
Nombre:     libreoffice-%{extname}
Requiere: libreoffice-core

%install
install -d -m 755 $RPM_BUILD_ROOT%{_libdir}/libreoffice/share/extensions/%{extname}
unzip -q target/lib/%{extname}.oxt -d $RPM_BUILD_ROOT%{_libdir}/libreoffice/share/extensions/%{extname}