salome.kernel 9.14.0__cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of salome.kernel might be problematic. Click here for more details.
- salome/bin/salome/IDLparser.py +882 -0
- salome/bin/salome/KernelHelpersUseCases +0 -0
- salome/bin/salome/NSparam.py +51 -0
- salome/bin/salome/ORBConfigFile.py +55 -0
- salome/bin/salome/SALOMEDS_Client +0 -0
- salome/bin/salome/SALOMEDS_Server +0 -0
- salome/bin/salome/SALOME_ConnectionManagerServer +0 -0
- salome/bin/salome/SALOME_Container +0 -0
- salome/bin/salome/SALOME_ContainerPy.py +397 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_FT +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay +0 -0
- salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay_FT +0 -0
- salome/bin/salome/SALOME_DataScopeServer +0 -0
- salome/bin/salome/SALOME_DataScopeServer_SSL +0 -0
- salome/bin/salome/SALOME_LauncherServer +0 -0
- salome/bin/salome/SALOME_Logger_Server +0 -0
- salome/bin/salome/SALOME_ModuleCatalog_Client +0 -0
- salome/bin/salome/SALOME_ModuleCatalog_Server +0 -0
- salome/bin/salome/SALOME_Registry_Server +0 -0
- salome/bin/salome/TestComponentPy.py +71 -0
- salome/bin/salome/TestContainer +0 -0
- salome/bin/salome/TestContainerManager +0 -0
- salome/bin/salome/TestLauncher +0 -0
- salome/bin/salome/TestLifeCycleCORBA.py +89 -0
- salome/bin/salome/TestLogger +0 -0
- salome/bin/salome/TestLogger.py +27 -0
- salome/bin/salome/TestModuleCatalog.py +87 -0
- salome/bin/salome/Test_LifeCycleCORBA +0 -0
- salome/bin/salome/VERSION +3 -0
- salome/bin/salome/addToKillList.py +35 -0
- salome/bin/salome/app-quickstart.py +288 -0
- salome/bin/salome/appli/.bashrc +50 -0
- salome/bin/salome/appli/extra.env.d/001.py +39 -0
- salome/bin/salome/appli/python_test_driver.py +148 -0
- salome/bin/salome/appli/salome +193 -0
- salome/bin/salome/appli/salome_instance.py +31 -0
- salome/bin/salome/appli/salome_test_driver.py +150 -0
- salome/bin/salome/appli/salome_test_driver_gui.py +82 -0
- salome/bin/salome/appli_clean.sh +53 -0
- salome/bin/salome/appli_gen.py +606 -0
- salome/bin/salome/dummyexe_loggerTraceCollector +0 -0
- salome/bin/salome/envSalome.py +59 -0
- salome/bin/salome/killSalome.py +48 -0
- salome/bin/salome/killSalomeWithPort.py +56 -0
- salome/bin/salome/prepare_generating_doc.py +104 -0
- salome/bin/salome/pythonpath_reduction.py +184 -0
- salome/bin/salome/runConsole.py +39 -0
- salome/bin/salome/runIDLparser +58 -0
- salome/bin/salome/runRemote.py +101 -0
- salome/bin/salome/runSalome.py +30 -0
- salome/bin/salome/runSalomeNoServer.py +24 -0
- salome/bin/salome/runSalomeOld.py +36 -0
- salome/bin/salome/runSalomeOnDemand.py +41 -0
- salome/bin/salome/salomeContext.py +36 -0
- salome/bin/salome/salome_process_attach +44 -0
- salome/bin/salome/salome_process_launcher +58 -0
- salome/bin/salome/setenv.py +32 -0
- salome/bin/salome/showNS.py +33 -0
- salome/bin/salome/test/kernel/ArgvKeeper/CTestTestfile.cmake +31 -0
- salome/bin/salome/test/kernel/ArgvKeeper/TestArgvKeeper +0 -0
- salome/bin/salome/test/kernel/ArgvKeeper/test_ArgvKeeper.py +34 -0
- salome/bin/salome/test/kernel/CTestTestfile.cmake +49 -0
- salome/bin/salome/test/kernel/Container/CTestTestfile.cmake +29 -0
- salome/bin/salome/test/kernel/Container/testProxy.py +291 -0
- salome/bin/salome/test/kernel/Container/testcontainer.py +106 -0
- salome/bin/salome/test/kernel/KernelHelpers/CTestTestfile.cmake +31 -0
- salome/bin/salome/test/kernel/KernelHelpers/KernelHelpersUnitTests.hxx +58 -0
- salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers +0 -0
- salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers.py +55 -0
- salome/bin/salome/test/kernel/Launcher/CTestTestfile.cmake +43 -0
- salome/bin/salome/test/kernel/Launcher/TestSSLAttached.py +110 -0
- salome/bin/salome/test/kernel/Launcher/launcher_use_case.py +65 -0
- salome/bin/salome/test/kernel/Launcher/testCrashProofContainer.py +423 -0
- salome/bin/salome/test/kernel/Launcher/testPerfLogManager1.py +382 -0
- salome/bin/salome/test/kernel/Launcher/test_launcher.py +674 -0
- salome/bin/salome/test/kernel/Launcher/test_stress.sh +45 -0
- salome/bin/salome/test/kernel/Launcher_SWIG/CTestTestfile.cmake +30 -0
- salome/bin/salome/test/kernel/Launcher_SWIG/test_swig_launcher.py +706 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/LifeCycleCORBATest.hxx +105 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA +0 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA.py +93 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CTestTestfile.cmake +40 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CatalogResources_resource.xml +15 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/LifeCycleCORBA_SWIGTest.py +217 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/SALOME_TestComponentPy.py +49 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/TestLifeCycleCORBA_SWIG.py +100 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testcontainermanager.py +88 -0
- salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testresourcemanager.py +155 -0
- salome/bin/salome/test/kernel/NamingService/CTestTestfile.cmake +28 -0
- salome/bin/salome/test/kernel/NamingService/NamingServiceTest.hxx +169 -0
- salome/bin/salome/test/kernel/NamingService/TestNamingService +0 -0
- salome/bin/salome/test/kernel/NamingService/TestNamingService.py +64 -0
- salome/bin/salome/test/kernel/SALOMEDS/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMEDS/SALOMEDSTest.hxx +192 -0
- salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS +0 -0
- salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS.py +55 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/SALOMEDSImplTest.hxx +51 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl +0 -0
- salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl.py +55 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/SALOMELocalTraceTest.hxx +59 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace +0 -0
- salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace.py +40 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/SALOMETraceCollectorTest.hxx +51 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector +0 -0
- salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector.py +57 -0
- salome/bin/salome/test/kernel/UnitTests/CTestTestfile.cmake +28 -0
- salome/bin/salome/test/kernel/UnitTests/UnitTests +0 -0
- salome/bin/salome/test/kernel/UnitTests/UnitTests.py +89 -0
- salome/bin/salome/test/kernel/Utils/CTestTestfile.cmake +27 -0
- salome/bin/salome/test/kernel/Utils/TestUtils +0 -0
- salome/bin/salome/test/kernel/Utils/TestUtils.py +55 -0
- salome/bin/salome/test/kernel/Utils/UtilsTest.hxx +58 -0
- salome/bin/salome/test/kernel/lib/libLifeCycleCORBATest.so +0 -0
- salome/bin/salome/test/kernel/lib/libNamingServiceTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMEDSImplTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMEDSTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMELocalTraceTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSALOMETraceCollectorTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libSalomeKernelHelpersTest.so +0 -0
- salome/bin/salome/test/kernel/lib/libUtilsTest.so +0 -0
- salome/bin/salome/testDF +0 -0
- salome/bin/salome/testDS +0 -0
- salome/bin/salome/virtual_salome.py +38 -0
- salome/bin/salome/waitContainers.py +82 -0
- salome/bin/salome/waitNS.py +31 -0
- salome/kernel/ArgvKeeper.py +132 -0
- salome/kernel/Calcium_Ports_idl.py +645 -0
- salome/kernel/DSC_Engines_idl.py +443 -0
- salome/kernel/Engines/__init__.py +24 -0
- salome/kernel/Engines__POA/__init__.py +24 -0
- salome/kernel/Help.py +141 -0
- salome/kernel/KernelBasis.py +463 -0
- salome/kernel/KernelContainer.py +81 -0
- salome/kernel/KernelDS.py +87 -0
- salome/kernel/KernelLauncher.py +117 -0
- salome/kernel/KernelLogger.py +75 -0
- salome/kernel/KernelModuleCatalog.py +76 -0
- salome/kernel/KernelSDS.py +92 -0
- salome/kernel/KernelServices.py +105 -0
- salome/kernel/LifeCycleCORBA.py +92 -0
- salome/kernel/Logger_idl.py +89 -0
- salome/kernel/NSTEST/__init__.py +13 -0
- salome/kernel/NSTEST__POA/__init__.py +13 -0
- salome/kernel/NSparam_impl.py +50 -0
- salome/kernel/NamingService.py +365 -0
- salome/kernel/ORBConfigFile_impl.py +102 -0
- salome/kernel/Palm_Ports_idl.py +162 -0
- salome/kernel/PortManager.py +259 -0
- salome/kernel/Ports/Calcium_Ports/__init__.py +13 -0
- salome/kernel/Ports/Palm_Ports/__init__.py +13 -0
- salome/kernel/Ports/__init__.py +18 -0
- salome/kernel/Ports__POA/Calcium_Ports/__init__.py +13 -0
- salome/kernel/Ports__POA/Palm_Ports/__init__.py +13 -0
- salome/kernel/Ports__POA/__init__.py +18 -0
- salome/kernel/PyInterp.py +99 -0
- salome/kernel/Registry/__init__.py +13 -0
- salome/kernel/Registry__POA/__init__.py +13 -0
- salome/kernel/SALOME/__init__.py +19 -0
- salome/kernel/SALOMEDS/__init__.py +14 -0
- salome/kernel/SALOMEDS_Attributes_idl.py +2288 -0
- salome/kernel/SALOMEDS__POA/__init__.py +14 -0
- salome/kernel/SALOMEDS_idl.py +1590 -0
- salome/kernel/SALOMEWrappedStdType.py +383 -0
- salome/kernel/SALOME_Comm_idl.py +1045 -0
- salome/kernel/SALOME_CommonTypes_idl.py +69 -0
- salome/kernel/SALOME_ComponentPy.py +338 -0
- salome/kernel/SALOME_Component_idl.py +962 -0
- salome/kernel/SALOME_Container.py +242 -0
- salome/kernel/SALOME_ContainerHelper.py +840 -0
- salome/kernel/SALOME_ContainerManager_idl.py +236 -0
- salome/kernel/SALOME_DriverPy.py +86 -0
- salome/kernel/SALOME_Embedded_NamingService.py +41 -0
- salome/kernel/SALOME_Embedded_NamingService_ClientPy.py +59 -0
- salome/kernel/SALOME_Embedded_NamingService_idl.py +125 -0
- salome/kernel/SALOME_Exception_idl.py +75 -0
- salome/kernel/SALOME_ExternalServerLauncher_idl.py +199 -0
- salome/kernel/SALOME_GenericObj_idl.py +154 -0
- salome/kernel/SALOME_GlobalsImpl.py +38 -0
- salome/kernel/SALOME_Launcher_idl.py +327 -0
- salome/kernel/SALOME_Locker_idl.py +185 -0
- salome/kernel/SALOME_LogManager.py +103 -0
- salome/kernel/SALOME_LogManager_idl.py +348 -0
- salome/kernel/SALOME_Logger/__init__.py +13 -0
- salome/kernel/SALOME_Logger__POA/__init__.py +13 -0
- salome/kernel/SALOME_MPIObject_idl.py +100 -0
- salome/kernel/SALOME_ModuleCatalog/__init__.py +13 -0
- salome/kernel/SALOME_ModuleCatalog__POA/__init__.py +13 -0
- salome/kernel/SALOME_ModuleCatalog_idl.py +624 -0
- salome/kernel/SALOME_NamingServicePy.py +313 -0
- salome/kernel/SALOME_PACOExtension_idl.py +292 -0
- salome/kernel/SALOME_ParamPorts_idl.py +102 -0
- salome/kernel/SALOME_Parametric_idl.py +154 -0
- salome/kernel/SALOME_Ports_idl.py +347 -0
- salome/kernel/SALOME_PyNode.py +1557 -0
- salome/kernel/SALOME_PyNode_idl.py +387 -0
- salome/kernel/SALOME_Registry_idl.py +155 -0
- salome/kernel/SALOME_ResourcesManager_idl.py +215 -0
- salome/kernel/SALOME_SDS_idl.py +1181 -0
- salome/kernel/SALOME_Session_idl.py +214 -0
- salome/kernel/SALOME_TYPES/__init__.py +14 -0
- salome/kernel/SALOME_TYPES__POA/__init__.py +14 -0
- salome/kernel/SALOME_TestComponent_idl.py +121 -0
- salome/kernel/SALOME_TestModuleCatalog/__init__.py +13 -0
- salome/kernel/SALOME_TestModuleCatalog__POA/__init__.py +13 -0
- salome/kernel/SALOME_TestModuleCatalog_idl.py +194 -0
- salome/kernel/SALOME_Trace.py +96 -0
- salome/kernel/SALOME_Types_idl.py +81 -0
- salome/kernel/SALOME__POA/__init__.py +19 -0
- salome/kernel/SALOME_utilities.py +63 -0
- salome/kernel/SalomeSDSClt.py +552 -0
- salome/kernel/TestKiller.py +76 -0
- salome/kernel/Utils_Identity.py +93 -0
- salome/kernel/_ArgvKeeper.so +0 -0
- salome/kernel/_KernelBasis.so +0 -0
- salome/kernel/_KernelContainer.so +0 -0
- salome/kernel/_KernelDS.so +0 -0
- salome/kernel/_KernelLauncher.so +0 -0
- salome/kernel/_KernelLogger.so +0 -0
- salome/kernel/_KernelModuleCatalog.so +0 -0
- salome/kernel/_KernelSDS.so +0 -0
- salome/kernel/_KernelServices.so +0 -0
- salome/kernel/_NamingService.so +0 -0
- salome/kernel/_calcium.so +0 -0
- salome/kernel/_libNOTIFICATION.so +0 -0
- salome/kernel/_libSALOME_Comm.so +0 -0
- salome/kernel/_libSALOME_LifeCycleCORBA.so +0 -0
- salome/kernel/_pylauncher.so +0 -0
- salome/kernel/addToKillList_impl.py +127 -0
- salome/kernel/batchmode_salome.py +295 -0
- salome/kernel/calcium.py +866 -0
- salome/kernel/dsccalcium.py +98 -0
- salome/kernel/iparameters.py +255 -0
- salome/kernel/kernel_test.py +114 -0
- salome/kernel/killSalomeWithPort_impl.py +518 -0
- salome/kernel/killSalome_impl.py +94 -0
- salome/kernel/launchConfigureParser.py +1234 -0
- salome/kernel/launcher_proxy.py +122 -0
- salome/kernel/libNOTIFICATION.py +119 -0
- salome/kernel/libSALOME_Comm.py +85 -0
- salome/kernel/libSALOME_LifeCycleCORBA.py +232 -0
- salome/kernel/main.py +8 -0
- salome/kernel/nameserver.py +134 -0
- salome/kernel/nstest_idl.py +129 -0
- salome/kernel/omnipatch.py +136 -0
- salome/kernel/orbmodule.py +246 -0
- salome/kernel/parseConfigFile.py +261 -0
- salome/kernel/pylauncher.py +883 -0
- salome/kernel/runConsole_impl.py +224 -0
- salome/kernel/runSalomeCommon.py +418 -0
- salome/kernel/runSalomeNoServer_impl.py +48 -0
- salome/kernel/runSalomeOld_impl.py +603 -0
- salome/kernel/runSalomeOnDemand_impl.py +72 -0
- salome/kernel/runSalome_impl.py +341 -0
- salome/kernel/runSession.py +360 -0
- salome/kernel/runTests.py +90 -0
- salome/kernel/salome/__init__.py +646 -0
- salome/kernel/salome/kernel/__init__.py +111 -0
- salome/kernel/salome/kernel/datamodeler.py +363 -0
- salome/kernel/salome/kernel/deprecation.py +165 -0
- salome/kernel/salome/kernel/diclookup.py +137 -0
- salome/kernel/salome/kernel/enumerate.py +232 -0
- salome/kernel/salome/kernel/logconfig.py +27 -0
- salome/kernel/salome/kernel/logger.py +290 -0
- salome/kernel/salome/kernel/parametric/__init__.py +26 -0
- salome/kernel/salome/kernel/parametric/compo_utils.py +137 -0
- salome/kernel/salome/kernel/parametric/pyscript_utils.py +135 -0
- salome/kernel/salome/kernel/parametric/study_exchange_vars.py +285 -0
- salome/kernel/salome/kernel/pyunittester.py +184 -0
- salome/kernel/salome/kernel/services.py +267 -0
- salome/kernel/salome/kernel/studyedit.py +637 -0
- salome/kernel/salome/kernel/syshelper.py +116 -0
- salome/kernel/salome/kernel/termcolor.py +239 -0
- salome/kernel/salome/kernel/testdata.py +159 -0
- salome/kernel/salome/kernel/threadhelper.py +385 -0
- salome/kernel/salome/kernel/uiexception.py +121 -0
- salome/kernel/salome/kernel/unittester.py +89 -0
- salome/kernel/salomeContextUtils.py +353 -0
- salome/kernel/salomeContext_impl.py +731 -0
- salome/kernel/salome_ComponentGUI.py +92 -0
- salome/kernel/salome_genericobj.py +44 -0
- salome/kernel/salome_iapp.py +206 -0
- salome/kernel/salome_instance_impl.py +109 -0
- salome/kernel/salome_kernel_utils.py +88 -0
- salome/kernel/salome_notebook.py +183 -0
- salome/kernel/salome_psutil.py +94 -0
- salome/kernel/salome_pynode.py +74 -0
- salome/kernel/salome_study.py +347 -0
- salome/kernel/salome_test.py +56 -0
- salome/kernel/salome_utils.py +563 -0
- salome/kernel/salome_version.py +164 -0
- salome/kernel/searchFreePort.py +130 -0
- salome/kernel/server.py +154 -0
- salome/kernel/setenv_impl.py +240 -0
- salome/kernel/version_and_config.py +24 -0
- salome/share/salome/resources/kernel/Anita semi square.ttf +0 -0
- salome/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
- salome/share/salome/resources/kernel/CatalogResources.xml +4 -0
- salome/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
- salome/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
- salome/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
- salome/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
- salome/share/salome/resources/kernel/app-template/LICENCE +504 -0
- salome/share/salome/resources/kernel/app-template/README +0 -0
- salome/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
- salome/share/salome/resources/kernel/app-template/doc/README +1 -0
- salome/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
- salome/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
- salome/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
- salome/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
- salome/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
- salome/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
- salome/share/salome/resources/kernel/app-template/resources/about.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
- salome/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
- salome/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
- salome/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
- salome/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
- salome/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
- salome/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
- salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
- salome/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
- salome/share/salome/resources/kernel/app-template/src/tests/README +1 -0
- salome/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
- salome/share/salome/resources/kernel/background.png +0 -0
- salome/share/salome/resources/kernel/channel.cfg +278 -0
- salome/share/salome/resources/kernel/testLauncher.xml +10 -0
- salome.kernel-9.14.0.dist-info/METADATA +24 -0
- salome.kernel-9.14.0.dist-info/RECORD +399 -0
- salome.kernel-9.14.0.dist-info/WHEEL +6 -0
- salome.kernel-9.14.0.dist-info/entry_points.txt +2 -0
- salome.kernel.libs/libArgvKeeper-822351d5.so +0 -0
- salome.kernel.libs/libCOS4-b4544fb9.so.2.5 +0 -0
- salome.kernel.libs/libCOSDynamic4-618dbb1d.so.2.5 +0 -0
- salome.kernel.libs/libCalciumC-91a70951.so +0 -0
- salome.kernel.libs/libDF-281cc999.so +0 -0
- salome.kernel.libs/libLauncher-d5172385.so +0 -0
- salome.kernel.libs/libLauncherWrapHelper-b990b914.so +0 -0
- salome.kernel.libs/libOpUtil-b4b3b9b6.so +0 -0
- salome.kernel.libs/libRegistry-e24daafb.so +0 -0
- salome.kernel.libs/libResourcesManager-f4ef9548.so +0 -0
- salome.kernel.libs/libSALOMEBasics-f4d874ac.so +0 -0
- salome.kernel.libs/libSALOMELocalTrace-a3992e5b.so +0 -0
- salome.kernel.libs/libSALOMELog-55805468.so +0 -0
- salome.kernel.libs/libSalomeCalcium-781cb934.so +0 -0
- salome.kernel.libs/libSalomeCatalog-5b91a229.so +0 -0
- salome.kernel.libs/libSalomeCommunication-6013ebb8.so +0 -0
- salome.kernel.libs/libSalomeContainer-f02c3fe1.so +0 -0
- salome.kernel.libs/libSalomeContainerServer-9c26efb9.so +0 -0
- salome.kernel.libs/libSalomeDS-fb6237e6.so +0 -0
- salome.kernel.libs/libSalomeDSCContainer-9aba4abc.so +0 -0
- salome.kernel.libs/libSalomeDSCSuperv-cb0c82c4.so +0 -0
- salome.kernel.libs/libSalomeDSCSupervBasic-5e119792.so +0 -0
- salome.kernel.libs/libSalomeDSClient-cfd124a5.so +0 -0
- salome.kernel.libs/libSalomeDSImpl-b0ca6717.so +0 -0
- salome.kernel.libs/libSalomeDatastream-755ff3cb.so +0 -0
- salome.kernel.libs/libSalomeGenericObj-2571fdbd.so +0 -0
- salome.kernel.libs/libSalomeHDFPersist-97851d0e.so +0 -0
- salome.kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
- salome.kernel.libs/libSalomeKernelHelpers-ac8d226c.so +0 -0
- salome.kernel.libs/libSalomeLauncher-773b54ed.so +0 -0
- salome.kernel.libs/libSalomeLifeCycleCORBA-3e113d61.so +0 -0
- salome.kernel.libs/libSalomeLoggerServer-973d3d94.so +0 -0
- salome.kernel.libs/libSalomeNS-d87194d5.so +0 -0
- salome.kernel.libs/libSalomeNotification-83bfb2ff.so +0 -0
- salome.kernel.libs/libSalomeORB-07883efb.so +0 -0
- salome.kernel.libs/libSalomePalm-b748443e.so +0 -0
- salome.kernel.libs/libSalomeResourcesManager-5a7077a0.so +0 -0
- salome.kernel.libs/libSalomeSDS-e1ecb580.so +0 -0
- salome.kernel.libs/libSalomeTestComponentEngine-ae724ce1.so +0 -0
- salome.kernel.libs/libTOOLSDS-82342bb4.so +0 -0
- salome.kernel.libs/libbatch-6b5b319f.so +0 -0
- salome.kernel.libs/libboost_atomic-489c2d94.so.1.81.0 +0 -0
- salome.kernel.libs/libboost_filesystem-e610b554.so.1.81.0 +0 -0
- salome.kernel.libs/libboost_system-4a7650ea.so.1.81.0 +0 -0
- salome.kernel.libs/libcppunit-1-17e77af1.12.so.1.0.0 +0 -0
- salome.kernel.libs/libhdf5-60e81d69.so.103.0.0 +0 -0
- salome.kernel.libs/liblzma-004595ca.so.5.2.2 +0 -0
- salome.kernel.libs/libomniDynamic4-9edc765d.so.2.5 +0 -0
- salome.kernel.libs/libomniORB4-4725824d.so.2.5 +0 -0
- salome.kernel.libs/libomnithread-99f9d0d3.so.4.1 +0 -0
- salome.kernel.libs/libwith_loggerTraceCollector-7ed0f3a0.so +0 -0
- salome.kernel.libs/libwith_loggerTraceCollector.so +0 -0
- salome.kernel.libs/libxml2-3998bec4.so.2.9.1 +0 -0
|
@@ -0,0 +1,606 @@
|
|
|
1
|
+
#! /usr/bin/env python3
|
|
2
|
+
# Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
|
|
3
|
+
#
|
|
4
|
+
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
|
5
|
+
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
|
6
|
+
#
|
|
7
|
+
# This library is free software; you can redistribute it and/or
|
|
8
|
+
# modify it under the terms of the GNU Lesser General Public
|
|
9
|
+
# License as published by the Free Software Foundation; either
|
|
10
|
+
# version 2.1 of the License, or (at your option) any later version.
|
|
11
|
+
#
|
|
12
|
+
# This library is distributed in the hope that it will be useful,
|
|
13
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
14
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
15
|
+
# Lesser General Public License for more details.
|
|
16
|
+
#
|
|
17
|
+
# You should have received a copy of the GNU Lesser General Public
|
|
18
|
+
# License along with this library; if not, write to the Free Software
|
|
19
|
+
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
20
|
+
#
|
|
21
|
+
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
|
22
|
+
#
|
|
23
|
+
|
|
24
|
+
# \file appli_gen.py
|
|
25
|
+
# Create a %SALOME application (virtual Salome installation)
|
|
26
|
+
#
|
|
27
|
+
|
|
28
|
+
import argparse
|
|
29
|
+
import json
|
|
30
|
+
import os
|
|
31
|
+
from pathlib import Path
|
|
32
|
+
import sys
|
|
33
|
+
import shutil
|
|
34
|
+
import virtual_salome
|
|
35
|
+
import xml.sax
|
|
36
|
+
import subprocess
|
|
37
|
+
import venv
|
|
38
|
+
|
|
39
|
+
usage = """%(prog)s [options]
|
|
40
|
+
Typical use is:
|
|
41
|
+
%(prog)s
|
|
42
|
+
Typical use with options is:
|
|
43
|
+
%(prog)s --verbose --prefix=<install directory> --config=<configuration file>
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
# --- names of tags in XML configuration file
|
|
47
|
+
appli_tag = "application"
|
|
48
|
+
prereq_tag = "prerequisites"
|
|
49
|
+
context_tag = "context"
|
|
50
|
+
venv_directory_tag = "venv_directory"
|
|
51
|
+
sha1_collect_tag = "sha1_collections"
|
|
52
|
+
system_conf_tag = "system_conf"
|
|
53
|
+
modules_tag = "modules"
|
|
54
|
+
module_tag = "module"
|
|
55
|
+
samples_tag = "samples"
|
|
56
|
+
extra_tests_tag = "extra_tests"
|
|
57
|
+
extra_test_tag = "extra_test"
|
|
58
|
+
resources_tag = "resources"
|
|
59
|
+
env_modules_tag = "env_modules"
|
|
60
|
+
env_module_tag = "env_module"
|
|
61
|
+
python_tag = "python"
|
|
62
|
+
|
|
63
|
+
# --- names of attributes in XML configuration file
|
|
64
|
+
nam_att = "name"
|
|
65
|
+
path_att = "path"
|
|
66
|
+
gui_att = "gui"
|
|
67
|
+
version_att = "version"
|
|
68
|
+
# -----------------------------------------------------------------------------
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
# --- xml reader for SALOME application configuration file
|
|
72
|
+
|
|
73
|
+
class xml_parser:
|
|
74
|
+
def __init__(self, fileName):
|
|
75
|
+
print("Configure parser: processing %s ..." % fileName)
|
|
76
|
+
self.space = []
|
|
77
|
+
self.config = {}
|
|
78
|
+
self.config["modules"] = []
|
|
79
|
+
self.config["guimodules"] = []
|
|
80
|
+
self.config["extra_tests"] = []
|
|
81
|
+
self.config["env_modules"] = []
|
|
82
|
+
parser = xml.sax.make_parser()
|
|
83
|
+
parser.setContentHandler(self)
|
|
84
|
+
parser.parse(fileName)
|
|
85
|
+
pass
|
|
86
|
+
|
|
87
|
+
def boolValue(self, text):
|
|
88
|
+
if text in ("yes", "y", "1"):
|
|
89
|
+
return 1
|
|
90
|
+
elif text in ("no", "n", "0"):
|
|
91
|
+
return 0
|
|
92
|
+
else:
|
|
93
|
+
return text
|
|
94
|
+
pass
|
|
95
|
+
|
|
96
|
+
def startElement(self, name, attrs):
|
|
97
|
+
self.space.append(name)
|
|
98
|
+
self.current = None
|
|
99
|
+
# --- if we are analyzing "prerequisites" element then store its "path" attribute
|
|
100
|
+
if self.space == [appli_tag, prereq_tag] and path_att in attrs.getNames():
|
|
101
|
+
self.config["prereq_path"] = attrs.getValue( path_att )
|
|
102
|
+
pass
|
|
103
|
+
# --- if we are analyzing "context" element then store its "path" attribute
|
|
104
|
+
if self.space == [appli_tag, context_tag] and path_att in attrs.getNames():
|
|
105
|
+
self.config["context_path"] = attrs.getValue( path_att )
|
|
106
|
+
pass
|
|
107
|
+
# --- if we are analyzing "venv_directory" element then store its "path" attribute
|
|
108
|
+
if self.space == [appli_tag, venv_directory_tag] and path_att in attrs.getNames():
|
|
109
|
+
self.config["venv_directory_path"] = attrs.getValue( path_att )
|
|
110
|
+
pass
|
|
111
|
+
# --- if we are analyzing "sha1_collection" element then store its "path" attribute
|
|
112
|
+
if self.space == [appli_tag, sha1_collect_tag] and path_att in attrs.getNames():
|
|
113
|
+
self.config["sha1_collect_path"] = attrs.getValue( path_att )
|
|
114
|
+
pass
|
|
115
|
+
# --- if we are analyzing "python" element then store its "version" attribute
|
|
116
|
+
if self.space == [appli_tag, python_tag] and version_att in attrs.getNames():
|
|
117
|
+
self.config["python_version"] = attrs.getValue( version_att )
|
|
118
|
+
pass
|
|
119
|
+
# --- if we are analyzing "system_conf" element then store its "path" attribute
|
|
120
|
+
if self.space == [appli_tag, system_conf_tag] and path_att in attrs.getNames():
|
|
121
|
+
self.config["system_conf_path"] = attrs.getValue( path_att )
|
|
122
|
+
pass
|
|
123
|
+
# --- if we are analyzing "resources" element then store its "path" attribute
|
|
124
|
+
if self.space == [appli_tag, resources_tag] and path_att in attrs.getNames():
|
|
125
|
+
self.config["resources_path"] = attrs.getValue( path_att )
|
|
126
|
+
pass
|
|
127
|
+
# --- if we are analyzing "samples" element then store its "path" attribute
|
|
128
|
+
if self.space == [appli_tag, samples_tag] and path_att in attrs.getNames():
|
|
129
|
+
self.config["samples_path"] = attrs.getValue( path_att )
|
|
130
|
+
pass
|
|
131
|
+
# --- if we are analyzing "module" element then store its "name" and "path" attributes
|
|
132
|
+
elif self.space == [appli_tag,modules_tag,module_tag] and \
|
|
133
|
+
nam_att in attrs.getNames() and \
|
|
134
|
+
path_att in attrs.getNames():
|
|
135
|
+
nam = attrs.getValue( nam_att )
|
|
136
|
+
path = attrs.getValue( path_att )
|
|
137
|
+
gui = 1
|
|
138
|
+
if gui_att in attrs.getNames():
|
|
139
|
+
gui = self.boolValue(attrs.getValue( gui_att ))
|
|
140
|
+
pass
|
|
141
|
+
self.config["modules"].append(nam)
|
|
142
|
+
self.config[nam]=path
|
|
143
|
+
if gui:
|
|
144
|
+
self.config["guimodules"].append(nam)
|
|
145
|
+
pass
|
|
146
|
+
pass
|
|
147
|
+
# --- if we are analyzing "env_module" element then store its "name" attribute
|
|
148
|
+
elif self.space == [appli_tag, env_modules_tag, env_module_tag] and \
|
|
149
|
+
nam_att in attrs.getNames():
|
|
150
|
+
nam = attrs.getValue( nam_att )
|
|
151
|
+
self.config["env_modules"].append(nam)
|
|
152
|
+
pass
|
|
153
|
+
# --- if we are analyzing "extra_test" element then store its "name" and "path" attributes
|
|
154
|
+
elif self.space == [appli_tag,extra_tests_tag,extra_test_tag] and \
|
|
155
|
+
nam_att in attrs.getNames() and \
|
|
156
|
+
path_att in attrs.getNames():
|
|
157
|
+
nam = attrs.getValue( nam_att )
|
|
158
|
+
path = attrs.getValue( path_att )
|
|
159
|
+
self.config["extra_tests"].append(nam)
|
|
160
|
+
self.config[nam]=path
|
|
161
|
+
pass
|
|
162
|
+
pass
|
|
163
|
+
|
|
164
|
+
def endElement(self, name):
|
|
165
|
+
self.space.pop()
|
|
166
|
+
self.current = None
|
|
167
|
+
pass
|
|
168
|
+
|
|
169
|
+
def characters(self, content):
|
|
170
|
+
pass
|
|
171
|
+
|
|
172
|
+
def processingInstruction(self, target, data):
|
|
173
|
+
pass
|
|
174
|
+
|
|
175
|
+
def setDocumentLocator(self, locator):
|
|
176
|
+
pass
|
|
177
|
+
|
|
178
|
+
def startDocument(self):
|
|
179
|
+
self.read = None
|
|
180
|
+
pass
|
|
181
|
+
|
|
182
|
+
def endDocument(self):
|
|
183
|
+
self.read = None
|
|
184
|
+
pass
|
|
185
|
+
|
|
186
|
+
# -----------------------------------------------------------------------------
|
|
187
|
+
|
|
188
|
+
class params:
|
|
189
|
+
pass
|
|
190
|
+
|
|
191
|
+
# -----------------------------------------------------------------------------
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
def update_shebang(source_path, target_path, home_dir):
|
|
195
|
+
# Chemin vers l'interpréteur Python de l'application
|
|
196
|
+
python_executable = Path(home_dir, "bin") / Path(sys.executable).name
|
|
197
|
+
|
|
198
|
+
# Lire le contenu du fichier source
|
|
199
|
+
source_file = Path(source_path)
|
|
200
|
+
lines = source_file.read_text().splitlines()
|
|
201
|
+
|
|
202
|
+
# Vérifier et mettre à jour le shebang
|
|
203
|
+
if lines[0].startswith('#!'):
|
|
204
|
+
lines[0] = f'#!{python_executable}'
|
|
205
|
+
else:
|
|
206
|
+
lines.insert(0, f'#!{python_executable}')
|
|
207
|
+
|
|
208
|
+
# Écrire le contenu mis à jour dans le fichier cible
|
|
209
|
+
target_file = Path(target_path)
|
|
210
|
+
target_file.write_text('\n'.join(lines) + '\n')
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
def makedirs(namedir):
|
|
214
|
+
if os.path.exists(namedir):
|
|
215
|
+
dirbak = namedir+".bak"
|
|
216
|
+
if os.path.exists(dirbak):
|
|
217
|
+
shutil.rmtree(dirbak)
|
|
218
|
+
os.rename(namedir, dirbak)
|
|
219
|
+
os.listdir(dirbak) #sert seulement a mettre a jour le systeme de fichier sur certaines machines
|
|
220
|
+
os.makedirs(namedir)
|
|
221
|
+
|
|
222
|
+
def install(prefix, config_file, verbose=0):
|
|
223
|
+
home_dir = os.path.abspath(os.path.expanduser(prefix))
|
|
224
|
+
filename = os.path.abspath(os.path.expanduser(config_file))
|
|
225
|
+
|
|
226
|
+
venv.create(
|
|
227
|
+
env_dir=home_dir,
|
|
228
|
+
with_pip=True,
|
|
229
|
+
)
|
|
230
|
+
|
|
231
|
+
_config = {}
|
|
232
|
+
try:
|
|
233
|
+
parser = xml_parser(filename)
|
|
234
|
+
_config = parser.config
|
|
235
|
+
except xml.sax.SAXParseException as inst:
|
|
236
|
+
print(inst.getMessage())
|
|
237
|
+
print("Configure parser: parse error in configuration file %s" % filename)
|
|
238
|
+
pass
|
|
239
|
+
except xml.sax.SAXException as inst:
|
|
240
|
+
print(inst.args)
|
|
241
|
+
print("Configure parser: error in configuration file %s" % filename)
|
|
242
|
+
pass
|
|
243
|
+
except Exception:
|
|
244
|
+
print("Configure parser: Error : can not read configuration file %s, check existence and rights" % filename)
|
|
245
|
+
pass
|
|
246
|
+
|
|
247
|
+
if verbose:
|
|
248
|
+
for cle,val in _config.items():
|
|
249
|
+
print(cle, val)
|
|
250
|
+
pass
|
|
251
|
+
|
|
252
|
+
# Remove CTestTestfile.cmake; this file will be filled by successive calls to link_module and link_extra_test
|
|
253
|
+
try:
|
|
254
|
+
ctest_file = os.path.join(home_dir, 'bin', 'salome', 'test', "CTestTestfile.cmake")
|
|
255
|
+
os.remove(ctest_file)
|
|
256
|
+
except Exception:
|
|
257
|
+
pass
|
|
258
|
+
|
|
259
|
+
# Add KERNEL if not in config
|
|
260
|
+
# We use KERNEL that provides appli_gen script
|
|
261
|
+
modules = _config.get("modules", [])
|
|
262
|
+
if "KERNEL" not in modules:
|
|
263
|
+
# We suppose that appli_gen is installed in KERNEL_ROOT_DIR/bin/salome
|
|
264
|
+
kernel_path = Path(__file__).resolve().parents[2].as_posix()
|
|
265
|
+
_config["KERNEL"] = kernel_path
|
|
266
|
+
modules.insert(0, "KERNEL")
|
|
267
|
+
kernel_module_path = None
|
|
268
|
+
|
|
269
|
+
for module in modules:
|
|
270
|
+
if module in _config:
|
|
271
|
+
module_path = _config[module]
|
|
272
|
+
print("--- add module ", module, module_path)
|
|
273
|
+
options = params()
|
|
274
|
+
options.verbose = verbose
|
|
275
|
+
options.clear = 0
|
|
276
|
+
options.prefix = home_dir
|
|
277
|
+
options.module_name = module
|
|
278
|
+
options.module_path = module_path
|
|
279
|
+
virtual_salome.link_module(options)
|
|
280
|
+
# To fix GEOM_TestXAO issue https://codev-tuleap.cea.fr/plugins/tracker/?aid=16599
|
|
281
|
+
if module == "GEOM":
|
|
282
|
+
# link <appli_path>/bin/salome/test/<module> to <module_path>/bin/salome/test
|
|
283
|
+
test_dir=os.path.join(home_dir,'bin','salome', 'test')
|
|
284
|
+
module_dir=os.path.abspath(options.module_path)
|
|
285
|
+
xao_link=os.path.join(module_dir,'bin','salome', 'test', "xao")
|
|
286
|
+
print("link %s --> %s"%(os.path.join(test_dir, "xao"), xao_link))
|
|
287
|
+
virtual_salome.symlink(xao_link, os.path.join(test_dir, "xao"))
|
|
288
|
+
if module == "KERNEL":
|
|
289
|
+
kernel_module_path = module_path
|
|
290
|
+
pass
|
|
291
|
+
pass
|
|
292
|
+
|
|
293
|
+
for extra_test in _config.get("extra_tests", []):
|
|
294
|
+
if extra_test in _config:
|
|
295
|
+
print("--- add extra test ", extra_test, _config[extra_test])
|
|
296
|
+
options = params()
|
|
297
|
+
options.verbose = verbose
|
|
298
|
+
options.clear = 0
|
|
299
|
+
options.prefix = home_dir
|
|
300
|
+
options.extra_test_name = extra_test
|
|
301
|
+
options.extra_test_path = _config[extra_test]
|
|
302
|
+
virtual_salome.link_extra_test(options)
|
|
303
|
+
pass
|
|
304
|
+
pass
|
|
305
|
+
|
|
306
|
+
# Sort test labels by name in generated CTestTestfile.cmake
|
|
307
|
+
with open(ctest_file) as f:
|
|
308
|
+
lines = f.readlines()
|
|
309
|
+
lines.sort()
|
|
310
|
+
with open(ctest_file, "w") as f:
|
|
311
|
+
f.write("".join(lines))
|
|
312
|
+
|
|
313
|
+
# Generate CTestCustom.cmake to handle long output
|
|
314
|
+
ctest_custom = os.path.join(home_dir, 'bin', 'salome', 'test', "CTestCustom.cmake")
|
|
315
|
+
with open(ctest_custom, 'w') as f:
|
|
316
|
+
f.write("SET(CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 1048576) # 1MB\n")
|
|
317
|
+
f.write("SET(CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 1048576) # 1MB\n")
|
|
318
|
+
|
|
319
|
+
appliskel_dir = os.path.join(prefix, 'bin', 'salome', 'appliskel')
|
|
320
|
+
|
|
321
|
+
for fn in ('envd',
|
|
322
|
+
'runRemote.sh',
|
|
323
|
+
'runRemoteSSL.sh',
|
|
324
|
+
'.bashrc',
|
|
325
|
+
):
|
|
326
|
+
virtual_salome.symlink( os.path.join( appliskel_dir, fn ), os.path.join( home_dir, fn) )
|
|
327
|
+
pass
|
|
328
|
+
|
|
329
|
+
if filename != os.path.join(home_dir,"config_appli.xml"):
|
|
330
|
+
shutil.copyfile(filename, os.path.join(home_dir,"config_appli.xml"))
|
|
331
|
+
pass
|
|
332
|
+
|
|
333
|
+
# Creation of env.d directory
|
|
334
|
+
virtual_salome.mkdir(os.path.join(home_dir,'env.d'))
|
|
335
|
+
|
|
336
|
+
venv_directory_path = _config.get('venv_directory_path')
|
|
337
|
+
if venv_directory_path and os.path.isdir(venv_directory_path):
|
|
338
|
+
virtual_salome.symlink(venv_directory_path, os.path.join(home_dir, "venv"))
|
|
339
|
+
|
|
340
|
+
# Get the env modules which will be loaded
|
|
341
|
+
# In the same way as: module load [MODULE_LIST]
|
|
342
|
+
env_modules = _config.get('env_modules', [])
|
|
343
|
+
if env_modules:
|
|
344
|
+
with open(os.path.join(home_dir, 'env_modules.json'), 'w') as fd:
|
|
345
|
+
json.dump({"env_modules": env_modules}, fd)
|
|
346
|
+
with open(os.path.join(home_dir, 'env.d', 'envModules.sh'), 'w') as fd:
|
|
347
|
+
fd.write('#!/bin/bash\n')
|
|
348
|
+
fd.write('module load %s\n' % (' '.join(env_modules)))
|
|
349
|
+
|
|
350
|
+
# Copy salome / salome_mesa scripts:
|
|
351
|
+
for scripts in ('getAppliPath.py',
|
|
352
|
+
'kill_remote_containers.py',
|
|
353
|
+
'.salome_run',
|
|
354
|
+
'update_catalogs.py',
|
|
355
|
+
'salome',
|
|
356
|
+
'salome_mesa',
|
|
357
|
+
):
|
|
358
|
+
salome_script = os.path.join(appliskel_dir, scripts)
|
|
359
|
+
salome_file = os.path.join(home_dir, scripts)
|
|
360
|
+
update_shebang(salome_script, salome_file, home_dir)
|
|
361
|
+
os.chmod(salome_file, 0o755)
|
|
362
|
+
|
|
363
|
+
# Add .salome-completion.sh file
|
|
364
|
+
shutil.copyfile(os.path.join(appliskel_dir, ".salome-completion.sh"),
|
|
365
|
+
os.path.join(home_dir, ".salome-completion.sh"))
|
|
366
|
+
|
|
367
|
+
if "prereq_path" in _config and os.path.isfile(_config["prereq_path"]):
|
|
368
|
+
shutil.copyfile(_config["prereq_path"],
|
|
369
|
+
os.path.join(home_dir, 'env.d', 'envProducts.sh'))
|
|
370
|
+
pass
|
|
371
|
+
else:
|
|
372
|
+
print("WARNING: prerequisite file does not exist")
|
|
373
|
+
pass
|
|
374
|
+
|
|
375
|
+
if "context_path" in _config and os.path.isfile(_config["context_path"]):
|
|
376
|
+
shutil.copyfile(_config["context_path"],
|
|
377
|
+
os.path.join(home_dir, 'env.d', 'envProducts.cfg'))
|
|
378
|
+
pass
|
|
379
|
+
else:
|
|
380
|
+
print("WARNING: context file does not exist")
|
|
381
|
+
pass
|
|
382
|
+
|
|
383
|
+
if "sha1_collect_path" in _config and os.path.isfile(_config["sha1_collect_path"]):
|
|
384
|
+
shutil.copyfile(_config["sha1_collect_path"],
|
|
385
|
+
os.path.join(home_dir, 'sha1_collections.txt'))
|
|
386
|
+
pass
|
|
387
|
+
else:
|
|
388
|
+
print("WARNING: sha1 collections file does not exist")
|
|
389
|
+
pass
|
|
390
|
+
|
|
391
|
+
if "system_conf_path" in _config and os.path.isfile(_config["system_conf_path"]):
|
|
392
|
+
shutil.copyfile(_config["system_conf_path"],
|
|
393
|
+
os.path.join(home_dir, 'env.d', 'envConfSystem.sh'))
|
|
394
|
+
pass
|
|
395
|
+
|
|
396
|
+
# Create environment file: configSalome.sh
|
|
397
|
+
|
|
398
|
+
if "python_version" in _config:
|
|
399
|
+
versionPython_split = _config["python_version"].split('.')
|
|
400
|
+
versionPython = versionPython_split[0] + "." + versionPython_split[1]
|
|
401
|
+
else:
|
|
402
|
+
cmd='source %s && python3 -c "import sys ; sys.stdout.write(\\"{}.{}\\".format(sys.version_info.major,sys.version_info.minor))"' %(_config["prereq_path"])
|
|
403
|
+
versionPython=subprocess.check_output(['/bin/bash', '-l' ,'-c',cmd]).decode("utf-8")
|
|
404
|
+
|
|
405
|
+
venv_directory_path = None
|
|
406
|
+
if "venv_directory_path" in _config:
|
|
407
|
+
venv_directory_path = _config["venv_directory_path"]
|
|
408
|
+
venv_bin_directory_path = os.path.join(venv_directory_path, 'bin')
|
|
409
|
+
venv_pip_executable = os.path.join(venv_bin_directory_path, 'pip')
|
|
410
|
+
venv_python_executable = os.path.join(venv_bin_directory_path, 'python')
|
|
411
|
+
if os.path.isdir(venv_directory_path) and os.path.isfile(venv_pip_executable):
|
|
412
|
+
requirement_file = os.path.join(home_dir, 'requirements.txt')
|
|
413
|
+
with open(requirement_file, 'w') as fd:
|
|
414
|
+
subprocess.call([venv_python_executable, '-m', 'pip', 'freeze'], stdout=fd)
|
|
415
|
+
else:
|
|
416
|
+
venv_directory_path = None
|
|
417
|
+
|
|
418
|
+
with open(os.path.join(home_dir, 'env.d', 'configSalome.sh'),'w') as f:
|
|
419
|
+
for module in _config.get("modules", []):
|
|
420
|
+
command = 'export '+ module + '_ROOT_DIR=${HOME}/${APPLI}\n'
|
|
421
|
+
f.write(command)
|
|
422
|
+
pass
|
|
423
|
+
if "samples_path" in _config:
|
|
424
|
+
command = 'export DATA_DIR=' + _config["samples_path"] +'\n'
|
|
425
|
+
f.write(command)
|
|
426
|
+
pass
|
|
427
|
+
if "resources_path" in _config and os.path.isfile(_config["resources_path"]):
|
|
428
|
+
command = 'export USER_CATALOG_RESOURCES_FILE=' + os.path.abspath(_config["resources_path"]) +'\n'
|
|
429
|
+
f.write(command)
|
|
430
|
+
command ="""\
|
|
431
|
+
export PATH=${HOME}/${APPLI}/bin/salome:$PATH
|
|
432
|
+
export LD_LIBRARY_PATH=${HOME}/${APPLI}/lib/salome:$LD_LIBRARY_PATH
|
|
433
|
+
"""
|
|
434
|
+
f.write(command)
|
|
435
|
+
# Create environment variable for the salome test
|
|
436
|
+
for module in _config.get("modules", []):
|
|
437
|
+
command = "export LD_LIBRARY_PATH=${HOME}/${APPLI}/bin/salome/test/" + module + "/lib:$LD_LIBRARY_PATH\n"
|
|
438
|
+
f.write(command)
|
|
439
|
+
pass
|
|
440
|
+
# Create environment for plugins GEOM
|
|
441
|
+
command = "export GEOM_PluginsList=BREPPlugin:STEPPlugin:IGESPlugin:STLPlugin:XAOPlugin:VTKPlugin:AdvancedGEOM\n"
|
|
442
|
+
f.write(command)
|
|
443
|
+
# Create environment for Healing
|
|
444
|
+
command = "export CSF_ShHealingDefaults=${HOME}/${APPLI}/share/salome/resources/geom\n"
|
|
445
|
+
f.write(command)
|
|
446
|
+
# Create environment for Meshers
|
|
447
|
+
command = "export SMESH_MeshersList=StdMeshers:HYBRIDPlugin:HexoticPLUGIN:GMSHPlugin:GHS3DPlugin:NETGENPlugin:HEXABLOCKPlugin:BLSURFPlugin:GHS3DPRLPlugin\nexport SALOME_StdMeshersResources=${HOME}/${APPLI}/share/salome/resources/smesh\n"
|
|
448
|
+
f.write(command)
|
|
449
|
+
# Create environment for virtual env
|
|
450
|
+
if venv_directory_path:
|
|
451
|
+
command = """# SALOME venv Configuration
|
|
452
|
+
export SALOME_VENV_DIRECTORY=${HOME}/${APPLI}/venv
|
|
453
|
+
export PATH=${HOME}/${APPLI}/venv/bin:$PATH
|
|
454
|
+
export LD_LIBRARY_PATH=${HOME}/${APPLI}/venv/lib:$LD_LIBRARY_PATH
|
|
455
|
+
export PYTHONPATH=${HOME}/${APPLI}/venv/lib/python%s/site-packages
|
|
456
|
+
""" % (versionPython)
|
|
457
|
+
f.write(command)
|
|
458
|
+
pass
|
|
459
|
+
|
|
460
|
+
# Create configuration file: configSalome.cfg
|
|
461
|
+
with open(os.path.join(home_dir, 'env.d', 'configSalome.cfg'),'w') as f:
|
|
462
|
+
command = "[SALOME ROOT_DIR (modules) Configuration]\n"
|
|
463
|
+
f.write(command)
|
|
464
|
+
for module in _config.get("modules", []):
|
|
465
|
+
command = module + '_ROOT_DIR=${HOME}/${APPLI}\n'
|
|
466
|
+
f.write(command)
|
|
467
|
+
pass
|
|
468
|
+
if "samples_path" in _config:
|
|
469
|
+
command = 'DATA_DIR=' + _config["samples_path"] +'\n'
|
|
470
|
+
f.write(command)
|
|
471
|
+
pass
|
|
472
|
+
if "resources_path" in _config and os.path.isfile(_config["resources_path"]):
|
|
473
|
+
command = 'USER_CATALOG_RESOURCES_FILE=' + os.path.abspath(_config["resources_path"]) +'\n'
|
|
474
|
+
f.write(command)
|
|
475
|
+
command ="""ADD_TO_PATH: ${HOME}/${APPLI}/bin/salome
|
|
476
|
+
ADD_TO_PYTHONPATH: ${HOME}/${APPLI}/lib/python%s/site-packages/salome
|
|
477
|
+
ADD_TO_PYTHONPATH: ${HOME}/${APPLI}/lib/salome
|
|
478
|
+
ADD_TO_LD_LIBRARY_PATH: ${HOME}/${APPLI}/lib/salome
|
|
479
|
+
"""%versionPython
|
|
480
|
+
f.write(command)
|
|
481
|
+
for module in _config.get("modules", []):
|
|
482
|
+
command = "ADD_TO_LD_LIBRARY_PATH: ${HOME}/${APPLI}/bin/salome/test/" + module + "/lib\n"
|
|
483
|
+
f.write(command)
|
|
484
|
+
pass
|
|
485
|
+
# Create environment for plugins GEOM
|
|
486
|
+
command = "GEOM_PluginsList=BREPPlugin:STEPPlugin:IGESPlugin:STLPlugin:XAOPlugin:VTKPlugin:AdvancedGEOM\n"
|
|
487
|
+
f.write(command)
|
|
488
|
+
# Create environment for Healing
|
|
489
|
+
command = "CSF_ShHealingDefaults=${HOME}/${APPLI}/share/salome/resources/geom\n"
|
|
490
|
+
f.write(command)
|
|
491
|
+
# Create environment for Meshers
|
|
492
|
+
command = "SMESH_MeshersList=StdMeshers:HYBRIDPlugin:HexoticPLUGIN:GMSHPlugin:GHS3DPlugin:NETGENPlugin:HEXABLOCKPlugin:BLSURFPlugin:GHS3DPRLPlugin\nSALOME_StdMeshersResources=${HOME}/${APPLI}/share/salome/resources/smesh\n"
|
|
493
|
+
f.write(command)
|
|
494
|
+
# Create environment for virtual env
|
|
495
|
+
if venv_directory_path:
|
|
496
|
+
command = """[SALOME venv Configuration]
|
|
497
|
+
SALOME_VENV_DIRECTORY: ${HOME}/${APPLI}/venv
|
|
498
|
+
ADD_TO_PATH: ${HOME}/${APPLI}/venv/bin
|
|
499
|
+
ADD_TO_LD_LIBRARY_PATH: ${HOME}/${APPLI}/venv/lib
|
|
500
|
+
ADD_TO_PYTHONPATH: ${HOME}/${APPLI}/venv/lib/python%s/site-packages
|
|
501
|
+
""" % (versionPython)
|
|
502
|
+
f.write(command)
|
|
503
|
+
pass
|
|
504
|
+
|
|
505
|
+
# Create environment file: configGUI.sh
|
|
506
|
+
dirs_ress_icon = []
|
|
507
|
+
salomeappname = "SalomeApp"
|
|
508
|
+
with open(os.path.join(home_dir, 'env.d', 'configGUI.sh'),'w') as f:
|
|
509
|
+
for module in _config.get("modules", []):
|
|
510
|
+
if module not in ["KERNEL", "GUI", ""]:
|
|
511
|
+
d = os.path.join(_config[module],"share","salome","resources",module.lower())
|
|
512
|
+
d_appli = os.path.join("${HOME}","${APPLI}","share","salome","resources",module.lower())
|
|
513
|
+
if os.path.exists( os.path.join(d,"{0}.xml".format(salomeappname)) ):
|
|
514
|
+
dirs_ress_icon.append( d_appli )
|
|
515
|
+
AppConfig="export SalomeAppConfig=${HOME}/${APPLI}:${HOME}/${APPLI}/share/salome/resources/gui/"
|
|
516
|
+
for dir_module in dirs_ress_icon:
|
|
517
|
+
AppConfig=AppConfig+":"+dir_module
|
|
518
|
+
f.write(AppConfig+"\n")
|
|
519
|
+
command = """export SUITRoot=${HOME}/${APPLI}/share/salome
|
|
520
|
+
export DISABLE_FPE=1
|
|
521
|
+
export MMGT_REENTRANT=1
|
|
522
|
+
"""
|
|
523
|
+
f.write(command)
|
|
524
|
+
|
|
525
|
+
# Create configuration file: configGUI.cfg
|
|
526
|
+
dirs_ress_icon = []
|
|
527
|
+
with open(os.path.join(home_dir, 'env.d', 'configGUI.cfg'),'w') as f:
|
|
528
|
+
command = """[SALOME GUI Configuration]\n"""
|
|
529
|
+
f.write(command)
|
|
530
|
+
for module in _config.get("modules", []):
|
|
531
|
+
if module not in ["KERNEL", "GUI", ""]:
|
|
532
|
+
d = os.path.join(_config[module],"share","salome","resources",module.lower())
|
|
533
|
+
d_appli = os.path.join("${HOME}","${APPLI}","share","salome","resources",module.lower())
|
|
534
|
+
if os.path.exists( os.path.join(d,"{0}.xml".format(salomeappname)) ):
|
|
535
|
+
dirs_ress_icon.append( d_appli )
|
|
536
|
+
AppConfig="SalomeAppConfig=${HOME}/${APPLI}:${HOME}/${APPLI}/share/salome/resources/gui/"
|
|
537
|
+
for dir_module in dirs_ress_icon:
|
|
538
|
+
AppConfig=AppConfig+":"+dir_module
|
|
539
|
+
f.write(AppConfig+"\n")
|
|
540
|
+
command = """SUITRoot=${HOME}/${APPLI}/share/salome
|
|
541
|
+
DISABLE_FPE=1
|
|
542
|
+
MMGT_REENTRANT=1
|
|
543
|
+
"""
|
|
544
|
+
f.write(command)
|
|
545
|
+
|
|
546
|
+
#SalomeApp.xml file
|
|
547
|
+
with open(os.path.join(home_dir,'SalomeApp.xml'),'w') as f:
|
|
548
|
+
command = """<document>
|
|
549
|
+
<section name="launch">
|
|
550
|
+
<!-- SALOME launching parameters -->
|
|
551
|
+
<parameter name="gui" value="yes"/>
|
|
552
|
+
<parameter name="splash" value="yes"/>
|
|
553
|
+
<parameter name="file" value="no"/>
|
|
554
|
+
<parameter name="key" value="no"/>
|
|
555
|
+
<parameter name="interp" value="no"/>
|
|
556
|
+
<parameter name="logger" value="no"/>
|
|
557
|
+
<parameter name="xterm" value="no"/>
|
|
558
|
+
<parameter name="portkill" value="no"/>
|
|
559
|
+
<parameter name="killall" value="no"/>
|
|
560
|
+
<parameter name="noexcepthandler" value="no"/>
|
|
561
|
+
<parameter name="modules" value="%s"/>
|
|
562
|
+
<parameter name="pyModules" value=""/>
|
|
563
|
+
<parameter name="embedded" value="SalomeAppEngine,study,cppContainer,registry,moduleCatalog"/>
|
|
564
|
+
<parameter name="standalone" value=""/>
|
|
565
|
+
</section>
|
|
566
|
+
</document>
|
|
567
|
+
"""
|
|
568
|
+
mods = []
|
|
569
|
+
#Keep all modules except KERNEL and GUI
|
|
570
|
+
for module in _config.get("modules", []):
|
|
571
|
+
if module in ("KERNEL","GUI"):
|
|
572
|
+
continue
|
|
573
|
+
mods.append(module)
|
|
574
|
+
f.write(command % ",".join(mods))
|
|
575
|
+
|
|
576
|
+
#Add USERS directory with 777 permission to store users configuration files
|
|
577
|
+
users_dir = os.path.join(home_dir,'USERS')
|
|
578
|
+
makedirs(users_dir)
|
|
579
|
+
os.chmod(users_dir, 0o777)
|
|
580
|
+
|
|
581
|
+
def main():
|
|
582
|
+
parser = argparse.ArgumentParser(usage=usage)
|
|
583
|
+
|
|
584
|
+
parser.add_argument('--prefix', default='.', metavar="<install directory>",
|
|
585
|
+
help="Installation directory (default %(default)s)")
|
|
586
|
+
|
|
587
|
+
parser.add_argument('--config', default='config_appli.xml',
|
|
588
|
+
metavar="<configuration file>",
|
|
589
|
+
help="XML configuration file (default %(default)s)")
|
|
590
|
+
|
|
591
|
+
parser.add_argument('-v', '--verbose', action='count',
|
|
592
|
+
default=0, help="Increase verbosity")
|
|
593
|
+
|
|
594
|
+
options = parser.parse_args()
|
|
595
|
+
if not os.path.exists(options.config):
|
|
596
|
+
print("ERROR: config file %s does not exist. It is mandatory." % options.config)
|
|
597
|
+
sys.exit(1)
|
|
598
|
+
|
|
599
|
+
install(prefix=options.prefix, config_file=options.config, verbose=options.verbose)
|
|
600
|
+
pass
|
|
601
|
+
|
|
602
|
+
# -----------------------------------------------------------------------------
|
|
603
|
+
|
|
604
|
+
if __name__ == '__main__':
|
|
605
|
+
main()
|
|
606
|
+
pass
|
|
Binary file
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#! /usr/bin/env python3
|
|
2
|
+
# -*- coding: iso-8859-1 -*-
|
|
3
|
+
# Copyright (C) 2007-2024 CEA, EDF, OPEN CASCADE
|
|
4
|
+
#
|
|
5
|
+
# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
|
|
6
|
+
# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
|
|
7
|
+
#
|
|
8
|
+
# This library is free software; you can redistribute it and/or
|
|
9
|
+
# modify it under the terms of the GNU Lesser General Public
|
|
10
|
+
# License as published by the Free Software Foundation; either
|
|
11
|
+
# version 2.1 of the License, or (at your option) any later version.
|
|
12
|
+
#
|
|
13
|
+
# This library is distributed in the hope that it will be useful,
|
|
14
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
15
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
16
|
+
# Lesser General Public License for more details.
|
|
17
|
+
#
|
|
18
|
+
# You should have received a copy of the GNU Lesser General Public
|
|
19
|
+
# License along with this library; if not, write to the Free Software
|
|
20
|
+
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
21
|
+
#
|
|
22
|
+
# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
|
|
23
|
+
#
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
###############################################
|
|
27
|
+
############### IMPORTANT NOTE ################
|
|
28
|
+
###############################################
|
|
29
|
+
# The runConsole script is obsolete. #
|
|
30
|
+
# Please consider the new salome.py launcher. #
|
|
31
|
+
###############################################
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
import os
|
|
35
|
+
import sys
|
|
36
|
+
import setenv
|
|
37
|
+
|
|
38
|
+
kernel_root=os.getenv("KERNEL_ROOT_DIR")
|
|
39
|
+
kernel_root = os.path.realpath(kernel_root)
|
|
40
|
+
sys.path[:0]=[os.path.join(kernel_root,"bin","salome")]
|
|
41
|
+
|
|
42
|
+
argv = sys.argv[1:]
|
|
43
|
+
sys.argv = argv[1:]
|
|
44
|
+
|
|
45
|
+
if argv[0] == "-exec":
|
|
46
|
+
#keep options only for execution
|
|
47
|
+
del argv[0]
|
|
48
|
+
sys.argv = []
|
|
49
|
+
|
|
50
|
+
setenv.main(True);
|
|
51
|
+
|
|
52
|
+
if sys.platform == "win32":
|
|
53
|
+
if len(argv) >= 2:
|
|
54
|
+
# Fix a problem of spaces in argv[1]
|
|
55
|
+
argv[1] = '"%s"'%(argv[1])
|
|
56
|
+
pass
|
|
57
|
+
pass
|
|
58
|
+
|
|
59
|
+
os.execvp(argv[0],argv)
|