RPM-Richtlinien für LibreOffice-Erweiterungen

  1. Erweiterungen müssen entpackt unter %{_libdir}/libreoffice/share/extensions installiert werden. Diese werden als gebündelte Erweiterungen bezeichnet. Erweiterungen sollten nicht als gemeinsam genutzte Erweiterungen installiert werden, d. h. nicht über unopkg --shared

  2. Eine Erweiterung sollte normalerweise lediglich eine entsprechende LibreOffice-Komponente anfordern können (mit »Requires:«), z. B. libreoffice-core, ohne eine spezifische Versionsnummer anzugeben, da Erweiterungen die stabile UNO-ABI verwenden, die sich nur selten ändert und dann auch nur, um zusätzliche APIs hinzuzufügen. Sofern Sie also keine bestimmte Funktion einer LibreOffice-Version benötigen, ist es nicht erforderlich, eine spezifische Versionsnummer anzufordern und bei jeder neuen Version von LibreOffice einen Rebuild zu erzwingen.

  3. Erweiterungen müssen nach dem Schema libreoffice-FOO benannt werden.

  4. Erweiterungen ähneln beispielsweise den Xorg-Grafiktreibern insofern, als es sowohl proprietäre als auch nur binär verfügbare Erweiterungen gibt. Aber natürlich gelten für die Paketierung von Erweiterungen die üblichen Fedora-Regeln, d. h. die normalen Regeln für Lizenzierung, Paketierung usw. Die Lizenz muss akzeptabel sein, und das Paket muss aus dem Quellcode erstellt werden.

  5. Erweiterungen können in jeder Sprache geschrieben werden, die ein UNO-Binding bietet, z. B. C++, Python, Java oder StarBasic. Beachten Sie gegebenenfalls die zusätzlichen Paketbaurichtlinien der jeweiligen Programmiersprache, in der die Erweiterung geschrieben ist.

  6. Viele Erweiterungen sind zwar architekturunabhängig, können aber aufgrund von Einschränkungen in LibreOffice nicht als »noarch«-Pakete deklariert werden. Solche Pakete erzeugen leere Debuginfo-Unterpakete. In diesem Fall fügen Sie dem Paket die Zeile '%global debug_package %{nil}' hinzu.

    1. + Ein Beispiel ist …

%global extname writer2latex
Name:     libreoffice-%{extname}
Requires: 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}