Package: opm-common / 2024.10+ds-5

Metadata

Package Version Patches format
opm-common 2024.10+ds-5 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Install cmake package configuration to correct locat.patch | (download)

cmake/Modules/OpmInstall.cmake | 2 1 + 1 - 0 !
cmake/Modules/OpmProject.cmake | 19 17 + 2 - 0 !
2 files changed, 18 insertions(+), 3 deletions(-)

 install cmake package configuration to correct location with lib.

If we ship a library than we are architecture dependent and should
allow for installations for multiple architectures. For this to work
the package configuration files need to be installed in an
architecture aware location (e.g. lib/arch/cmake/module_name on
Debian). Just like the pkg-config files. This is done with this patch.

0003 Always install pkg config files in multiarch library.patch | (download)

cmake/Modules/OpmProject.cmake | 12 4 + 8 - 0 !
1 file changed, 4 insertions(+), 8 deletions(-)

 always install pkg-config files in multiarch library directory.

Even if we do not ship a library, our pkg-config file will include
architecture dependent library paths and libraries that we depend on.
Hence we still need to install into the multiarch library directory.

0008 Allow more deviations when calculating volume to fix.patch | (download)

tests/test_calculateCellVol.cpp | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 allow more deviations when calculating volume to fix tests on i386.

0009 Prevent 32bit overflow when testing OpmLog.patch | (download)

tests/test_OpmLog.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 prevent 32bit overflow when testing opmlog.


0010 Use BOOST_CHECK_CLOSE for floating point comparisons.patch | (download)

tests/parser/ScheduleTests.cpp | 4 2 + 2 - 0 !
tests/test_nonuniformtablelinear.cpp | 2 1 + 1 - 0 !
2 files changed, 3 insertions(+), 3 deletions(-)

 use boost_check_close for floating point comparisons.

BOOST_CHECK_EQUAL will only reliably work if the computations on the
left and right hand side were made in the exact same order, which is
often not the case.

0006 Make test_ESmry.cpp usable for autopkgtests.patch | (download)

tests/test_ESmry.cpp | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 make test_esmry.cpp usable for autopkgtests.

In 2021.10 it uses the header tests/WorkArea.cpp that gets copied
to the same directory as tests/test_ESMry.cpp and we need to make in includable
from the same source directory (which will not be tests but the
uppermost source directory).

0012 Skip rpath for python lib.patch | (download)

CMakeLists.txt | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 skip rpath for python lib.

This will prevent lintian error:
```
E: python3-opm-common: custom-library-search-path RUNPATH /build/opm-common-2023.04+ds/obj-x86_64-linux-gnu/lib [usr/lib/python3/dist-packages/opm/opmcommon_python.cpython-311-x86_64-linux-gnu.so]
```

0011 hack Restrict tabulation tests to double to prevent .patch | (download)

tests/material/test_tabulation.cpp | 4 3 + 1 - 0 !
1 file changed, 3 insertions(+), 1 deletion(-)

 [hack] restrict tabulation tests to double to prevent ftbfs.

Theses tests have been failing all the time, but im previous
opm-common releases these fails have not been fatal. They are now,
because upstream changed this (but without fixing architectures).

While this is a hack, we do because the errors were actually there in
previous releases, but did not make the build failing. Also this will
allow binary packages to actually migrate to testing.

0013 Prevent pybind11 from stripping debug symbols.patch | (download)

CMakeLists.txt | 6 6 + 0 - 0 !
1 file changed, 6 insertions(+)

 prevent pybind11 from stripping debug symbols

 pybind11_add_module will strip debug symbols if CMAKE_BUILD_TYPE is
 neither Debug nor RelWithDebInfo) and there is no option to prevent
 this. To fix this we temporarily reset the CMAKE_BUILD_TYPE to Debug

