salome.kernel 9.14.0__cp37-cp37m-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.

Files changed (400) hide show
  1. salome/bin/salome/IDLparser.py +882 -0
  2. salome/bin/salome/KernelHelpersUseCases +0 -0
  3. salome/bin/salome/NSparam.py +51 -0
  4. salome/bin/salome/ORBConfigFile.py +55 -0
  5. salome/bin/salome/SALOMEDS_Client +0 -0
  6. salome/bin/salome/SALOMEDS_Server +0 -0
  7. salome/bin/salome/SALOME_ConnectionManagerServer +0 -0
  8. salome/bin/salome/SALOME_Container +0 -0
  9. salome/bin/salome/SALOME_ContainerPy.py +397 -0
  10. salome/bin/salome/SALOME_Container_No_NS_Serv +0 -0
  11. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess +0 -0
  12. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_FT +0 -0
  13. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay +0 -0
  14. salome/bin/salome/SALOME_Container_No_NS_Serv_OutProcess_Replay_FT +0 -0
  15. salome/bin/salome/SALOME_DataScopeServer +0 -0
  16. salome/bin/salome/SALOME_DataScopeServer_SSL +0 -0
  17. salome/bin/salome/SALOME_LauncherServer +0 -0
  18. salome/bin/salome/SALOME_Logger_Server +0 -0
  19. salome/bin/salome/SALOME_ModuleCatalog_Client +0 -0
  20. salome/bin/salome/SALOME_ModuleCatalog_Server +0 -0
  21. salome/bin/salome/SALOME_Registry_Server +0 -0
  22. salome/bin/salome/TestComponentPy.py +71 -0
  23. salome/bin/salome/TestContainer +0 -0
  24. salome/bin/salome/TestContainerManager +0 -0
  25. salome/bin/salome/TestLauncher +0 -0
  26. salome/bin/salome/TestLifeCycleCORBA.py +89 -0
  27. salome/bin/salome/TestLogger +0 -0
  28. salome/bin/salome/TestLogger.py +27 -0
  29. salome/bin/salome/TestModuleCatalog.py +87 -0
  30. salome/bin/salome/Test_LifeCycleCORBA +0 -0
  31. salome/bin/salome/VERSION +3 -0
  32. salome/bin/salome/addToKillList.py +35 -0
  33. salome/bin/salome/app-quickstart.py +288 -0
  34. salome/bin/salome/appli/.bashrc +50 -0
  35. salome/bin/salome/appli/extra.env.d/001.py +39 -0
  36. salome/bin/salome/appli/python_test_driver.py +148 -0
  37. salome/bin/salome/appli/salome +193 -0
  38. salome/bin/salome/appli/salome_instance.py +31 -0
  39. salome/bin/salome/appli/salome_test_driver.py +150 -0
  40. salome/bin/salome/appli/salome_test_driver_gui.py +82 -0
  41. salome/bin/salome/appli_clean.sh +53 -0
  42. salome/bin/salome/appli_gen.py +606 -0
  43. salome/bin/salome/dummyexe_loggerTraceCollector +0 -0
  44. salome/bin/salome/envSalome.py +59 -0
  45. salome/bin/salome/killSalome.py +48 -0
  46. salome/bin/salome/killSalomeWithPort.py +56 -0
  47. salome/bin/salome/prepare_generating_doc.py +104 -0
  48. salome/bin/salome/pythonpath_reduction.py +184 -0
  49. salome/bin/salome/runConsole.py +39 -0
  50. salome/bin/salome/runIDLparser +58 -0
  51. salome/bin/salome/runRemote.py +101 -0
  52. salome/bin/salome/runSalome.py +30 -0
  53. salome/bin/salome/runSalomeNoServer.py +24 -0
  54. salome/bin/salome/runSalomeOld.py +36 -0
  55. salome/bin/salome/runSalomeOnDemand.py +41 -0
  56. salome/bin/salome/salomeContext.py +36 -0
  57. salome/bin/salome/salome_process_attach +44 -0
  58. salome/bin/salome/salome_process_launcher +58 -0
  59. salome/bin/salome/setenv.py +32 -0
  60. salome/bin/salome/showNS.py +33 -0
  61. salome/bin/salome/test/kernel/ArgvKeeper/CTestTestfile.cmake +31 -0
  62. salome/bin/salome/test/kernel/ArgvKeeper/TestArgvKeeper +0 -0
  63. salome/bin/salome/test/kernel/ArgvKeeper/test_ArgvKeeper.py +34 -0
  64. salome/bin/salome/test/kernel/CTestTestfile.cmake +49 -0
  65. salome/bin/salome/test/kernel/Container/CTestTestfile.cmake +29 -0
  66. salome/bin/salome/test/kernel/Container/testProxy.py +291 -0
  67. salome/bin/salome/test/kernel/Container/testcontainer.py +106 -0
  68. salome/bin/salome/test/kernel/KernelHelpers/CTestTestfile.cmake +31 -0
  69. salome/bin/salome/test/kernel/KernelHelpers/KernelHelpersUnitTests.hxx +58 -0
  70. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers +0 -0
  71. salome/bin/salome/test/kernel/KernelHelpers/TestKernelHelpers.py +55 -0
  72. salome/bin/salome/test/kernel/Launcher/CTestTestfile.cmake +43 -0
  73. salome/bin/salome/test/kernel/Launcher/TestSSLAttached.py +110 -0
  74. salome/bin/salome/test/kernel/Launcher/launcher_use_case.py +65 -0
  75. salome/bin/salome/test/kernel/Launcher/testCrashProofContainer.py +423 -0
  76. salome/bin/salome/test/kernel/Launcher/testPerfLogManager1.py +382 -0
  77. salome/bin/salome/test/kernel/Launcher/test_launcher.py +674 -0
  78. salome/bin/salome/test/kernel/Launcher/test_stress.sh +45 -0
  79. salome/bin/salome/test/kernel/Launcher_SWIG/CTestTestfile.cmake +30 -0
  80. salome/bin/salome/test/kernel/Launcher_SWIG/test_swig_launcher.py +706 -0
  81. salome/bin/salome/test/kernel/LifeCycleCORBA/CTestTestfile.cmake +27 -0
  82. salome/bin/salome/test/kernel/LifeCycleCORBA/LifeCycleCORBATest.hxx +105 -0
  83. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA +0 -0
  84. salome/bin/salome/test/kernel/LifeCycleCORBA/TestLifeCycleCORBA.py +93 -0
  85. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CTestTestfile.cmake +40 -0
  86. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/CatalogResources_resource.xml +15 -0
  87. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/LifeCycleCORBA_SWIGTest.py +217 -0
  88. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/SALOME_TestComponentPy.py +49 -0
  89. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/TestLifeCycleCORBA_SWIG.py +100 -0
  90. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testcontainermanager.py +88 -0
  91. salome/bin/salome/test/kernel/LifeCycleCORBA_SWIG/testresourcemanager.py +155 -0
  92. salome/bin/salome/test/kernel/NamingService/CTestTestfile.cmake +28 -0
  93. salome/bin/salome/test/kernel/NamingService/NamingServiceTest.hxx +169 -0
  94. salome/bin/salome/test/kernel/NamingService/TestNamingService +0 -0
  95. salome/bin/salome/test/kernel/NamingService/TestNamingService.py +64 -0
  96. salome/bin/salome/test/kernel/SALOMEDS/CTestTestfile.cmake +27 -0
  97. salome/bin/salome/test/kernel/SALOMEDS/SALOMEDSTest.hxx +192 -0
  98. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS +0 -0
  99. salome/bin/salome/test/kernel/SALOMEDS/TestSALOMEDS.py +55 -0
  100. salome/bin/salome/test/kernel/SALOMEDSImpl/CTestTestfile.cmake +27 -0
  101. salome/bin/salome/test/kernel/SALOMEDSImpl/SALOMEDSImplTest.hxx +51 -0
  102. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl +0 -0
  103. salome/bin/salome/test/kernel/SALOMEDSImpl/TestSALOMEDSImpl.py +55 -0
  104. salome/bin/salome/test/kernel/SALOMELocalTrace/CTestTestfile.cmake +27 -0
  105. salome/bin/salome/test/kernel/SALOMELocalTrace/SALOMELocalTraceTest.hxx +59 -0
  106. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace +0 -0
  107. salome/bin/salome/test/kernel/SALOMELocalTrace/TestSALOMELocalTrace.py +40 -0
  108. salome/bin/salome/test/kernel/SALOMETraceCollector/CTestTestfile.cmake +27 -0
  109. salome/bin/salome/test/kernel/SALOMETraceCollector/SALOMETraceCollectorTest.hxx +51 -0
  110. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector +0 -0
  111. salome/bin/salome/test/kernel/SALOMETraceCollector/TestSALOMETraceCollector.py +57 -0
  112. salome/bin/salome/test/kernel/UnitTests/CTestTestfile.cmake +28 -0
  113. salome/bin/salome/test/kernel/UnitTests/UnitTests +0 -0
  114. salome/bin/salome/test/kernel/UnitTests/UnitTests.py +89 -0
  115. salome/bin/salome/test/kernel/Utils/CTestTestfile.cmake +27 -0
  116. salome/bin/salome/test/kernel/Utils/TestUtils +0 -0
  117. salome/bin/salome/test/kernel/Utils/TestUtils.py +55 -0
  118. salome/bin/salome/test/kernel/Utils/UtilsTest.hxx +58 -0
  119. salome/bin/salome/test/kernel/lib/libLifeCycleCORBATest.so +0 -0
  120. salome/bin/salome/test/kernel/lib/libNamingServiceTest.so +0 -0
  121. salome/bin/salome/test/kernel/lib/libSALOMEDSImplTest.so +0 -0
  122. salome/bin/salome/test/kernel/lib/libSALOMEDSTest.so +0 -0
  123. salome/bin/salome/test/kernel/lib/libSALOMELocalTraceTest.so +0 -0
  124. salome/bin/salome/test/kernel/lib/libSALOMETraceCollectorTest.so +0 -0
  125. salome/bin/salome/test/kernel/lib/libSalomeKernelHelpersTest.so +0 -0
  126. salome/bin/salome/test/kernel/lib/libUtilsTest.so +0 -0
  127. salome/bin/salome/testDF +0 -0
  128. salome/bin/salome/testDS +0 -0
  129. salome/bin/salome/virtual_salome.py +38 -0
  130. salome/bin/salome/waitContainers.py +82 -0
  131. salome/bin/salome/waitNS.py +31 -0
  132. salome/kernel/ArgvKeeper.py +132 -0
  133. salome/kernel/Calcium_Ports_idl.py +645 -0
  134. salome/kernel/DSC_Engines_idl.py +443 -0
  135. salome/kernel/Engines/__init__.py +24 -0
  136. salome/kernel/Engines__POA/__init__.py +24 -0
  137. salome/kernel/Help.py +141 -0
  138. salome/kernel/KernelBasis.py +463 -0
  139. salome/kernel/KernelContainer.py +81 -0
  140. salome/kernel/KernelDS.py +87 -0
  141. salome/kernel/KernelLauncher.py +117 -0
  142. salome/kernel/KernelLogger.py +75 -0
  143. salome/kernel/KernelModuleCatalog.py +76 -0
  144. salome/kernel/KernelSDS.py +92 -0
  145. salome/kernel/KernelServices.py +105 -0
  146. salome/kernel/LifeCycleCORBA.py +92 -0
  147. salome/kernel/Logger_idl.py +89 -0
  148. salome/kernel/NSTEST/__init__.py +13 -0
  149. salome/kernel/NSTEST__POA/__init__.py +13 -0
  150. salome/kernel/NSparam_impl.py +50 -0
  151. salome/kernel/NamingService.py +365 -0
  152. salome/kernel/ORBConfigFile_impl.py +102 -0
  153. salome/kernel/Palm_Ports_idl.py +162 -0
  154. salome/kernel/PortManager.py +259 -0
  155. salome/kernel/Ports/Calcium_Ports/__init__.py +13 -0
  156. salome/kernel/Ports/Palm_Ports/__init__.py +13 -0
  157. salome/kernel/Ports/__init__.py +18 -0
  158. salome/kernel/Ports__POA/Calcium_Ports/__init__.py +13 -0
  159. salome/kernel/Ports__POA/Palm_Ports/__init__.py +13 -0
  160. salome/kernel/Ports__POA/__init__.py +18 -0
  161. salome/kernel/PyInterp.py +99 -0
  162. salome/kernel/Registry/__init__.py +13 -0
  163. salome/kernel/Registry__POA/__init__.py +13 -0
  164. salome/kernel/SALOME/__init__.py +19 -0
  165. salome/kernel/SALOMEDS/__init__.py +14 -0
  166. salome/kernel/SALOMEDS_Attributes_idl.py +2288 -0
  167. salome/kernel/SALOMEDS__POA/__init__.py +14 -0
  168. salome/kernel/SALOMEDS_idl.py +1590 -0
  169. salome/kernel/SALOMEWrappedStdType.py +383 -0
  170. salome/kernel/SALOME_Comm_idl.py +1045 -0
  171. salome/kernel/SALOME_CommonTypes_idl.py +69 -0
  172. salome/kernel/SALOME_ComponentPy.py +338 -0
  173. salome/kernel/SALOME_Component_idl.py +962 -0
  174. salome/kernel/SALOME_Container.py +242 -0
  175. salome/kernel/SALOME_ContainerHelper.py +840 -0
  176. salome/kernel/SALOME_ContainerManager_idl.py +236 -0
  177. salome/kernel/SALOME_DriverPy.py +86 -0
  178. salome/kernel/SALOME_Embedded_NamingService.py +41 -0
  179. salome/kernel/SALOME_Embedded_NamingService_ClientPy.py +59 -0
  180. salome/kernel/SALOME_Embedded_NamingService_idl.py +125 -0
  181. salome/kernel/SALOME_Exception_idl.py +75 -0
  182. salome/kernel/SALOME_ExternalServerLauncher_idl.py +199 -0
  183. salome/kernel/SALOME_GenericObj_idl.py +154 -0
  184. salome/kernel/SALOME_GlobalsImpl.py +38 -0
  185. salome/kernel/SALOME_Launcher_idl.py +327 -0
  186. salome/kernel/SALOME_Locker_idl.py +185 -0
  187. salome/kernel/SALOME_LogManager.py +103 -0
  188. salome/kernel/SALOME_LogManager_idl.py +348 -0
  189. salome/kernel/SALOME_Logger/__init__.py +13 -0
  190. salome/kernel/SALOME_Logger__POA/__init__.py +13 -0
  191. salome/kernel/SALOME_MPIObject_idl.py +100 -0
  192. salome/kernel/SALOME_ModuleCatalog/__init__.py +13 -0
  193. salome/kernel/SALOME_ModuleCatalog__POA/__init__.py +13 -0
  194. salome/kernel/SALOME_ModuleCatalog_idl.py +624 -0
  195. salome/kernel/SALOME_NamingServicePy.py +313 -0
  196. salome/kernel/SALOME_PACOExtension_idl.py +292 -0
  197. salome/kernel/SALOME_ParamPorts_idl.py +102 -0
  198. salome/kernel/SALOME_Parametric_idl.py +154 -0
  199. salome/kernel/SALOME_Ports_idl.py +347 -0
  200. salome/kernel/SALOME_PyNode.py +1557 -0
  201. salome/kernel/SALOME_PyNode_idl.py +387 -0
  202. salome/kernel/SALOME_Registry_idl.py +155 -0
  203. salome/kernel/SALOME_ResourcesManager_idl.py +215 -0
  204. salome/kernel/SALOME_SDS_idl.py +1181 -0
  205. salome/kernel/SALOME_Session_idl.py +214 -0
  206. salome/kernel/SALOME_TYPES/__init__.py +14 -0
  207. salome/kernel/SALOME_TYPES__POA/__init__.py +14 -0
  208. salome/kernel/SALOME_TestComponent_idl.py +121 -0
  209. salome/kernel/SALOME_TestModuleCatalog/__init__.py +13 -0
  210. salome/kernel/SALOME_TestModuleCatalog__POA/__init__.py +13 -0
  211. salome/kernel/SALOME_TestModuleCatalog_idl.py +194 -0
  212. salome/kernel/SALOME_Trace.py +96 -0
  213. salome/kernel/SALOME_Types_idl.py +81 -0
  214. salome/kernel/SALOME__POA/__init__.py +19 -0
  215. salome/kernel/SALOME_utilities.py +63 -0
  216. salome/kernel/SalomeSDSClt.py +552 -0
  217. salome/kernel/TestKiller.py +76 -0
  218. salome/kernel/Utils_Identity.py +93 -0
  219. salome/kernel/_ArgvKeeper.so +0 -0
  220. salome/kernel/_KernelBasis.so +0 -0
  221. salome/kernel/_KernelContainer.so +0 -0
  222. salome/kernel/_KernelDS.so +0 -0
  223. salome/kernel/_KernelLauncher.so +0 -0
  224. salome/kernel/_KernelLogger.so +0 -0
  225. salome/kernel/_KernelModuleCatalog.so +0 -0
  226. salome/kernel/_KernelSDS.so +0 -0
  227. salome/kernel/_KernelServices.so +0 -0
  228. salome/kernel/_NamingService.so +0 -0
  229. salome/kernel/_calcium.so +0 -0
  230. salome/kernel/_libNOTIFICATION.so +0 -0
  231. salome/kernel/_libSALOME_Comm.so +0 -0
  232. salome/kernel/_libSALOME_LifeCycleCORBA.so +0 -0
  233. salome/kernel/_pylauncher.so +0 -0
  234. salome/kernel/addToKillList_impl.py +127 -0
  235. salome/kernel/batchmode_salome.py +295 -0
  236. salome/kernel/calcium.py +866 -0
  237. salome/kernel/dsccalcium.py +98 -0
  238. salome/kernel/iparameters.py +255 -0
  239. salome/kernel/kernel_test.py +114 -0
  240. salome/kernel/killSalomeWithPort_impl.py +518 -0
  241. salome/kernel/killSalome_impl.py +94 -0
  242. salome/kernel/launchConfigureParser.py +1234 -0
  243. salome/kernel/launcher_proxy.py +122 -0
  244. salome/kernel/libNOTIFICATION.py +119 -0
  245. salome/kernel/libSALOME_Comm.py +85 -0
  246. salome/kernel/libSALOME_LifeCycleCORBA.py +232 -0
  247. salome/kernel/main.py +8 -0
  248. salome/kernel/nameserver.py +134 -0
  249. salome/kernel/nstest_idl.py +129 -0
  250. salome/kernel/omnipatch.py +136 -0
  251. salome/kernel/orbmodule.py +246 -0
  252. salome/kernel/parseConfigFile.py +261 -0
  253. salome/kernel/pylauncher.py +883 -0
  254. salome/kernel/runConsole_impl.py +224 -0
  255. salome/kernel/runSalomeCommon.py +418 -0
  256. salome/kernel/runSalomeNoServer_impl.py +48 -0
  257. salome/kernel/runSalomeOld_impl.py +603 -0
  258. salome/kernel/runSalomeOnDemand_impl.py +72 -0
  259. salome/kernel/runSalome_impl.py +341 -0
  260. salome/kernel/runSession.py +360 -0
  261. salome/kernel/runTests.py +90 -0
  262. salome/kernel/salome/__init__.py +646 -0
  263. salome/kernel/salome/kernel/__init__.py +111 -0
  264. salome/kernel/salome/kernel/datamodeler.py +363 -0
  265. salome/kernel/salome/kernel/deprecation.py +165 -0
  266. salome/kernel/salome/kernel/diclookup.py +137 -0
  267. salome/kernel/salome/kernel/enumerate.py +232 -0
  268. salome/kernel/salome/kernel/logconfig.py +27 -0
  269. salome/kernel/salome/kernel/logger.py +290 -0
  270. salome/kernel/salome/kernel/parametric/__init__.py +26 -0
  271. salome/kernel/salome/kernel/parametric/compo_utils.py +137 -0
  272. salome/kernel/salome/kernel/parametric/pyscript_utils.py +135 -0
  273. salome/kernel/salome/kernel/parametric/study_exchange_vars.py +285 -0
  274. salome/kernel/salome/kernel/pyunittester.py +184 -0
  275. salome/kernel/salome/kernel/services.py +267 -0
  276. salome/kernel/salome/kernel/studyedit.py +637 -0
  277. salome/kernel/salome/kernel/syshelper.py +116 -0
  278. salome/kernel/salome/kernel/termcolor.py +239 -0
  279. salome/kernel/salome/kernel/testdata.py +159 -0
  280. salome/kernel/salome/kernel/threadhelper.py +385 -0
  281. salome/kernel/salome/kernel/uiexception.py +121 -0
  282. salome/kernel/salome/kernel/unittester.py +89 -0
  283. salome/kernel/salomeContextUtils.py +353 -0
  284. salome/kernel/salomeContext_impl.py +731 -0
  285. salome/kernel/salome_ComponentGUI.py +92 -0
  286. salome/kernel/salome_genericobj.py +44 -0
  287. salome/kernel/salome_iapp.py +206 -0
  288. salome/kernel/salome_instance_impl.py +109 -0
  289. salome/kernel/salome_kernel_utils.py +88 -0
  290. salome/kernel/salome_notebook.py +183 -0
  291. salome/kernel/salome_psutil.py +94 -0
  292. salome/kernel/salome_pynode.py +74 -0
  293. salome/kernel/salome_study.py +347 -0
  294. salome/kernel/salome_test.py +56 -0
  295. salome/kernel/salome_utils.py +563 -0
  296. salome/kernel/salome_version.py +164 -0
  297. salome/kernel/searchFreePort.py +130 -0
  298. salome/kernel/server.py +154 -0
  299. salome/kernel/setenv_impl.py +240 -0
  300. salome/kernel/version_and_config.py +24 -0
  301. salome/share/salome/resources/kernel/Anita semi square.ttf +0 -0
  302. salome/share/salome/resources/kernel/CatalogModulePersonnel.xml_skel +24 -0
  303. salome/share/salome/resources/kernel/CatalogResources.xml +4 -0
  304. salome/share/salome/resources/kernel/KERNELCatalog.xml +102 -0
  305. salome/share/salome/resources/kernel/SALOMEDS_Resources +10 -0
  306. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_LAN.py +19 -0
  307. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_MPICH.py +18 -0
  308. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_MPI_OPENMPI.py +21 -0
  309. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_LOCAL_NO_MPI.py +25 -0
  310. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE.py +108 -0
  311. salome/share/salome/resources/kernel/ScriptsTemplate/SALOME_CM_REMOTE_OLD.py +115 -0
  312. salome/share/salome/resources/kernel/ScriptsTemplate/script_parameters.py +25 -0
  313. salome/share/salome/resources/kernel/app-template/CMakeLists.txt +125 -0
  314. salome/share/salome/resources/kernel/app-template/LICENCE +504 -0
  315. salome/share/salome/resources/kernel/app-template/README +0 -0
  316. salome/share/salome/resources/kernel/app-template/doc/CMakeLists.txt +31 -0
  317. salome/share/salome/resources/kernel/app-template/doc/README +1 -0
  318. salome/share/salome/resources/kernel/app-template/doc/conf.py.in +197 -0
  319. salome/share/salome/resources/kernel/app-template/doc/index.rst +14 -0
  320. salome/share/salome/resources/kernel/app-template/doc/intro.rst +4 -0
  321. salome/share/salome/resources/kernel/app-template/doc/link.rst +4 -0
  322. salome/share/salome/resources/kernel/app-template/resources/CMakeLists.txt +36 -0
  323. salome/share/salome/resources/kernel/app-template/resources/SalomeApp.xml.in +30 -0
  324. salome/share/salome/resources/kernel/app-template/resources/about.png +0 -0
  325. salome/share/salome/resources/kernel/app-template/resources/app_icon.png +0 -0
  326. salome/share/salome/resources/kernel/app-template/resources/app_logo.png +0 -0
  327. salome/share/salome/resources/kernel/app-template/resources/doc/CMakeLists.txt +27 -0
  328. salome/share/salome/resources/kernel/app-template/resources/doc/README +1 -0
  329. salome/share/salome/resources/kernel/app-template/resources/doc/sample.pdf +0 -0
  330. salome/share/salome/resources/kernel/app-template/resources/icon_about.png +0 -0
  331. salome/share/salome/resources/kernel/app-template/resources/splash.png +0 -0
  332. salome/share/salome/resources/kernel/app-template/src/CMakeLists.txt +22 -0
  333. salome/share/salome/resources/kernel/app-template/src/resources/CMakeLists.txt +34 -0
  334. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_images.ts +23 -0
  335. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_en.ts +35 -0
  336. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_fr.ts +35 -0
  337. salome/share/salome/resources/kernel/app-template/src/resources/LightApp_msg_ja.ts +35 -0
  338. salome/share/salome/resources/kernel/app-template/src/tests/CMakeLists.txt +29 -0
  339. salome/share/salome/resources/kernel/app-template/src/tests/README +1 -0
  340. salome/share/salome/resources/kernel/app-template/src/tests/helloWorld.py +1 -0
  341. salome/share/salome/resources/kernel/background.png +0 -0
  342. salome/share/salome/resources/kernel/channel.cfg +278 -0
  343. salome/share/salome/resources/kernel/testLauncher.xml +10 -0
  344. salome.kernel-9.14.0.dist-info/METADATA +24 -0
  345. salome.kernel-9.14.0.dist-info/RECORD +399 -0
  346. salome.kernel-9.14.0.dist-info/WHEEL +6 -0
  347. salome.kernel-9.14.0.dist-info/entry_points.txt +2 -0
  348. salome.kernel.libs/libArgvKeeper-822351d5.so +0 -0
  349. salome.kernel.libs/libCOS4-b4544fb9.so.2.5 +0 -0
  350. salome.kernel.libs/libCOSDynamic4-618dbb1d.so.2.5 +0 -0
  351. salome.kernel.libs/libCalciumC-a61b99a1.so +0 -0
  352. salome.kernel.libs/libDF-281cc999.so +0 -0
  353. salome.kernel.libs/libLauncher-09c39914.so +0 -0
  354. salome.kernel.libs/libLauncherWrapHelper-5ee25ab2.so +0 -0
  355. salome.kernel.libs/libOpUtil-8d37ccc8.so +0 -0
  356. salome.kernel.libs/libRegistry-e4a63a9e.so +0 -0
  357. salome.kernel.libs/libResourcesManager-f4ef9548.so +0 -0
  358. salome.kernel.libs/libSALOMEBasics-f4d874ac.so +0 -0
  359. salome.kernel.libs/libSALOMELocalTrace-a3992e5b.so +0 -0
  360. salome.kernel.libs/libSALOMELog-55805468.so +0 -0
  361. salome.kernel.libs/libSalomeCalcium-6800d8d0.so +0 -0
  362. salome.kernel.libs/libSalomeCatalog-96c5b2bc.so +0 -0
  363. salome.kernel.libs/libSalomeCommunication-451307b4.so +0 -0
  364. salome.kernel.libs/libSalomeContainer-d1a25367.so +0 -0
  365. salome.kernel.libs/libSalomeContainerServer-372d46c2.so +0 -0
  366. salome.kernel.libs/libSalomeDS-34cd5abf.so +0 -0
  367. salome.kernel.libs/libSalomeDSCContainer-ee0cf498.so +0 -0
  368. salome.kernel.libs/libSalomeDSCSuperv-f529bca5.so +0 -0
  369. salome.kernel.libs/libSalomeDSCSupervBasic-e6a3b4cf.so +0 -0
  370. salome.kernel.libs/libSalomeDSClient-dc9947bb.so +0 -0
  371. salome.kernel.libs/libSalomeDSImpl-cb508584.so +0 -0
  372. salome.kernel.libs/libSalomeDatastream-755ff3cb.so +0 -0
  373. salome.kernel.libs/libSalomeGenericObj-3ccf0028.so +0 -0
  374. salome.kernel.libs/libSalomeHDFPersist-69945ed0.so +0 -0
  375. salome.kernel.libs/libSalomeIDLKernel-2eb1ed8e.so +0 -0
  376. salome.kernel.libs/libSalomeKernelHelpers-1514c9e0.so +0 -0
  377. salome.kernel.libs/libSalomeLauncher-6d57b2ba.so +0 -0
  378. salome.kernel.libs/libSalomeLifeCycleCORBA-69902a7b.so +0 -0
  379. salome.kernel.libs/libSalomeLoggerServer-3668e9ae.so +0 -0
  380. salome.kernel.libs/libSalomeNS-a03a7eba.so +0 -0
  381. salome.kernel.libs/libSalomeNotification-66efcfbd.so +0 -0
  382. salome.kernel.libs/libSalomeORB-f304f4df.so +0 -0
  383. salome.kernel.libs/libSalomePalm-4204405e.so +0 -0
  384. salome.kernel.libs/libSalomeResourcesManager-fd411949.so +0 -0
  385. salome.kernel.libs/libSalomeSDS-7822101d.so +0 -0
  386. salome.kernel.libs/libSalomeTestComponentEngine-9899af25.so +0 -0
  387. salome.kernel.libs/libTOOLSDS-db8e8629.so +0 -0
  388. salome.kernel.libs/libbatch-6b5b319f.so +0 -0
  389. salome.kernel.libs/libboost_atomic-489c2d94.so.1.81.0 +0 -0
  390. salome.kernel.libs/libboost_filesystem-e610b554.so.1.81.0 +0 -0
  391. salome.kernel.libs/libboost_system-4a7650ea.so.1.81.0 +0 -0
  392. salome.kernel.libs/libcppunit-1-17e77af1.12.so.1.0.0 +0 -0
  393. salome.kernel.libs/libhdf5-60e81d69.so.103.0.0 +0 -0
  394. salome.kernel.libs/liblzma-004595ca.so.5.2.2 +0 -0
  395. salome.kernel.libs/libomniDynamic4-9edc765d.so.2.5 +0 -0
  396. salome.kernel.libs/libomniORB4-4725824d.so.2.5 +0 -0
  397. salome.kernel.libs/libomnithread-99f9d0d3.so.4.1 +0 -0
  398. salome.kernel.libs/libwith_loggerTraceCollector-6b94c51b.so +0 -0
  399. salome.kernel.libs/libwith_loggerTraceCollector.so +0 -0
  400. salome.kernel.libs/libxml2-3998bec4.so.2.9.1 +0 -0
