From: crouzet Date: Tue, 18 May 2021 13:48:38 +0000 (+0200) Subject: Merge branch 'nct/may21' X-Git-Tag: 5.8.0 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=28cebd157f9d39920d0480232e7c361716ca45bb;hp=8617aa3fb40542e618fedfe9ba1fe52071e2795d;p=tools%2Fsat.git Merge branch 'nct/may21' --- diff --git a/commands/config.py b/commands/config.py index 6ef3dbf..e855c57 100644 --- a/commands/config.py +++ b/commands/config.py @@ -815,7 +815,7 @@ def check_install_system(config, logger): if src.product.product_is_native(product_info): # if the product is native, get (in two dictionnaries the runtime and compile time # system dependencies with the status (OK/KO) - run_pkg,build_pkg=src.product.check_system_dep(check_cmd, product_info) + run_pkg,build_pkg=src.product.check_system_dep(config.VARS.dist, check_cmd, product_info) #logger.write("\n*** %s ***\n" % product, 1) for pkg in run_pkg: logger.write("\n - "+pkg + " : " + run_pkg[pkg], 1) diff --git a/commands/source.py b/commands/source.py index 47d8d15..d92ddc5 100644 --- a/commands/source.py +++ b/commands/source.py @@ -405,7 +405,7 @@ def get_product_sources(config, # for native products we check the corresponding system packages are installed logger.write("Native : Checking system packages are installed\n" , 3) check_cmd=src.system.get_pkg_check_cmd(config.VARS.dist_name) # (either rmp or apt) - run_pkg,build_pkg=src.product.check_system_dep(check_cmd, product_info) + run_pkg,build_pkg=src.product.check_system_dep(config.VARS.dist, check_cmd, product_info) result=True for pkg in run_pkg: logger.write(" - "+pkg + " : " + run_pkg[pkg], 1) diff --git a/doc/src/commands/config.rst b/doc/src/commands/config.rst index 05c01b1..fb73182 100644 --- a/doc/src/commands/config.rst +++ b/doc/src/commands/config.rst @@ -11,7 +11,7 @@ It allows display, manipulation and operation on configuration files Usage ===== -* Edit the user personal configuration file ``$HOME/.salomeTools/SAT.pyconf``. It is used to store the user personal choices, like the favorite editor, browser, pdf viewer: :: +* Edit the user personal configuration file ``$HOME/.salomeTools/SAT.pyconf``. It is used to store the user personal choices, like the favourite editor, browser, pdf viewer: :: sat config --edit diff --git a/doc/src/commands/generate.rst b/doc/src/commands/generate.rst index aaa033e..adc3859 100644 --- a/doc/src/commands/generate.rst +++ b/doc/src/commands/generate.rst @@ -18,7 +18,7 @@ Remarks cpp : "yes" generate : "yes" -* The cpp modules are usually computational components, and the generated module brings the CORBA layer which allows distributing the compononent on remote machines. cpp modules should conform to YACSGEN/hxx2salome requirements (please refer to YACSGEN documentation). +* The cpp modules are usually computational components, and the generated module brings the CORBA layer which allows distributing the component on remote machines. cpp modules should conform to YACSGEN/hxx2salome requirements (please refer to YACSGEN documentation). Usage diff --git a/doc/src/commands/launcher.rst b/doc/src/commands/launcher.rst index 38e753f..8ec433f 100644 --- a/doc/src/commands/launcher.rst +++ b/doc/src/commands/launcher.rst @@ -34,7 +34,7 @@ Usage sat launcher -e INSTALL/SALOME/bin/salome/salome.py -n salome.sh The launcher will be called salome.sh. It will source the environment and call ``$APPLICATION.workdir``/INSTALL/SALOME/bin/salome/salome.py. - The arguments given to salome.sh are transfered to salome.py. + The arguments given to salome.sh are transferred to salome.py. * Set a specific resources catalog: :: diff --git a/doc/src/conf.py b/doc/src/conf.py index 5ba6001..b4916cb 100644 --- a/doc/src/conf.py +++ b/doc/src/conf.py @@ -61,9 +61,9 @@ copyright = u'2019, CEA' # built documents. # # The short X.Y version. -version = '5.7' +version = '5.8' # The full version, including alpha/beta/rc tags. -release = '5.7.0' +release = '5.8.0' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/doc/src/configuration.rst b/doc/src/configuration.rst index 3e54118..2877a85 100644 --- a/doc/src/configuration.rst +++ b/doc/src/configuration.rst @@ -258,7 +258,7 @@ Available product configuration flags * **name** : the name of the product * **build_source** : the method to use when getting the sources, possible choices are script/cmake/autotools. If "script" is chosen, a compilation script should be provided with compil_script key -* **compil_script** : to specify a compilation script (in conjonction with build_source set to "script"). The programming language is bash under linux, and bat under windows. +* **compil_script** : to specify a compilation script (in conjunction with build_source set to "script"). The programming language is bash under linux, and bat under windows. * **get_source** : the mode to get the sources, possible choices are archive/git/svn/cvs * **depend** : to give SAT the dependencies of the product * **patches** : provides a list of patches, if required @@ -324,7 +324,7 @@ Product environment The product environment is declared in a subsection called environment. It is used by sat at compile time to set up the environment for the compilation of all the products depending upon it. -It is also used at run tim to set up the application environment. +It is also used at run time to set up the application environment. Two mechanisms are offered to define the environment. The first one is similar to the one used in the application configuration : inside the environ section, we declare variables or paths. @@ -432,7 +432,7 @@ Other configuration sections The configuration of SAT is split into eight sections : VARS, APPLICATION, PRODUCTS, PROJECTS, PATHS, USER, LOCAL, INTERNAL. -These sections are feeded by the pyconf files which are loaded by sat: each pyconf file is parsed by SAT and merged into the global configuration. +These sections are fed by the pyconf files which are loaded by sat: each pyconf file is parsed by SAT and merged into the global configuration. One file can reference variables defined in other files. Files are loaded in this order : * the internal pyconf (declared inside sat) @@ -514,7 +514,7 @@ Application overwriting ----------------------- At the end of the application configuration, it is possible to define an overwrite section with the keyword **__overwrite__ :**. -It is followed by a list of overwrite sections, that may be conditionnal (use of the keyword **__condition__ :**). +It is followed by a list of overwrite sections, that may be conditional (use of the keyword **__condition__ :**). A classical usage of the application overwriting is the change of a prerequisite version for a given platform (when the default version does not compile). .. code-block:: bash diff --git a/doc/src/index.rst b/doc/src/index.rst index 85c7137..eeaef73 100644 --- a/doc/src/index.rst +++ b/doc/src/index.rst @@ -19,7 +19,7 @@ It was originally created for the maintenance and the packaging of SALOME platfo The following features should be highlighted: * the **definition** of the application content: which products (prerequisites, codes, modules) are necessary and which versions are required - * the **configuration** of the application : how to get the source of products, how to compile them, which options to use, etc. The configuration can be conditionnaly overwritten, this feature allows application developers taking into account platform specifics. + * the **configuration** of the application : how to get the source of products, how to compile them, which options to use, etc. The configuration can be conditionally overwritten, this feature allows application developers taking into account platform specifics. * the **preparation** of the complete software: all the required sources with correct versions are retrieved from git/svn/cvs repositories, or from already prepared tarballs. * management of **patches** if some are required to compile on specific platforms (portage) * management of the **environment** to set up at compile time and at runtime @@ -30,7 +30,7 @@ The following features should be highlighted: * **overwriting** the configuration in command line: it allows users setting easily their own preferences or options SAT uses **python**, and many of its strength come from its power and straightforwardness. It is compatible with both python2 and python3 versions. -SAT is a Command Line Interface (CLI_) based on python langage. It is a suite of commands, which are detailed later in this documentation. +SAT is a Command Line Interface (CLI_) based on python language. It is a suite of commands, which are detailed later in this documentation. These commands are used to perform the operations on the application. SAT enables command completion by sourcing the provided complete_sat.sh script. Like similar tool, SAT doesn't like modified environments, as this can cause conflicts while compiling products or using applications. It is recommended that SAT users run with a **clean environment**, especially for PATH, LD_LIBRARY_PATH and PYTHONPATH. ~/.bashrc file should be as thin as possible! @@ -74,6 +74,7 @@ Release Notes .. toctree:: :maxdepth: 1 + Release Notes 5.8.0 Release Notes 5.7.0 Release Notes 5.6.0 Release Notes 5.5.0 diff --git a/doc/src/installation_of_sat.rst b/doc/src/installation_of_sat.rst index 29d3779..6e1e146 100644 --- a/doc/src/installation_of_sat.rst +++ b/doc/src/installation_of_sat.rst @@ -9,7 +9,7 @@ From git bases -------------- **sat** git bases are hosted by the `salome platform Tuleap forge `_ . Therefore you first have to get an account to this forge. -To get started, one has to download sat, and at last one sat project (usually SAT_SALOME project, which contains all the configuration required to build SALOME and its prerequisites). The following script get sat and SAT_SALOME project from git repos: :: +To get started, one has to download sat, and at last one sat project (usually SAT_SALOME project, which contains all the configuration required to build SALOME and its prerequisites). The following script get sat and SAT_SALOME project from git repositories: :: # get sat BASE_SAT=https://codev-tuleap.cea.fr/plugins/git/spns/SAT.git @@ -67,7 +67,7 @@ Please note that the sources are installed in *SOURCES* directory, and the compi 2. recompile only a part of the application -It is possible to recompile only a part of the products (those we need to modify and recompile). To enter this (partial recompilation mode), one has initialy to copy the binaries from *BINARIES-XXX* to *INSTALL*, and do the path substitutions by using the **install_bin.sh** script: +It is possible to recompile only a part of the products (those we need to modify and recompile). To enter this (partial recompilation mode), one has initially to copy the binaries from *BINARIES-XXX* to *INSTALL*, and do the path substitutions by using the **install_bin.sh** script: .. code-block:: bash @@ -93,4 +93,4 @@ Standalone sat packages ./sat config -l # list all salome applications available for build -Finally, the project also provides bash scripts that get a tagged version of sat from the git repository, and a tagged version of salome projects. This mode is dedicated to the developpers, and requires an access to the Tuleap git repositories. +Finally, the project also provides bash scripts that get a tagged version of sat from the git repository, and a tagged version of salome projects. This mode is dedicated to the developers, and requires an access to the Tuleap git repositories. diff --git a/doc/src/release_notes/release_notes_5.1.0.rst b/doc/src/release_notes/release_notes_5.1.0.rst index ae0caa7..2e0b90c 100644 --- a/doc/src/release_notes/release_notes_5.1.0.rst +++ b/doc/src/release_notes/release_notes_5.1.0.rst @@ -7,8 +7,8 @@ Release Notes, June, 2018 This version of sat was used to produce SALOME 8.5.0 -New features and improvments ----------------------------- +New features and improvements +----------------------------- **sat compile : management of a verbose and debug option** @@ -21,7 +21,7 @@ The new options can be activated for a selected products (within the option dict # for KERNEL compilation : specify to cmake a debug compilation with verbosity KERNEL : {tag : "V7_8_0", base : "yes", debug : "yes", verbose : "yes"} -These two options can also be activated globaly, for all products, through golbal keys: +These two options can also be activated globally, for all products, through golbal keys: .. code-block:: bash @@ -36,11 +36,11 @@ These two options can also be activated globaly, for all products, through golba ... } -**Implementation of salome test functionnality with sat launcher** +**Implementation of salome test functionality with sat launcher** **sat** launcher is now able to launch salome tests (before the development, only virtual applications where able to launch salome tests). SALOME module was adapted to hold the tests (through links to SALOME module test directories). -Notablt, the results and logs of the test are stored in *INSTALL/SALOME/bin/salome/test*. +Notably, the results and logs of the test are stored in *INSTALL/SALOME/bin/salome/test*. .. code-block:: bash @@ -79,7 +79,7 @@ most significant changes are listed. +-------------+-----------------------------------------------------------------------------------+ | sat #10569 | Debug and improvement of products filters in sat commands | +-------------+-----------------------------------------------------------------------------------+ -| sat #8576 | Improve if messages displayed by sat compile commande | +| sat #8576 | Improve if messages displayed by sat compile command | | sat #8646 | Improve management of errors | | sat #8605 | | | sat #8646 | | diff --git a/doc/src/release_notes/release_notes_5.2.0.rst b/doc/src/release_notes/release_notes_5.2.0.rst index a3b534e..c7575cb 100644 --- a/doc/src/release_notes/release_notes_5.2.0.rst +++ b/doc/src/release_notes/release_notes_5.2.0.rst @@ -43,7 +43,7 @@ The old syntax is still supported for compatibility, but the new one, more expli When salome is used on a remote machine, the use of openGL 3 is not compatible with X11 forwarding (ssh -X). This cause segmentation faults when the 3D viewers are used. For people who have no other choice and need to use ssh (it may be useful for testing SALOME on a client remote machine), -we provide in the packages a mesa laucher mesa_salome. +we provide in the packages a mesa launcher mesa_salome. It will avoid the segmentation faults, at the price of poor performance : it should only be used in this case! If performance is required, a solution based on the use of VirtualGL and TurboVNC/x2go would be recommended. But this requires some configuration of the tools to be done as root. diff --git a/doc/src/release_notes/release_notes_5.3.0.rst b/doc/src/release_notes/release_notes_5.3.0.rst index f314f5e..5f2bfeb 100644 --- a/doc/src/release_notes/release_notes_5.3.0.rst +++ b/doc/src/release_notes/release_notes_5.3.0.rst @@ -11,7 +11,7 @@ New features and improvments **sat init** The command *sat init* has been finalized, with the addition of options **--add_project** and **--reset_projects**. -It is now able to manage projects after an intiale git clone of sat. The capacity is used by users +It is now able to manage projects after an initial git clone of sat. The capacity is used by users installing sat from the git repositories: .. code-block:: bash @@ -27,7 +27,7 @@ installing sat from the git repositories: It is possible to initialise sat with several projects by calling several times *sat init --add_project* -**sat prepare : git retry functionnality** +**sat prepare : git retry functionality** With large git repositories (>1GB) *git clone* command may fail. To decrease the risk, sat prepare will now retry three times the *git clone* function in case of failure. @@ -63,7 +63,7 @@ SALOME packages are big... It is usefull to be able to clean them whith this new **Global configuration keys "debug", "verbose" and "dev" in applications** -These new keys can be defined in applications in order to triger the debug, verbose and dev mode for all products. +These new keys can be defined in applications in order to trigger the debug, verbose and dev mode for all products. In the following example, the SALOME-master application will be compiled in debug mode (use of **-g** flag), but with no verbosity. Its products are not in development mode. @@ -93,24 +93,24 @@ most significant changes are listed. | sat #16548 | Finalisation of sat init command (options -add_project and --reset_projects) | | sat #8566 | | +------------+-----------------------------------------------------------------------------------+ -| sat #12994 | new git retry functionnality for sat prepare : give three trials in case of | +| sat #12994 | new git retry functionality for sat prepare : give three trials in case of | | | failures | +------------+-----------------------------------------------------------------------------------+ | sat #8581 | traceability : save tag of sat and its projects | +------------+-----------------------------------------------------------------------------------+ | sat #8588 | reset LD_LIBRARY_PATH and PYTHONPATH before launching SALOME | +------------+-----------------------------------------------------------------------------------+ -| sat #9575 | Improvment of the DISTENE licences management (notably for packages) | +| sat #9575 | Improvement of the DISTENE licences management (notably for packages) | +------------+-----------------------------------------------------------------------------------+ | sat #8597 | Implementation of option sat prepare -c (--complete) for preparing only the | | | sources that are not yet installed | +------------+-----------------------------------------------------------------------------------+ | sat #8655 | implementation of option sat clean --packages | +------------+-----------------------------------------------------------------------------------+ -| sat #8532 | sat log : remane option --last_terminal in --last_compile | +| sat #8532 | sat log : rename option --last_terminal in --last_compile | | sat #8594 | Extension of sat log --last_compile to the logs of make check | +------------+-----------------------------------------------------------------------------------+ -| sat #13271 | hpc mode trigered by product "hpc" key in state of MPI_ROOT variable | +| sat #13271 | hpc mode triggered by product "hpc" key in state of MPI_ROOT variable | | | | +------------+-----------------------------------------------------------------------------------+ | sat #8606 | sat generate clean old directories before a new generation | diff --git a/doc/src/release_notes/release_notes_5.5.0.rst b/doc/src/release_notes/release_notes_5.5.0.rst index 3380403..e566469 100644 --- a/doc/src/release_notes/release_notes_5.5.0.rst +++ b/doc/src/release_notes/release_notes_5.5.0.rst @@ -61,7 +61,7 @@ With time, the number of sections increased a lot. And it is not easy to visuali are identical, except few variations. With the windows version, new sections are introduced to manage windows specifics. -Therefore the need of a new mode for managing sections arises, that would be simplier, more concise, and help the comprehension. +Therefore the need of a new mode for managing sections arises, that would be simpler, more concise, and help the comprehension. This new mode is called **incremental**, and is triggered by the property **incremental** within the default section of the product:: default: @@ -74,7 +74,7 @@ This new mode is called **incremental**, and is triggered by the property **incr ... } -When this mode is defined, the definition of the product is defined incrementaly, by taking into account the reference (the default section) and applying to it corrections defined in the other incremental sections. Depending upon the case, several sections may be taken into account, in a predefined order: +When this mode is defined, the definition of the product is defined incrementally, by taking into account the reference (the default section) and applying to it corrections defined in the other incremental sections. Depending upon the case, several sections may be taken into account, in a predefined order: * the default section, which contains the reference definition * on windows platform, the default_win section if it exists @@ -137,7 +137,7 @@ most significant changes are listed. +-------------+-----------------------------------------------------------------------------------+ | spns #16894 | clean the temp directory at the end of sat package | +-------------+-----------------------------------------------------------------------------------+ -| sat #12965 | optimisation of sat compile : better, simplier and faster algo for dependencies! | +| sat #12965 | optimisation of sat compile : better, simpler and faster algo for dependencies! | +-------------+-----------------------------------------------------------------------------------+ | sat #17206 | Use pip to manage python modules | +-------------+-----------------------------------------------------------------------------------+ @@ -151,7 +151,7 @@ most significant changes are listed. +-------------+-----------------------------------------------------------------------------------+ | sat #17357 | New field "rm_products" to blacklist products in overwrite section of appli pyconf| +-------------+-----------------------------------------------------------------------------------+ -| sat #17194 | Parametrication of the value of INSTALL and BINARIES directories | +| sat #17194 | Parametrisation of the value of INSTALL and BINARIES directories | | | (in src/internal_config/salomeTools.pyconf) | +-------------+-----------------------------------------------------------------------------------+ | sat #17639 | Warning when sat is launcher with python3 | @@ -166,5 +166,5 @@ most significant changes are listed. | | SAT_DEBUG and SAT_VERBOSE environment variables are now available in the | | | compilation, which can now forward the information and do the job! | +-------------+-----------------------------------------------------------------------------------+ -| sat #18392 | Bug, binaries archives do not work when producrs are in base | +| sat #18392 | Bug, binaries archives do not work when products are in base | +-------------+-----------------------------------------------------------------------------------+ diff --git a/doc/src/release_notes/release_notes_5.6.0.rst b/doc/src/release_notes/release_notes_5.6.0.rst index 6570662..79d97e4 100644 --- a/doc/src/release_notes/release_notes_5.6.0.rst +++ b/doc/src/release_notes/release_notes_5.6.0.rst @@ -3,7 +3,7 @@ SAT version 5.6.0 ***************** Release Notes, July 2020 -======================= +======================== New features and improvements @@ -12,7 +12,7 @@ New features and improvements **Checking of system dependencies** -SALOME depends upon some system prerequisites. Recent examples are tbb and openssl. For these products SALOME made the choice not to embedd the prerequisite, but +SALOME depends upon some system prerequisites. Recent examples are tbb and openssl. For these products SALOME made the choice not to embed the prerequisite, but to rely on the system version. SAT has now the capacity to check for the system dependencies in two ways: @@ -53,7 +53,7 @@ most significant changes are listed. +-------------+-----------------------------------------------------------------------------------+ | sat #19234 | remove build products from bin archives, better management of their environment | +-------------+-----------------------------------------------------------------------------------+ -| sat #19218 | correct out_dir_Path substituion for appended variables | +| sat #19218 | correct out_dir_Path substitution for appended variables | +-------------+-----------------------------------------------------------------------------------+ | sat #18350 | -f option for sat compile : force the recompilation | +-------------+-----------------------------------------------------------------------------------+ diff --git a/doc/src/release_notes/release_notes_5.7.0.rst b/doc/src/release_notes/release_notes_5.7.0.rst index 5f608c6..955b352 100644 --- a/doc/src/release_notes/release_notes_5.7.0.rst +++ b/doc/src/release_notes/release_notes_5.7.0.rst @@ -50,7 +50,7 @@ This option can also be mixed with *--proterties* option, to avoid recompiling s **sat do not reinitialise PATH, LD_LIBRARY_PATH and PYTHONPATH variables anymore** The last versions of sat were reinitialising the PATH, LD_LIBRARY_PATH and PYTHONPATH variables before the compilation. -The objective was to avoid bad interaction with the user environment, and ensure that sat environmnent was correctly set for build. +The objective was to avoid bad interaction with the user environment, and ensure that sat environment was correctly set for build. Alas this policy causes difficulties, notably on cluster where people sometimes need to use an alternate compiler and have to set it through *module load* command. It was therefore decided to suppress this policy. diff --git a/doc/src/release_notes/release_notes_5.8.0.rst b/doc/src/release_notes/release_notes_5.8.0.rst new file mode 100644 index 0000000..05e66a1 --- /dev/null +++ b/doc/src/release_notes/release_notes_5.8.0.rst @@ -0,0 +1,88 @@ +***************** +SAT version 5.8.0 +***************** + +Release Notes, May 2021 +============================ + + +New features and improvements +----------------------------- + + +**New key git_options** + +This new key was introduced in order to be able to use specific *git clone* options when getting sources with sat. +This was motivated by paraview, which sometimes requires the option --recursive. +This git_options key should be added in the git_info section of the product: :: + + git_info: + { + repo : "https://gitlab.kitware.com/paraview/paraview-superbuild" + repo_dev : $repo + git_options: ' --recursive ' + } + + + +**Completion of system_info section with system specifics** + +This development allows defining more precisely the system prerequisites that are required (the name of some packages change from one linux distribution to the other, +with this development it is now possible to specialise system prerequisites for each distribution). +In addition a new product called *salome_system* was added, which includes all *implicit* system prerequisites (prerequisites that are not specifically managed by +sat, and that should be installed on the user machine). +The command *sat config --check_system* is now quite exhaustive. +The syntax of this new section is: :: + + system_info : + { + rpm : ["dbus-libs", "gmp", ... "zlib"] + rpm_dev : ["openssl-devel", "tbb-devel", ... "libXft-devel"] + apt : ["libbsd0", ... "zlib1g"] + apt_dev : ["libssl-dev", "gcc", ...] + + # specific to some plateform(s) + "CO7" : + { + rpm_dev : ["perl"] + } + "CO8-FD30-FD32" : + { + rpm_dev : ["perl-interpreter"] + } + } + + + +Change log +---------- + +This chapter does not provide the complete set of changes included, only the +most significant changes are listed. + + ++-------------+-----------------------------------------------------------------------------------+ +| Artifact | Description | ++=============+===================================================================================+ +| sat #24027 | Print a warning for users executing .sh environment scripts outside bash (zsh,...)| ++-------------+-----------------------------------------------------------------------------------+ +| spns #20662 | For sat compile --update : do not change the date of source directory for tags | +| | (only for branches) | ++-------------+-----------------------------------------------------------------------------------+ +| sat #18868 | Implement the recompilation of archives produced with BASE mode | ++-------------+-----------------------------------------------------------------------------------+ +| sat #18867 | Implement the recompilation of an archive produced with git links | +| | --with_vcs) | ++-------------+-----------------------------------------------------------------------------------+ +| sat #20601 | bug fix the case where the the name of a product differ from the pyconf name | ++-------------+-----------------------------------------------------------------------------------+ +| sat #20061 | Use a new optimized algorithm for the calculation of dependencies (much faster) | ++-------------+-----------------------------------------------------------------------------------+ +| sat #20089 | bug fix for python 2.6 | ++-------------+-----------------------------------------------------------------------------------+ +| sat #20490 | suppress false positive return of sat prepare if tag doesn't exist | ++-------------+-----------------------------------------------------------------------------------+ +| sat #20391 | Update Exception API message method to conform with python3 | ++-------------+-----------------------------------------------------------------------------------+ +| sat #20460 | debug sat config --check_system on debian system | ++-------------+-----------------------------------------------------------------------------------+ diff --git a/doc/src/write_command.rst b/doc/src/write_command.rst index 3b0c28f..bd6bfe1 100644 --- a/doc/src/write_command.rst +++ b/doc/src/write_command.rst @@ -41,7 +41,7 @@ But there are some useful services provided by sat : parser = src.options.Options() parser.add_option('m', 'myoption', \ 'boolean', 'myoption', \ - 'My option changes the behavior of my command.') + 'My option changes the behaviour of my command.') def run(args, runner, logger): # Parse the options @@ -61,7 +61,7 @@ But there are some useful services provided by sat : parser = src.options.Options() parser.add_option('m', 'myoption', \ 'boolean', 'myoption', \ - 'My option changes the behavior of my command.') + 'My option changes the behaviour of my command.') def description(): return _("The help of mycommand.") diff --git a/pdf/salomeTools.pdf b/pdf/salomeTools.pdf index b61e903..cbd2b4a 100644 Binary files a/pdf/salomeTools.pdf and b/pdf/salomeTools.pdf differ diff --git a/src/product.py b/src/product.py index 5bb0c16..4c72a43 100644 --- a/src/product.py +++ b/src/product.py @@ -856,7 +856,7 @@ def check_installation(config, product_info): if product_is_native(product_info): # check a system product check_cmd=src.system.get_pkg_check_cmd(config.VARS.dist_name) - run_pkg,build_pkg=src.product.check_system_dep(check_cmd, product_info) + run_pkg,build_pkg=src.product.check_system_dep(config.VARS.dist, check_cmd, product_info) build_dep_ko=[] for pkg in build_pkg: if "KO" in build_pkg[pkg]: @@ -1220,29 +1220,54 @@ def product_test_property(product_info, property_name, property_value): result = eval(eval_expression) return result -def check_system_dep(check_cmd, product_info): +def check_system_dep(distrib, check_cmd, product_info): """Search for system dependencies, check if installed + :param dist : The linux ditribution (CO7,DB10...) :param check_cmd Config: The command to use for checking (rpm/apt) :param product_info Config: The configuration specific to the product :rtype: two dictionnaries for runtime and compile time dependencies with text status """ runtime_dep={} build_dep={} + if "system_info" in product_info: + + sysinfo=product_info.system_info + additional_sysinfo = None + + for key in sysinfo : + if distrib in key : + additional_sysinfo = sysinfo[key] + if check_cmd[0]=="rpm": - if "rpm" in product_info.system_info: - for pkg in product_info.system_info.rpm: + if "rpm" in sysinfo: + for pkg in sysinfo.rpm: runtime_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg) - if "rpm_dev" in product_info.system_info: - for pkg in product_info.system_info.rpm_dev: + if "rpm_dev" in sysinfo: + for pkg in sysinfo.rpm_dev: build_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg) + if additional_sysinfo : + if "rpm" in additional_sysinfo: + for pkg in additional_sysinfo.rpm: + runtime_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg) + if "rpm_dev" in additional_sysinfo: + for pkg in additional_sysinfo.rpm_dev: + build_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg) if check_cmd[0]=="apt": - if "apt" in product_info.system_info: - for pkg in product_info.system_info.apt: + if "apt" in sysinfo: + for pkg in sysinfo.apt: runtime_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg) - if "apt_dev" in product_info.system_info: - for pkg in product_info.system_info.apt_dev: + if "apt_dev" in sysinfo: + for pkg in sysinfo.apt_dev: build_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg) + if additional_sysinfo : + if "apt" in additional_sysinfo: + for pkg in additional_sysinfo.apt: + runtime_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg) + if "apt_dev" in additional_sysinfo: + for pkg in additional_sysinfo.apt_dev: + build_dep[pkg]=src.system.check_system_pkg(check_cmd,pkg) + return runtime_dep,build_dep