We noticed the problem in the build logs:

   dh_dwz -a -O--max-parallel=2
	dwz -- debian/libopm-common/usr/lib/x86_64-linux-gnu/libopmcommon.so.2024.04
	install -m0755 -d debian/python3-opm-common/usr/lib/debug/.dwz/x86_64-linux-gnu
	dwz -mdebian/python3-opm-common/usr/lib/debug/.dwz/x86_64-linux-gnu/python3-opm-common.debug -M/usr/lib/debug/.dwz/x86_64-linux-gnu/python3-opm-common.debug -- debian/python3-opm-common/usr/lib/python3/dist-packages/opm/opmcommon_python.cpython-311-x86_64-linux-gnu.so debian/python3-opm-common/usr/lib/python3/dist-packages/opm_embedded.cpython-311-x86_64-linux-gnu.so
	install -m0755 -d debian/libopm-common-bin/usr/lib/debug/.dwz/x86_64-linux-gnu
	dwz -mdebian/libopm-common-bin/usr/lib/debug/.dwz/x86_64-linux-gnu/libopm-common-bin.debug -M/usr/lib/debug/.dwz/x86_64-linux-gnu/libopm-common-bin.debug -- debian/libopm-common-bin/usr/bin/arraylist debian/libopm-common-bin/usr/bin/co2brinepvt debian/libopm-common-bin/usr/bin/compareECL debian/libopm-common-bin/usr/bin/convertECL debian/libopm-common-bin/usr/bin/hysteresis debian/libopm-common-bin/usr/bin/opmhash debian/libopm-common-bin/usr/bin/opmpack debian/libopm-common-bin/usr/bin/rst_deck debian/libopm-common-bin/usr/bin/summary
dwz: debian/python3-opm-common/usr/lib/python3/dist-packages/opm/opmcommon_python.cpython-311-x86_64-linux-gnu.so: .debug_info section not present
dwz: debian/python3-opm-common/usr/lib/python3/dist-packages/opm_embedded.cpython-311-x86_64-linux-gnu.so: .debug_info section not present

0010 Fix Python usage in msim and its tests.patch | (download)

msim/include/opm/msim/msim.hpp | 3 3 + 0 - 0 !
msim/src/msim.cpp | 3 2 + 1 - 0 !
tests/msim/test_msim_ACTIONX.cpp | 5 2 + 3 - 0 !
3 files changed, 7 insertions(+), 4 deletions(-)

 fix python usage in msim and its tests.

There can only be one embedded Python interpreter in a program,
as Python will never totally cleaned up if it is embedded (using
pybind11).

Unfortunately, test_msim_ACTIONX.cpp created a couple Python
interpreters and with Python 3,12 this resulted in double frees.

This commit fixes this by creating the Python interpreter in a static
shared_ptr and making the tests use that.

0011 Removed HAVE_UMFPACK alias.patch | (download)

cmake/Modules/OpmAliases.cmake | 1 0 + 1 - 0 !
1 file changed, 1 deletion(-)

 removed have_umfpack alias.

This is not used even in DUNE 2.7 and we get annoying redefined
warnings with it.

0012 Workaround possibly set HAVE_DUNE_MODULE DUNE 2.10.patch | (download)

cmake/Modules/OpmPackage.cmake | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 workaround possibly set have_dune_module (dune 2.10).

For 2.10 this is set by the *-config.cmake file to TRUE which
suddenly resulted in
```
```
appearing in config.h. As TRUE is not defined we would pretend that there
is no dune-istl and compilation would fail where we pack BlockVectors
for serialization.

0013 Fix the obvious typos in the license specifications.patch | (download)

opm/common/utility/Serializer.hpp | 2 1 + 1 - 0 !
opm/common/utility/Visitor.hpp | 2 1 + 1 - 0 !
opm/material/fluidmatrixinteractions/EclMaterialLawManagerHystParams.cpp | 1 1 + 0 - 0 !
opm/material/fluidmatrixinteractions/EclMaterialLawManagerInitParams.cpp | 1 1 + 0 - 0 !
opm/material/fluidmatrixinteractions/EclMaterialLawManagerReadEffectiveParams.cpp | 1 1 + 0 - 0 !
5 files changed, 5 insertions(+), 2 deletions(-)

 fix the obvious typos in the license specifications.

Here I am 100% sure that these are fixes.

