Some github release URLs, like https://github.com/hanya/MRI/releases/download/v1.3.5/MRI-1.3.5.oxt get redirected to something like https://release-assets.githubusercontent.com/github-production-release-asset/3265966/eff2c80e-138d-4b06-8139-e433f4672379?... of which, 'eff2c80e-138d-4b06-8139-e433f4672379' is used as ucbhelper::Content's title. That is used to construct local filename in UpdateInstallDialog::Thread::download. Later in PackageRegistryImpl::bindPackage, the extension of the file will be used to detect the mediatype; if failed, operation will abort. Detect this situation, and restore the filename from URL. Change-Id: Ib95189ff35e07fd01c95f87827c6f620ebfe2fe1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188114 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> (cherry picked from commit b729b0bb677bd2b82492b45806ed3ddd91d2234f) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188188 Reviewed-by: Adolfo Jayme Barrientos <fitojb@ubuntu.com> (cherry picked from commit 59340251fa4c403c0659e0016ff1e606b829c669) Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189297 Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
LibreOffice Binary
Code for the LibreOffice main binary (soffice) resides here. The soffice_main
function for the soffice binary can be found here.
Stable Interface
Some of the artifacts built here are part of a LibreOffice installation set's stable interface, which (programmatic) clients can depend on. Among them are:
soffice
In the program directory (program/ on Linux and Windows, Contents/MacOS/
on macOS).
unoinfo
In the program directory (program/ on Linux and Windows, Contents/MacOS/
on macOS).
When called with a sole argument of c++, it prints to stdout an absolute
pathname denoting the directory where the public URE libraries are found.
When called with a sole argument of java, it prints to stdout a marker
character (either an ASCII '0' or '1') followed by a sequence of zero or more
absolute pathnames denoting jars or directories that need to be included in a
class loader's search locations.
If the marker character is '0' (on Linux and macOS), the pathnames are encoded as bytes, and any two pathnames in the sequence are separated from each other by NUL bytes.
If the marker character is '1' (on Windows), the pathnames are encoded as
UTF-16-LE two-byte code units, and any two pathnames in the sequence are
separated from each other by two-byte NUL code units.
Other Binaries
oosplash
Splash screen for the LibreOffice soffice binary.
Extensions
The directory test/deployment contains some extensions to be used for testing:
test/deployment/crashextension: C++ extension to make LibreOffice crash. Useful for testing Crashreporter.- Build with
Extension_test-crashextension. - Extension can be found in
workdir/Extension/test-crashextension.oxt
- Build with
test/deployment/passive: C++, Java and Python extension samples with passive registration.- Build with
make Extension_test-passive. - Extension can be found in
workdir/Extension/test-passive.oxt
- Build with
test/deployment/active: C++, Java and Python extension samples with active registration.- Build with
make Extension_test-active. - Extension can be found in
workdir/Extension/test-active.oxt
- Build with