salome.kernel 9.14.0__cp39-cp39-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-d4557377.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-f5fc4b7e.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-896ae3bb.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,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
@@ -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)