0014 Corrected license of Python packages to GPLv3.patch | (download)

python/setup.py.in | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 corrected license of python packages to gplv3+


0015 Use correct license ODBL instead GPL for mswell data.patch | (download)

tests/MSW.DATA | 21 5 + 16 - 0 !
tests/MSW_2WELSEGS.DATA | 21 5 + 16 - 0 !
tests/MSW_RESTART.DATA | 21 5 + 16 - 0 !
3 files changed, 15 insertions(+), 48 deletions(-)

 use correct license (odbl instead gpl) for mswell data files


0016 Fixed handling of CMake Bool in config.h.patch | (download)

cmake/Modules/ConfigVars.cmake | 14 9 + 5 - 0 !
1 file changed, 9 insertions(+), 5 deletions(-)

 fixed handling of cmake bool in config.h

Only values 0 or 1 were handled correctly.
A value defined to TRUE, ON, OFF would have made the value appear in
the config.h as text e.g.
```
```

This caused a lot of trouble with refactored DUNE build system.

0017 Use uppercase for components in FindSuitesparse.patch | (download)

cmake/Modules/FindSuiteSparse.cmake | 31 17 + 14 - 0 !
cmake/Modules/Finddune-istl.cmake | 2 1 + 1 - 0 !
2 files changed, 18 insertions(+), 15 deletions(-)

 use uppercase for components in findsuitesparse

This is in line with DUNE since 2015 and fixes problems when trying to
use opm-grid as a DUNE module.

0018 fixed fmt join is in ranges.h using fmt11.patch | (download)

opm/input/eclipse/EclipseState/EclipseState.cpp | 1 1 + 0 - 0 !
opm/input/eclipse/EclipseState/Grid/FaceDir.cpp | 1 1 + 0 - 0 !
opm/input/eclipse/Schedule/Action/ASTNode.cpp | 1 1 + 0 - 0 !
opm/input/eclipse/Schedule/Well/WellKeywordHandlers.cpp | 1 1 + 0 - 0 !
opm/io/eclipse/rst/state.cpp | 2 2 + 0 - 0 !
tests/test_AggregateActionxData.cpp | 1 1 + 0 - 0 !
6 files changed, 7 insertions(+)

 fixed: fmt::join is in ranges.h using {{fmt11}}

Backported fix from upstream's master.

0019 fixed format must be const for custom formatters usi.patch | (download)

opm/material/densead/EvaluationFormat.hpp | 2 1 + 1 - 0 !
opm/output/eclipse/Summary.cpp | 4 2 + 2 - 0 !
2 files changed, 3 insertions(+), 3 deletions(-)

 fixed: format() must be const for custom formatters using {{fmt11}}


0020 Use numpy.sum instead of sum to fix test with Python.patch | (download)

python/tests/test_emodel.py | 5 4 + 1 - 0 !
1 file changed, 4 insertions(+), 1 deletion(-)

 use numpy.sum instead of sum to fix test with python 3.12 (closes:
 #1095362)

The sum function in Python 3.12 switched to using Neumaier summation
for floats for better accuracy.This broke on of the unit tests.
With this change we use numpy.sum to fix the failing test,
which still uses the not so accurate summation algorithm of sum in
Python 3.11

0021 Abide by FMT v11 Format String Requirements.patch | (download)

opm/common/utility/OpmInputError.cpp | 94 54 + 40 - 0 !
opm/common/utility/OpmInputError.hpp | 138 68 + 70 - 0 !
opm/input/eclipse/Parser/Parser.cpp | 22 13 + 9 - 0 !
tests/parser/integration/ParseKEYWORD.cpp | 25 15 + 10 - 0 !
4 files changed, 150 insertions(+), 129 deletions(-)

 abide by fmt-v11 format string requirements

In particular, do not mix automatic formatting requests (empty
braces, {}) with manual formatting requests (argument IDs and/or
named arguments).  The std::format() function of C++20 has the same
limitation, so it's beneficial to prepare for this now.

While here, prefer '//'-style comments, tidy up include statements
and make objects 'const' where possible.