From 56005a107ed9099074cc393185e840e9bfcbd604 Mon Sep 17 00:00:00 2001 From: crouzet Date: Mon, 9 Nov 2020 15:51:58 +0100 Subject: [PATCH] release notes for new version of sat --- doc/src/index.rst | 1 + doc/src/release_notes/release_notes_5.6.0.rst | 4 +- doc/src/release_notes/release_notes_5.7.0.rst | 73 +++++++++++++++++++ 3 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 doc/src/release_notes/release_notes_5.7.0.rst diff --git a/doc/src/index.rst b/doc/src/index.rst index 358573f..ff216d0 100644 --- a/doc/src/index.rst +++ b/doc/src/index.rst @@ -72,6 +72,7 @@ Release Notes .. toctree:: :maxdepth: 1 + Release Notes 5.7.0 Release Notes 5.6.0 Release Notes 5.5.0 Release Notes 5.4.0 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 9fcfb70..6570662 100644 --- a/doc/src/release_notes/release_notes_5.6.0.rst +++ b/doc/src/release_notes/release_notes_5.6.0.rst @@ -1,5 +1,5 @@ ***************** -SAT version 5.5.0 +SAT version 5.6.0 ***************** Release Notes, July 2020 @@ -22,7 +22,7 @@ SAT has now the capacity to check for the system dependencies in two ways: **Removing build dependencies from binary archives** SALOME archive are getting fat. In order to reduce the size of binary archives, the management by sat of the build prerequisites was modified. -build prerequisites are not included anymore in binary archives. +build prerequisites declared with the property **compile_time : "yes"** are not included anymore in binary archives. **New option -f --force for sat compile** diff --git a/doc/src/release_notes/release_notes_5.7.0.rst b/doc/src/release_notes/release_notes_5.7.0.rst new file mode 100644 index 0000000..ca1de87 --- /dev/null +++ b/doc/src/release_notes/release_notes_5.7.0.rst @@ -0,0 +1,73 @@ +***************** +SAT version 5.7.0 +***************** + +Release Notes, November 2020 +============================ + + +New features and improvements +----------------------------- + + +**New field build_depend used in product configuration files** + +In order to improve the setting of the environment at run-time and compile-time, a new field was introduced in the product configuration files : *build_depend*. +This field allows the user to specify which products are required for the build (use the field *build_depend*) , and which one are used at runtime (use the former field *depend*). +If a product is used at both build and runtime it is only declared (like before) in the *depend* field (it is the case for example of graphviz which is used at build-time by doxygen, and at run-time by YACS). + +These two fields are used by sat accordingly to the context for the dependencies evaluation. +Here is the example of med prerequisites (medfile.pyconf), which depends at runtime on hdf5 and python, and requires cmake for the compilation: :: + + ... + depend : ["hdf5", "Python"] + build_depend : ["cmake"] + + +**New option --update for sat compile** + +The time spent to compile salome and its 60 prerequisites is regularly increasing... and can exceed ten hours on slow computers! +It is therefore problematic and expensive in term of resources to recompile completely salome everyday. +The **--update** option was introduced to allow compiling only the products which source code has changed. +This option is **only implemented for git** (not for svn and cvs). +To use the option, one has to call *sat prepare* before. this call will get new sources, and will allow sat checking if the source code was modified since the last compilation. +The mechanism is based upon git *log -1* command, and the modification of the source directory date accordingly: :: + + # update SALOME sources and set the date of the source directories of git products accordingly: to the last commit + ./sat prepare --properties is_SALOME_module:yes + + # only compile products that has to be recompiled. + sat compile --update + +This option can also be mixed with *--proterties* option, to avoid recompiling salome prerequisites: :: + + + # only compile SALOME products which source code has changed + sat compile --update --properties is_SALOME_module:yes + + +**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. +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. + +Please note that apart from this use case (set the environment of a specific compiler) it is strongly advised to use sat with a clean environment! +Note also that it is possible to manage with sat a compiler as a product, and therefore delegate the setting of this compiler to sat. When you have the choice it is a better option. + +Change log +---------- + +This chapter does not provide the complete set of changes included, only the +most significant changes are listed. + + ++-------------+-----------------------------------------------------------------------------------+ +| Artifact | Description | ++=============+===================================================================================+ +| sat #19888 | suppress at compile time the reinit if PATH, LD_LIBRARY_PATH and PYTHONPATH | ++-------------+-----------------------------------------------------------------------------------+ +| sat #19894 | use the product configuration file to assert if a product was compiled or not. | +| | (before sat was using the product directory, which was in some cases error prone) | ++-------------+-----------------------------------------------------------------------------------+ -- 2.39.2