@@ -0,0 +1,164 @@
1
+ # -*- coding: iso-8859-1 -*-
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 : salome_version.py
25
+ # Author : Vadim SANDLER
26
+ # Module : SALOME
27
+ #
28
+ __ALL__ = [
29
+ "getVersion",
30
+ "getVersionMajor",
31
+ "getVersionMinor",
32
+ "getVersionRelease",
33
+ "getVersions",
34
+ "getXVersion",
35
+ "isDevelopmentVersion",
36
+ ]
37
+
38
+ _salome_versions = {}
39
+
40
+ def getVersion( mod = "KERNEL", full = False ):
41
+ """
42
+ Get SALOME module version number
43
+ Parameters:
44
+ - mod : SALOME module name, default is 'KERNEL'
45
+ - full : take into account development marker (in this case 'dev' is added
46
+ to the end of version value for development version), False by default
47
+ Returns: version number string or None if VERSION file is not found
48
+ """
49
+ global _salome_versions
50
+ mod = mod.upper()
51
+ dev_flag = { True : "dev", False : "" }
52
+ if mod not in _salome_versions:
53
+ _salome_versions[ mod ] = [ None, "" ]
54
+ import os
55
+ root_dir = os.getenv( "%s_ROOT_DIR" % mod )
56
+ if root_dir:
57
+ try:
58
+ filename = root_dir + "/bin/salome/VERSION"
59
+ if not os.path.exists( filename ):
60
+ filename = root_dir + "/bin/VERSION"
61
+ f = open( filename )
62
+ data = f.readlines()
63
+ f.close()
64
+ for l in data:
65
+ if l.strip().startswith("#") or ":" not in l: continue
66
+ key = ":".join( l.split( ":" )[ :-1 ] ).strip()
67
+ val = l.split( ":" )[ -1 ].strip()
68
+ if "development" in key.lower():
69
+ _salome_versions[ mod ][ 1 ] = dev_flag[ val == "1" ]
70
+ elif "version" in key.lower() or mod in key:
71
+ _salome_versions[ mod ][ 0 ] = val
72
+ pass
73
+ except Exception:
74
+ pass
75
+ v = _salome_versions[ mod ][ 0 ]
76
+ if full and v is not None:
77
+ v += _salome_versions[ mod ][ 1 ]
78
+ return v is not None and v or ""
79
+
80
+ def getVersionMajor( mod = "KERNEL" ):
81
+ """
82
+ Get SALOME module major version number
83
+ Parameters:
84
+ - mod : SALOME module name, default is 'KERNEL'
85
+ Returns: version major number string or None if VERSION file is not found
86
+ """
87
+ ver = getVersion( mod )
88
+ try:
89
+ return ver.split( "." )[ 0 ]
90
+ except Exception:
91
+ pass
92
+ return None
93
+
94
+ def getVersionMinor( mod = "KERNEL" ):
95
+ """
96
+ Get SALOME module minor version number
97
+ Parameters:
98
+ - mod : SALOME module name, default is 'KERNEL'
99
+ Returns: version minor number string or None if VERSION file is not found
100
+ """
101
+ ver = getVersion( mod )
102
+ try:
103
+ return ver.split( "." )[ 1 ]
104
+ except Exception:
105
+ pass
106
+ return None
107
+
108
+ def getVersionRelease( mod = "KERNEL" ):
109
+ """
110
+ Get SALOME module release version number
111
+ Parameters:
112
+ - mod : SALOME module name, default is 'KERNEL'
113
+ Returns: version release number string or None if VERSION file is not found
114
+ """
115
+ ver = getVersion( mod )
116
+ try:
117
+ return ver.split( "." )[ 2 ]
118
+ except Exception:
119
+ pass
120
+ return None
121
+
122
+ def getVersions( mod = "KERNEL" ):
123
+ """
124
+ Get SALOME module version as list of [major, minor, release] numbers
125
+ Parameters:
126
+ - mod : SALOME module name, default is 'KERNEL'
127
+ Returns: version numbers list
128
+ """
129
+ try:
130
+ major = int( getVersionMajor( mod ) )
131
+ except Exception:
132
+ major = 0
133
+ pass
134
+ try:
135
+ minor = int( getVersionMinor( mod ) )
136
+ except Exception:
137
+ minor = 0
138
+ pass
139
+ try:
140
+ rel = int( getVersionRelease( mod ) )
141
+ except Exception:
142
+ rel = 0
143
+ pass
144
+ return [ major, minor, rel ]
145
+
146
+ def getXVersion( mod = "KERNEL" ):
147
+ """
148
+ Get SALOME module version as list of [major, minor, release] numbers
149
+ Parameters:
150
+ - mod : SALOME module name, default is 'KERNEL'
151
+ Returns: version numbers list
152
+ """
153
+ major, minor, rel = getVersions( mod )
154
+ return hex( (major<<16) + (minor<<8) + rel )
155
+
156
+ def isDevelopmentVersion( mod = "KERNEL" ):
157
+ """
158
+ Checks if the version of SALOME module is marked as development one
159
+ Parameters:
160
+ - mod : SALOME module name, default is 'KERNEL'
161
+ Returns: Return True for delopment version of module or False otherwise
162
+ """
163
+ ver = getVersion( mod, True )
164
+ return ver.endswith( "dev" )
@@ -0,0 +1,130 @@
1
+ # -*- coding: iso-8859-1 -*-
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
+ import os
25
+ import sys
26
+
27
+ def __setup_config(nsport, args, save_config):
28
+ #
29
+ from salome.kernel.salome_utils import generateFileName, getHostName
30
+ hostname = getHostName()
31
+ #
32
+ omniorbUserPath = os.getenv("OMNIORB_USER_PATH")
33
+ kwargs={}
34
+ if omniorbUserPath is not None:
35
+ kwargs["with_username"]=True
36
+ #
37
+ from salome.kernel.ORBConfigFile_impl import writeORBConfigFile
38
+ omniorb_config, giopsize = writeORBConfigFile(omniorbUserPath, hostname, nsport, kwargs)
39
+ args['port'] = os.environ['NSPORT']
40
+ #
41
+ if save_config:
42
+ last_running_config = generateFileName(omniorbUserPath, prefix="omniORB",
43
+ suffix="last",
44
+ extension="cfg",
45
+ hidden=True,
46
+ **kwargs)
47
+ os.environ['LAST_RUNNING_CONFIG'] = last_running_config
48
+ try:
49
+ if sys.platform == "win32":
50
+ import shutil
51
+ shutil.copyfile(omniorb_config, last_running_config)
52
+ else:
53
+ try:
54
+ if os.access(last_running_config, os.F_OK):
55
+ os.remove(last_running_config)
56
+ except OSError:
57
+ pass
58
+ os.symlink(omniorb_config, last_running_config)
59
+ pass
60
+ pass
61
+ except Exception:
62
+ pass
63
+ #
64
+ #
65
+
66
+ def searchFreePort_withPortManager(queue, args={}, save_config=1, use_port=None):
67
+ from salome.kernel.PortManager import getPort
68
+ port = getPort(use_port)
69
+
70
+ if use_port:
71
+ print("Check if port can be used: %d" % use_port, end=' ')
72
+ if port == use_port and port != -1:
73
+ print("- OK")
74
+ __setup_config(use_port, args, save_config)
75
+ queue.put([os.environ['OMNIORB_CONFIG'],
76
+ os.environ['NSPORT'],
77
+ os.environ['NSHOST']])
78
+ return
79
+ else:
80
+ print("- KO: port is busy")
81
+ pass
82
+ #
83
+ print("Searching for a free port for naming service:", end=' ')
84
+ if port == -1: # try again
85
+ port = getPort(use_port)
86
+
87
+ if port != -1:
88
+ print("%s - OK"%(port))
89
+ __setup_config(port, args, save_config)
90
+ else:
91
+ print("Unable to obtain port")
92
+
93
+ queue.put([os.environ['OMNIORB_CONFIG'],
94
+ os.environ['NSPORT'],
95
+ os.environ['NSHOST']])
96
+ #
97
+
98
+ def __savePortToFile(args):
99
+ # Save Naming service port name into
100
+ # the file args["ns_port_log_file"]
101
+ if 'ns_port_log_file' in args:
102
+ omniorbUserPath = os.getenv("OMNIORB_USER_PATH")
103
+ file_name = os.path.join(omniorbUserPath, args["ns_port_log_file"])
104
+ with open(file_name, "w") as f:
105
+ f.write(os.environ['NSPORT'])
106
+ #
107
+
108
+ def searchFreePort(args={}, save_config=1, use_port=None):
109
+ """
110
+ Search free port for SALOME session.
111
+ Returns first found free port number.
112
+ """
113
+ try:
114
+ import salome.kernel.PortManager # mandatory
115
+ from multiprocessing import Process, Queue
116
+ queue = Queue()
117
+ p = Process(target = searchFreePort_withPortManager, args=(queue, args, save_config, use_port,))
118
+ p.start()
119
+ info = queue.get()
120
+
121
+ os.environ['OMNIORB_CONFIG'] = info[0]
122
+ os.environ['NSPORT'] = info[1]
123
+ args['port'] = os.environ['NSPORT']
124
+ os.environ['NSHOST'] = info[2]
125
+ __savePortToFile(args)
126
+
127
+ p.join() # this blocks until the process terminates
128
+ except ImportError:
129
+ raise Exception('PortManager module not found')
130
+ #
@@ -0,0 +1,154 @@
1
+ # -*- coding: iso-8859-1 -*-
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
+ import os, sys, string
25
+ from salome.kernel.salome_utils import getHostName
26
+ process_id = {}
27
+ import logging
28
+
29
+ # -----------------------------------------------------------------------------
30
+ #
31
+ # Definition des classes d'objets pour le lancement des Server CORBA
32
+ #
33
+
34
+ class Server:
35
+ """Generic class for CORBA server launch"""
36
+
37
+ server_launch_mode = "daemon"
38
+
39
+ def initArgs(self):
40
+ self.PID=None
41
+ self.CMD=[]
42
+ self.ARGS=[]
43
+ if self.args.get('xterm'):
44
+ if sys.platform != "win32":
45
+ self.ARGS=['xterm', '-iconic', '-sb', '-sl', '500', '-hold']
46
+ else:
47
+ self.ARGS=['cmd', '/c', 'start cmd.exe', '/K']
48
+
49
+ def __init__(self,args):
50
+ self.args=args
51
+ self.initArgs()
52
+
53
+ @staticmethod
54
+ def set_server_launch_mode(mode):
55
+ if mode == "daemon" or mode == "fork":
56
+ Server.server_launch_mode = mode
57
+ else:
58
+ raise Exception("Unsupported server launch mode: %s" % mode)
59
+
60
+ def run(self, daemon=False):
61
+ global process_id
62
+ myargs=self.ARGS
63
+ if self.args.get('xterm'):
64
+ # (Debian) send LD_LIBRARY_PATH to children shells (xterm)
65
+ if sys.platform == "darwin":
66
+ env_ld_library_path=['env', 'DYLD_LIBRARY_PATH='
67
+ + os.getenv("DYLD_FALLBACK_LIBRARY_PATH")]
68
+ myargs = myargs +['-T']+self.CMD[:1]+['-e'] + env_ld_library_path
69
+ elif sys.platform != "win32":
70
+ ldPath = "LD_LIBRARY_PATH"
71
+ env_ld_library_path = []
72
+ if ldPath in os.environ:
73
+ env_ld_library_path=['env', f'{ldPath}=' + os.getenv(ldPath)]
74
+ myargs = myargs +['-T']+self.CMD[:1]+['-e'] + env_ld_library_path
75
+ command = myargs + self.CMD
76
+ for sapcfg in ["SalomeAppSLConfig","SalomeAppConfig"]:
77
+ if sapcfg in os.environ:
78
+ logging.getLogger().debug("{}={}".format(sapcfg,os.environ[sapcfg]))
79
+ command1 = (" ".join(command)).replace("(","\\\(") ; command1 = command1.replace(")","\\\)")
80
+ logging.getLogger().debug("Command to be launched : {}".format(command1))
81
+ # print("command = ", command)
82
+ if sys.platform == "win32":
83
+ import subprocess
84
+ if daemon:
85
+ DETACHED_PROCESS = 0x00000008
86
+ pid = subprocess.Popen(command, creationflags=DETACHED_PROCESS).pid
87
+ else:
88
+ pid = subprocess.Popen(command).pid
89
+ elif Server.server_launch_mode == "fork":
90
+ pid = os.spawnvp(os.P_NOWAIT, command[0], command)
91
+ else: # Server launch mode is daemon
92
+ pid=self.daemonize(command)
93
+ if pid is not None:
94
+ #store process pid if it really exists
95
+ process_id[pid]=self.CMD
96
+ self.PID = pid
97
+ logging.getLogger().debug("PID of launched command : {}".format(pid))
98
+ return pid
99
+
100
+ def daemonize(self,args):
101
+ # to daemonize a process need to do the UNIX double-fork magic
102
+ # see Stevens, "Advanced Programming in the UNIX Environment" for details (ISBN 0201563177)
103
+ # and UNIX Programming FAQ 1.7 How do I get my program to act like a daemon?
104
+ # http://www.erlenstar.demon.co.uk/unix/faq_2.html#SEC16
105
+ #open a pipe
106
+ c2pread, c2pwrite = os.pipe()
107
+ #do first fork
108
+ pid=os.fork()
109
+ if pid > 0:
110
+ #first parent
111
+ os.close(c2pwrite)
112
+ #receive real pid from child
113
+ data=os.read(c2pread,24) #read 24 bytes
114
+ os.waitpid(pid,0) #remove zombie
115
+ os.close(c2pread)
116
+ # return : first parent
117
+ childpid=int(data)
118
+ if childpid==-1:
119
+ return None
120
+ try:
121
+ os.kill(childpid,0)
122
+ return childpid
123
+ except Exception:
124
+ return None
125
+
126
+ #first child
127
+ # decouple from parent environment
128
+ os.setsid()
129
+ os.close(c2pread)
130
+
131
+ # do second fork : second child not a session leader
132
+ try:
133
+ pid = os.fork()
134
+ if pid > 0:
135
+ #send real pid to parent
136
+ pid_str = "%d" % pid
137
+ os.write(c2pwrite,pid_str.encode())
138
+ os.close(c2pwrite)
139
+ # exit from second parent
140
+ os._exit(0)
141
+ except OSError as e:
142
+ print("fork #2 failed: %d (%s)" % (e.errno, e.strerror), file=sys.stderr)
143
+ os.write(c2pwrite,"-1")
144
+ os.close(c2pwrite)
145
+ sys.exit(1)
146
+
147
+ #I am a daemon
148
+ os.close(0) #close stdin
149
+ os.open("/dev/null", os.O_RDWR) # redirect standard input (0) to /dev/null
150
+ try:
151
+ os.execvp(args[0], args)
152
+ except OSError as e:
153
+ print("(%s) launch failed: %d (%s)" % (args[0],e.errno, e.strerror), file=sys.stderr)
154
+ os._exit(127)
@@ -0,0 +1,240 @@
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
+ import sys, os, string, glob, time, pickle
26
+ from .launchConfigureParser import verbose
27
+
28
+ # this file is extraction of set_env from runSalome.py
29
+ # for reusage in automated tests
30
+
31
+ # salome_subdir variable is used for composing paths like $KERNEL_ROOT_DIR/share/salome/resources, etc.
32
+ # before moving to SUIT-based gui, instead of salome_subdir there was args['appname'] used.
33
+ # but after - 'appname' = "SalomeApp", so using it in making the subdirectory is an error.
34
+ salome_subdir = "salome"
35
+
36
+
37
+ # -----------------------------------------------------------------------------
38
+
39
+ def add_path(directory, variable_name):
40
+ """Function helper to add environment variables"""
41
+ if variable_name not in os.environ:
42
+ os.environ[variable_name] = ""
43
+ pass
44
+ if os.path.exists(directory):
45
+ newpath=[]
46
+ for _dir in os.environ[variable_name].split(os.pathsep):
47
+ if os.path.exists(_dir):
48
+ if not os.path.samefile(_dir, directory):
49
+ newpath.append(_dir)
50
+ else:
51
+ if os.path.abspath(_dir) != os.path.abspath(directory):
52
+ newpath.append(_dir)
53
+ pass
54
+ newpath[:0] = [ directory ]
55
+ newpath = os.pathsep.join(newpath)
56
+ os.environ[variable_name] = newpath
57
+ if variable_name == "PYTHONPATH":
58
+ sys.path[:0] = [os.path.realpath(directory)]
59
+
60
+ # -----------------------------------------------------------------------------
61
+
62
+ __lib__dir__ = None
63
+ def get_lib_dir():
64
+ global __lib__dir__
65
+ if __lib__dir__: return __lib__dir__
66
+ import platform
67
+ __lib__dir__ = "lib"
68
+ return __lib__dir__
69
+
70
+ # -----------------------------------------------------------------------------
71
+
72
+ def get_config(silent=False, exeName=None, keepEnvironment=True):
73
+ """
74
+ Get list of modules, paths.
75
+
76
+ Read args from launch configure xml file and command line options.
77
+ Check variables <module>_ROOT_DIR and set list of used modules.
78
+ Return args, modules_list, modules_root_dir
79
+ """
80
+
81
+ # read args from launch configure xml file and command line options
82
+
83
+
84
+ from .launchConfigureParser import get_env
85
+ args = get_env(exeName=exeName, keepEnvironment=keepEnvironment)
86
+
87
+
88
+ # Check variables <module>_ROOT_DIR
89
+ # and set list of used modules (without KERNEL)
90
+
91
+ modules_list = []
92
+ if "modules" in args:
93
+ modules_list += [a for a in args["modules"] if a.strip()]
94
+ # KERNEL must be last in the list to locate it at the first place in PATH
95
+ if args["gui"] :
96
+ modules_list[:0] = ["GUI"]
97
+ modules_list[:0] = ["KERNEL"]
98
+ modules_list.reverse()
99
+
100
+ modules_root_dir = {}
101
+
102
+ to_remove_list=[]
103
+ for module in modules_list :
104
+ module_variable=module+"_ROOT_DIR"
105
+ if module_variable not in os.environ:
106
+ if not silent:
107
+ print("*******************************************************")
108
+ print("*")
109
+ print("* Environment variable",module_variable,"must be set")
110
+ print("* Module", module, "will be not available")
111
+ print("*")
112
+ print("********************************************************")
113
+ pass
114
+ to_remove_list.append(module)
115
+ continue
116
+ pass
117
+ module_root_dir = os.environ[module_variable]
118
+ modules_root_dir[module]=module_root_dir
119
+
120
+ for to_remove in to_remove_list:
121
+ modules_list.remove(to_remove)
122
+
123
+ while "KERNEL" in modules_list:
124
+ modules_list.remove("KERNEL")
125
+ pass
126
+
127
+ while "GUI" in modules_list:
128
+ modules_list.remove("GUI")
129
+ pass
130
+
131
+ return args, modules_list, modules_root_dir
132
+
133
+ # -----------------------------------------------------------------------------
134
+
135
+ def set_env(args, modules_list, modules_root_dir, silent=False, keepEnvironment=True):
136
+ """Add to the PATH-variables modules specific paths"""
137
+
138
+ import os
139
+ from .salome_utils import getLogDir, generateFileName, makeTmpDir, getPortNumber
140
+
141
+ if 'launcher' in args:
142
+ pos = args['launcher'].find(":")
143
+ if pos != -1:
144
+ machine = args['launcher'][0:pos]
145
+ port = args['launcher'][pos+1:]
146
+ os.environ["NSPORT"] = port
147
+
148
+ # create temporary directory for environment files needed by modules from the list
149
+ port = getPortNumber(False)
150
+ if port:
151
+ tmp_dir = getLogDir()
152
+ env_dir = generateFileName(tmp_dir, prefix="env", with_port=True)
153
+ makeTmpDir(env_dir)
154
+ pass
155
+
156
+ python_version="python%d.%d" % sys.version_info[0:2]
157
+ modules_root_dir_list = []
158
+ if os.getenv('SALOME_BATCH') == None:
159
+ os.putenv('SALOME_BATCH','0')
160
+ if args["gui"] :
161
+ modules_list = modules_list[:] + ["GUI"]
162
+ if not keepEnvironment:
163
+ modules_list = modules_list[:] + ["KERNEL"]
164
+ for module in modules_list :
165
+ if module in modules_root_dir:
166
+ module_root_dir = modules_root_dir[module]
167
+ if module_root_dir not in modules_root_dir_list:
168
+ modules_root_dir_list[:0] = [module_root_dir]
169
+ if sys.platform == "win32":
170
+ add_path(os.path.join(module_root_dir,get_lib_dir(),salome_subdir),
171
+ "PATH")
172
+ elif sys.platform == "darwin":
173
+ add_path(os.path.join(module_root_dir,get_lib_dir(),salome_subdir),
174
+ "DYLD_LIBRARY_PATH")
175
+ else:
176
+ add_path(os.path.join(module_root_dir,get_lib_dir(),salome_subdir),
177
+ "LD_LIBRARY_PATH")
178
+ add_path(os.path.join(module_root_dir,"bin",salome_subdir),
179
+ "PATH")
180
+ if os.path.exists(os.path.join(module_root_dir, "examples")):
181
+ add_path(os.path.join(module_root_dir,"examples"),
182
+ "PYTHONPATH")
183
+ pass
184
+ add_path(os.path.join(module_root_dir,"bin",salome_subdir),
185
+ "PYTHONPATH")
186
+ # add lib before site-packages to load script instead of dll if any (win32 platform)
187
+ add_path(os.path.join(module_root_dir,get_lib_dir(),salome_subdir),
188
+ "PYTHONPATH")
189
+ add_path(os.path.join(module_root_dir,get_lib_dir(),
190
+ python_version,"site-packages",
191
+ salome_subdir),
192
+ "PYTHONPATH")
193
+ import platform
194
+ if platform.machine() == "x86_64":
195
+ add_path(os.path.join(module_root_dir,"lib64",
196
+ python_version,"site-packages",
197
+ salome_subdir),
198
+ "PYTHONPATH")
199
+ pass
200
+ add_path(os.path.join(module_root_dir,get_lib_dir(),
201
+ python_version,"site-packages",
202
+ salome_subdir,
203
+ "shared_modules"),
204
+ "PYTHONPATH")
205
+
206
+ # set environment by modules from the list
207
+ if port:
208
+ try:
209
+ import importlib
210
+ mod=importlib.import_module(module.lower()+"_setenv")
211
+ mod.set_env(args)
212
+ pass
213
+ except Exception:
214
+ pass
215
+ pass
216
+ pass
217
+ pass
218
+
219
+ if sys.platform == 'win32':
220
+ os.environ["SALOMEPATH"]=";".join(modules_root_dir_list)
221
+ else:
222
+ os.environ["SALOMEPATH"]=":".join(modules_root_dir_list)
223
+
224
+ pass
225
+ # set trace environment variable
226
+
227
+ if "SALOME_trace" not in os.environ:
228
+ os.environ["SALOME_trace"]="local"
229
+ if args['file']:
230
+ os.environ["SALOME_trace"]="file:"+args['file'][0]
231
+ if args['logger']:
232
+ os.environ["SALOME_trace"]="with_logger"
233
+
234
+ # -----------------------------------------------------------------------------
235
+
236
+ def main(silent=False, exeName=None):
237
+ keep_env = not os.getenv('SALOME_PLEASE_SETUP_ENVIRONMENT_AS_BEFORE')
238
+ args, modules_list, modules_root_dir = get_config(silent=silent, exeName=exeName, keepEnvironment=keep_env)
239
+ set_env(args, modules_list, modules_root_dir, silent=silent, keepEnvironment=keep_env)
240
+ return args