office-gobmx/desktop
Caolán McNamara 6352710e02 try harder to remove "OSL_PIPE" pipe on SIGTERM
a) When oosplash got SIGTERM it used SIGKILL on soffice.bin, (concealed
behind osl_terminateProcess) so soffice.bin has no chance to cleanup.

Try SIGTERM, followed by SIGKILL if that doesn't work, to give
soffice.bin a chance.

b) java intercepts SIGTERM so if JNI_CreateJavaVM was called then
our SIGTERM handler doesn't get called. Add -Xrs to jvm args to
avoid this.

Change-Id: I09f93d8093bc7c094482eda73b4eadc5a6cebb83
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/140152
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-09-19 18:28:33 +02:00
..
inc move ErrCode to comphelper and improve debug output string 2022-09-14 08:34:38 +02:00
qa tdf#147021 Use std::size() instead of SAL_N_ELEMENTS() macro 2022-09-05 18:57:53 +02:00
scripts
source Ignore also when a font has been substituted by itself with an empty style 2022-09-19 10:44:36 +02:00
test/deployment Drop obsolete preprocessor directives from UNOIDL files 2022-06-13 16:27:45 +02:00
uiconfig/ui Fix typo 2022-09-14 09:00:26 +02:00
unx/source try harder to remove "OSL_PIPE" pipe on SIGTERM 2022-09-19 18:28:33 +02:00
util
win32/source
AllLangMoTarget_dkt.mk
CppunitTest_desktop_app.mk Drop support for OpenGL denylist on X11 2022-03-28 14:31:07 +02:00
CppunitTest_desktop_dialogs_test.mk
CppunitTest_desktop_lib.mk ScriptForge - New 'UnitTest' service for Basic 2022-06-04 12:08:36 +02:00
CppunitTest_desktop_lokinit.mk
CppunitTest_desktop_version.mk
CustomTarget_desktop_unopackages_install.mk Produce empty share/uno_packages/cache/uno_packages/ hier in instdir, too 2013-10-17 14:29:00 +02:00
CustomTarget_soffice.mk soffice.sh depends on config_host.mk for the sed 2022-01-09 12:06:14 +01:00
Executable_minidump_upload.mk Add version resource to executables where it was missing 2019-08-31 00:22:28 +02:00
Executable_oosplash.mk Disable oosplash pagein feature for static builds 2022-01-07 19:07:06 +01:00
Executable_quickstart.mk Add version resource to executables where it was missing 2019-08-31 00:22:28 +02:00
Executable_sbase.mk
Executable_scalc.mk
Executable_sdraw.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_simpress.mk
Executable_smath.mk
Executable_soffice_bin.mk WASM gbuild: add --pre-js dependencies 2022-01-19 10:56:49 +01:00
Executable_soffice_com.mk
Executable_soffice_exe.mk
Executable_soffice_safe.mk
Executable_sweb.mk
Executable_swriter.mk Unify executables to take version resource from default.rc 2019-08-31 02:48:18 +02:00
Executable_unoinfo.mk
Executable_unopkg.mk
Executable_unopkg_bin.mk
Executable_unopkg_com.mk
Extension_test-active.mk
Extension_test-crashextension.mk Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
Extension_test-passive.mk
GeneratedPackage_desktop_unopackages_install.mk Use $(LIBO_SHARE_FOLDER) instead of hard-coded "share" 2017-03-01 16:05:59 +02:00
IwyuFilter_desktop.yaml
Jar_active_java.mk Move all public Java classes to libreoffice.jar 2020-05-06 14:48:21 +02:00
Jar_passive_java.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_active_native.mk
Library_crashextension.mk Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
Library_crashreport.mk Add HAVE_(UNIX_)DLAPI config header define 2022-01-18 13:44:53 +01:00
Library_deployment.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_deploymentgui.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_deploymentmisc.mk
Library_migrationoo2.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_migrationoo3.mk Move tools/diagnose_ex.h to comphelper/diagnose_ex.hxx 2022-08-18 17:10:19 +02:00
Library_offacc.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_passive_native.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_sofficeapp.mk Drop support for OpenGL denylist on X11 2022-03-28 14:31:07 +02:00
Library_spl.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Library_unopkgapp.mk
Makefile re-base on ALv2 code. Includes: 2012-11-19 17:44:55 +00:00
Module_desktop.mk Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
Package_branding.mk
Package_branding_custom.mk
Package_sbase_sh.mk desktop: split up Package_script corresponding to scp2 modules 2014-10-31 23:42:20 +01:00
Package_scalc_sh.mk
Package_scripts.mk Unify condition names and fix "else" paths 2022-01-08 12:26:30 +01:00
Package_sdraw_sh.mk
Package_simpress_sh.mk
Package_smath_sh.mk
Package_soffice_sh.mk gbuild: set Package default target to INSTDIR 2013-10-28 20:17:26 +01:00
Package_swriter_sh.mk desktop: split up Package_script corresponding to scp2 modules 2014-10-31 23:42:20 +01:00
Pagein_calc.mk Move to MPLv2 license headers, with ESC decision and author's permission. 2013-04-22 09:37:38 +01:00
Pagein_common.mk
Pagein_draw.mk
Pagein_impress.mk
Pagein_writer.mk
Pyuno_passive_python.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Rdb_crashextension.mk Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
Rdb_passive_generic.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
Rdb_passive_platform.mk Generally determine Rdb content from gb_*_set_componentfile calls 2021-12-10 08:14:24 +01:00
README.md Add LibreOffice Crash extension 2022-02-14 21:39:35 +01:00
README.vars
StaticLibrary_winlauncher.mk
StaticLibrary_winloader.mk
UIConfig_deployment.mk
WinResTarget_quickstart.mk sysui: remove Package_icons 2013-10-30 00:01:36 +01:00
WinResTarget_sbase.mk
WinResTarget_scalc.mk
WinResTarget_sdraw.mk
WinResTarget_simpress.mk
WinResTarget_smath.mk
WinResTarget_soffice.mk
WinResTarget_sofficebin.mk
WinResTarget_sweb.mk
WinResTarget_swriter.mk

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
  • 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
  • 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