Package: elektra / 0.8.7-4

Metadata

Package Version Patches format
elektra 0.8.7-4 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
upstream_Add the KEY_END marker on key creation where missing.patch | (download)

src/libtools/tests/testtool_keyhelper.cpp | 32 16 + 16 - 0 !
src/libtools/tests/testtool_mergeresult.cpp | 2 1 + 1 - 0 !
2 files changed, 17 insertions(+), 17 deletions(-)

 [patch] add the key_end marker on key creation where missing

Add the KEY_END vararg where missing when creating a new key, either
using the C keyNew or the C++ kdb::Key, as done everywhere else.

This fixes crashes in some tests.

upstream_tests switch from tmpnam to mkstemp.patch | (download)

tests/tests.c | 21 18 + 3 - 0 !
1 file changed, 18 insertions(+), 3 deletions(-)

 [patch] tests: switch from tmpnam to mkstemp

Use mkstemp to generate a temporary file in a safer way than tmpnam,
and placed in the temporary home created for the tests already.

upstream_cmake check and store the size of mode_t.patch | (download)

src/include/CMakeLists.txt | 1 1 + 0 - 0 !
src/include/kdbconfig.h.in | 1 1 + 0 - 0 !
2 files changed, 2 insertions(+)

 [patch] cmake: check and store the size of mode_t


upstream_Make KEY_MODE work when mode_t is not the same as in.patch | (download)

src/libelektra/key.c | 7 5 + 2 - 0 !
tests/test_meta.c | 2 2 + 0 - 0 !
2 files changed, 7 insertions(+), 2 deletions(-)

 [patch] make key_mode work when mode_t is not the same as int

Even though the file modes passed using KEY_MODE should be mode_t,
they really get through as integer, thus picking them from the varargs
as mode_t causes troubles when sizeof(mode_t) != sizeof(int). Hence,
always take them out as int from the varargs.

Adapt test_meta to test large values for the mode only when
sizeof(mode_t) > 2.

private_elektratools.diff | (download)

cmake/Modules/LibAddTest.cmake | 2 2 + 0 - 0 !
src/libtools/src/CMakeLists.txt | 6 3 + 3 - 0 !
src/tools/kdb/CMakeLists.txt | 6 6 + 0 - 0 !
3 files changed, 11 insertions(+), 3 deletions(-)

 install libelektratools in a private location
 Upstream does not consider libelektratools a public library yet, so it has no
 proper SONAME/SOVERSION.
 .
 Thus, install it within the plugin directory, setting RPATH in kdb and in
 elektratools tests so they can load it.
path_max.diff | (download)

src/tools/kdb/external.cpp | 3 2 + 1 - 0 !
1 file changed, 2 insertions(+), 1 deletion(-)

 switch from path_max to kdb_max_path_length
 Similar to the (more complete) fix done upstream for 0.8.8.
ambiguous_keyset_ctor.diff | (download)

src/bindings/swig/lua/kdb.i | 2 1 + 1 - 0 !
src/bindings/swig/python3/kdb.i | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 2 deletions(-)

 workaround in bindings the ambiguous c++ keyset varargs ctors
 Workaround in the Python and Lua bindings the ambiguous varargs constructors
 of the C++ KeySet implementation, by providing twice the end marker.
Bug: https://github.com/ElektraInitiative/libelektra/issues/42