From e0add82587445a4bb10f4997d11b588e455ed653 Mon Sep 17 00:00:00 2001 From: James Clarke Date: Tue, 8 Oct 2024 13:24:15 +0100 Subject: [PATCH] Include schema files in Linux standalone If we don't include these schema files and set the appropriate environment variable, then the standalone will use the system schema files. If these are not compatible with the current versions of packages that we use, then we can get an error. --- buildconfig/CMake/LinuxPackageScripts.cmake | 9 +++++++++ buildconfig/CMake/Packaging/launch_mantidworkbench.sh.in | 3 +++ docs/source/release/v6.11.0/Workbench/Bugfixes/38160.rst | 1 + installers/conda/common/common.sh | 2 ++ 4 files changed, 15 insertions(+) create mode 100644 docs/source/release/v6.11.0/Workbench/Bugfixes/38160.rst diff --git a/buildconfig/CMake/LinuxPackageScripts.cmake b/buildconfig/CMake/LinuxPackageScripts.cmake index bb07fa916bc8..aa1a5c72c971 100644 --- a/buildconfig/CMake/LinuxPackageScripts.cmake +++ b/buildconfig/CMake/LinuxPackageScripts.cmake @@ -92,6 +92,15 @@ if [ -n \"\$1\" ] && [ \"\$1\" = \"--debug\" ]; then fi" ) +# Without specifying these schema files, the standalone can fail to launch on Linux. Inside a conda environment this +# environment variable is set by something else. +set(GSETTINGS_SCHEMA_DEFINITIONS + "# Specify path to schema files +if [ -z \"\${GSETTINGS_SCHEMA_DIR}\" ]; then + GSETTINGS_MANTID_PATH=\${INSTALLDIR}/share/glib-2.0/schemas +fi" +) + set(ERROR_CMD "-m mantidqt.dialogs.errorreports.main --exitcode=\$?") # Local dev version diff --git a/buildconfig/CMake/Packaging/launch_mantidworkbench.sh.in b/buildconfig/CMake/Packaging/launch_mantidworkbench.sh.in index 7cf29879f522..7d6ce873ca32 100644 --- a/buildconfig/CMake/Packaging/launch_mantidworkbench.sh.in +++ b/buildconfig/CMake/Packaging/launch_mantidworkbench.sh.in @@ -17,8 +17,11 @@ fi @GDB_DEFINITIONS@ +@GSETTINGS_SCHEMA_DEFINITIONS@ + # Launch the workbench LD_PRELOAD=${LOCAL_PRELOAD} \ PYTHONPATH=${LOCAL_PYTHONPATH} @QT_QPA@ \ + GSETTINGS_SCHEMA_DIR=${GSETTINGS_SCHEMA_DIR}:${GSETTINGS_MANTID_PATH} \ @WRAPPER_PREFIX@$VGLRUN $GDB \ @PYTHON_EXEC_LOCAL@@PYTHON_ARGS@ @MANTIDWORKBENCH_EXEC@ $SINGLEPROCESS "$@"@WRAPPER_POSTFIX@ diff --git a/docs/source/release/v6.11.0/Workbench/Bugfixes/38160.rst b/docs/source/release/v6.11.0/Workbench/Bugfixes/38160.rst new file mode 100644 index 000000000000..2cb7b35566b0 --- /dev/null +++ b/docs/source/release/v6.11.0/Workbench/Bugfixes/38160.rst @@ -0,0 +1 @@ +- Fixed the standalone not launching on Linux, especially IDAaaS. \ No newline at end of file diff --git a/installers/conda/common/common.sh b/installers/conda/common/common.sh index f84fe5c81bb3..b896be0e460b 100644 --- a/installers/conda/common/common.sh +++ b/installers/conda/common/common.sh @@ -29,6 +29,8 @@ function trim_conda() { mv "$bundle_conda_prefix"/share "$bundle_conda_prefix"/share_tmp mkdir "$bundle_conda_prefix"/share mv "$bundle_conda_prefix"/share_tmp/doc "$bundle_conda_prefix"/share/ + mkdir -p "$bundle_conda_prefix"/share/glib-2.0/schemas + mv "$bundle_conda_prefix"/share_tmp/glib-2.0/schemas "$bundle_conda_prefix"/share/glib-2.0/ # Heavily cut down translations mv "$bundle_conda_prefix"/translations "$bundle_conda_prefix"/translations_tmp mkdir -p "$bundle_conda_prefix"/translations/qtwebengine_locales