pass
- # Copy salome script
- salome_script = open(os.path.join(appliskel_dir, "salome")).read()
- salome_file = os.path.join(home_dir, "salome")
- try:
- os.remove(salome_file)
- except:
- pass
- env_modules = _config.get('env_modules', [])
- with open(salome_file, 'w') as fd:
- fd.write(salome_script.replace('MODULES = []', 'MODULES = {}'.format(env_modules)))
- os.chmod(salome_file, 0o755)
-
+ # Copy salome / salome_mesa scripts:
+
+ for scripts in ('salome', 'salome_mesa'):
+ salome_script = open(os.path.join(appliskel_dir, scripts)).read()
+ salome_file = os.path.join(home_dir, scripts)
+ try:
+ os.remove(salome_file)
+ except:
+ pass
+ env_modules = _config.get('env_modules', [])
+ with open(salome_file, 'w') as fd:
+ fd.write(salome_script.replace('MODULES = []', 'MODULES = {}'.format(env_modules)))
+ os.chmod(salome_file, 0o755)
# Add .salome-completion.sh file
shutil.copyfile(os.path.join(appliskel_dir, ".salome-completion.sh"),
--- /dev/null
+#! /usr/bin/env python3
+# Copyright (C) 2021 CEA/DEN, EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+#######
+# NOTE:
+#
+# This script is designed to work around bug/limitatiion on some machines like
+# scibian9 light machine and/or VMs.
+# The issue is that some GUI element in smesh are not displayed. For a full
+# discussion of the issue, EDF Redmine issue #22374.
+#
+
+import os
+import subprocess
+import sys
+
+MODULES = []
+
+
+def main(args):
+ ''' Load modules then launch salome
+ '''
+ if MODULES:
+ env_modules = MODULES[:]
+ env_modules_option = "--with-env-modules="
+ env_modules_l = [x for x in args if x.startswith(env_modules_option)]
+ if env_modules_l:
+ env_modules += env_modules_l[-1][len(env_modules_option):].split(',')
+ args = [x for x in args if not x.startswith(env_modules_option)]
+ env_modules_option += "%s" % ','.join(env_modules)
+ args.append(env_modules_option)
+
+ # Activate MESA rendering (see ...)
+ os.environ["XLIB_SKIP_ARGB_VISUALS"]=1
+ os.environ["MESA_GL_VERSION_OVERRIDE"]=4.5
+
+ appliPath = os.path.dirname(os.path.realpath(__file__))
+ os.environ["ROOT_SALOME_INSTALL"]=appliPath
+ proc = subprocess.Popen([os.path.join(appliPath, '.salome_run')] + args, close_fds=True)
+ out, err = proc.communicate()
+ sys.exit(proc.returncode)
+
+if __name__ == "__main__":
+ main(sys.argv[1:])