From d5ce1bef5f3f54bba635d7dbf1e554e21ca95eae Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 04 2021 03:21:20 +0000 Subject: import ding-libs-0.6.1-51.el9 --- diff --git a/.ding-libs.metadata b/.ding-libs.metadata new file mode 100644 index 0000000..f7f6a10 --- /dev/null +++ b/.ding-libs.metadata @@ -0,0 +1 @@ +dab4c855b065bd728021437af81ae726c31c5272 SOURCES/ding-libs-0.6.1.tar.gz diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e5dbdd8 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/ding-libs-0.6.1.tar.gz diff --git a/SOURCES/0004-INI-fix-check-for-error-code.patch b/SOURCES/0004-INI-fix-check-for-error-code.patch new file mode 100644 index 0000000..196e3cf --- /dev/null +++ b/SOURCES/0004-INI-fix-check-for-error-code.patch @@ -0,0 +1,40 @@ +From ec6817736968fb4683b9df0bd932c1a86dec0ba8 Mon Sep 17 00:00:00 2001 +From: Alexey Tikhonov +Date: Wed, 4 Aug 2021 19:22:19 +0200 +Subject: [PATCH 4/6] INI: fix check for error code + +In case of fail `asprintf()` returns -1, not 1. + +Fixes following covscan issues: +``` +Error: RESOURCE_LEAK (CWE-772): [#def1] +ding-libs-0.6.1/ini/ini_configmod.c:869: alloc_arg: "asprintf" allocates memory that is stored into "strval". [Note: The source code implementation of the function has been overridden by a builtin model.] +ding-libs-0.6.1/ini/ini_configmod.c:873: leaked_storage: Variable "strval" going out of scope leaks the storage it points to. + # 871| TRACE_ERROR_NUMBER("Asprintf failed.", ret); + # 872| /* The main reason is propbaly memory allocation */ + # 873|-> return ENOMEM; + # 874| } + # 875| +``` + +Reviewed-by: Pawel Polawski +--- + ini/ini_configmod.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ini/ini_configmod.c b/ini/ini_configmod.c +index da4175c..88a7133 100644 +--- a/ini/ini_configmod.c ++++ b/ini/ini_configmod.c +@@ -867,7 +867,7 @@ int ini_config_add_double_value(struct ini_cfgobj *ini_config, + TRACE_FLOW_ENTRY(); + + ret = asprintf(&strval, "%f", value); +- if (ret == 1) { ++ if (ret == -1) { + TRACE_ERROR_NUMBER("Asprintf failed.", ret); + /* The main reason is propbaly memory allocation */ + return ENOMEM; +-- +2.26.3 + diff --git a/SOURCES/0005-PATH_UTILS-suppress-false-positive-warnings.patch b/SOURCES/0005-PATH_UTILS-suppress-false-positive-warnings.patch new file mode 100644 index 0000000..ae7db76 --- /dev/null +++ b/SOURCES/0005-PATH_UTILS-suppress-false-positive-warnings.patch @@ -0,0 +1,58 @@ +From 82ee1cff9d7401f4381cfa574f8b102625b06a31 Mon Sep 17 00:00:00 2001 +From: Alexey Tikhonov +Date: Thu, 5 Aug 2021 18:02:57 +0200 +Subject: [PATCH 5/6] PATH_UTILS: suppress false positive warnings + +Warnings are false positives: every such `strncpy` is followed +by an explicit check that result is NULL-terminated. + +Reviewed-by: Pawel Polawski +--- + path_utils/path_utils.c | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/path_utils/path_utils.c b/path_utils/path_utils.c +index 61605ab..5203cc9 100644 +--- a/path_utils/path_utils.c ++++ b/path_utils/path_utils.c +@@ -116,6 +116,7 @@ int get_basename(char *base_name, size_t base_name_size, const char *path) + if (!path) return EINVAL; + if (!base_name || base_name_size < 1) return ENOBUFS; + ++ /* coverity[buffer_size_warning : SUPPRESS] */ /* false positive warning */ + strncpy(tmp_path, path, sizeof(tmp_path)); + if (tmp_path[sizeof(tmp_path)-1] != '\0') return ENOBUFS; + strncpy(base_name, basename(tmp_path), base_name_size); +@@ -137,6 +138,7 @@ int get_dirname(char *dir_path, size_t dir_path_size, const char *path) + if (!path) return EINVAL; + if (!dir_path || dir_path_size < 1) return ENOBUFS; + ++ /* coverity[buffer_size_warning : SUPPRESS] */ /* false positive warning */ + strncpy(tmp_path, path, sizeof(tmp_path)); + if (tmp_path[sizeof(tmp_path)-1] != '\0') return ENOBUFS; + strncpy(dir_path, dirname(tmp_path), dir_path_size); +@@ -161,11 +163,13 @@ int get_directory_and_base_name(char *dir_path, size_t dir_path_size, + if (!dir_path || dir_path_size < 1) return ENOBUFS; + if (!base_name || base_name_size < 1) return ENOBUFS; + ++ /* coverity[buffer_size_warning : SUPPRESS] */ /* false positive warning */ + strncpy(tmp_path, path, sizeof(tmp_path)); + if (tmp_path[sizeof(tmp_path)-1] != '\0') return ENOBUFS; + strncpy(base_name, basename(tmp_path), base_name_size); + if (base_name[base_name_size-1] != '\0') return ENOBUFS; + ++ /* coverity[buffer_size_warning : SUPPRESS] */ /* false positive warning */ + strncpy(tmp_path, path, sizeof(tmp_path)); + if (tmp_path[sizeof(tmp_path)-1] != '\0') return ENOBUFS; + strncpy(dir_path, dirname(tmp_path), dir_path_size); +@@ -528,6 +532,7 @@ int find_existing_directory_ancestor(char *ancestor, size_t ancestor_size, const + + if (!ancestor || ancestor_size < 1) return ENOBUFS; + *ancestor = 0; ++ /* coverity[buffer_size_warning : SUPPRESS] */ /* false positive warning */ + strncpy(dir_path, path, sizeof(dir_path)); + if (dir_path[sizeof(dir_path)-1] != '\0') return ENOBUFS; + +-- +2.26.3 + diff --git a/SOURCES/0006-INI-suppress-false-positive-coverity-warning.patch b/SOURCES/0006-INI-suppress-false-positive-coverity-warning.patch new file mode 100644 index 0000000..1055c77 --- /dev/null +++ b/SOURCES/0006-INI-suppress-false-positive-coverity-warning.patch @@ -0,0 +1,28 @@ +From 584dc25f2c31f4d8e5cf7154e0362e4d2504779c Mon Sep 17 00:00:00 2001 +From: Alexey Tikhonov +Date: Thu, 5 Aug 2021 18:48:23 +0200 +Subject: [PATCH 6/6] INI: suppress false positive coverity warning + +`get_str_cfg_array()` returns `char **array` that is composed of pointers +to slices of `copy` so `copy` can't be freed here. + +Reviewed-by: Pawel Polawski +--- + ini/ini_get_array.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/ini/ini_get_array.c b/ini/ini_get_array.c +index 30ed423..95d0b05 100644 +--- a/ini/ini_get_array.c ++++ b/ini/ini_get_array.c +@@ -164,6 +164,7 @@ static char **get_str_cfg_array(struct collection_item *item, + /* If count is 0 the copy needs to be freed */ + if (count == 0) free(copy); + TRACE_FLOW_STRING("get_str_cfg_array", "Exit"); ++ /* coverity[leaked_storage : SUPPRESS] */ /* false positive warning */ + return array; + } + +-- +2.26.3 + diff --git a/SOURCES/INI-Fix-detection-of-error-messages.patch b/SOURCES/INI-Fix-detection-of-error-messages.patch new file mode 100644 index 0000000..d5cdcac --- /dev/null +++ b/SOURCES/INI-Fix-detection-of-error-messages.patch @@ -0,0 +1,47 @@ +From 72c19bd018b107ecf5a80963b433e9922f7243fd Mon Sep 17 00:00:00 2001 +From: Lukas Slebodnik +Date: Wed, 3 Jan 2018 18:03:44 +0100 +Subject: [PATCH 01/11] INI: Fix detection of error messages +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +libc on BSD returns different error messages. + +Reviewed-by: Michal Židek +--- + ini/ini_validators_ut_check.c | 11 +++++++++++ + 1 file changed, 11 insertions(+) + +diff --git a/ini/ini_validators_ut_check.c b/ini/ini_validators_ut_check.c +index fa7105a..9ecde75 100644 +--- a/ini/ini_validators_ut_check.c ++++ b/ini/ini_validators_ut_check.c +@@ -607,6 +607,12 @@ START_TEST(test_ini_allowed_options_wrong_regex) + "[rule/options_for_foo]: Cannot compile regular expression " + "from option 'section_re'. " + "Error: 'Unmatched [ or [^'"); ++ if (ret != 0) { ++ ret = strcmp(errmsg, ++ "[rule/options_for_foo]: Cannot compile regular expression " ++ "from option 'section_re'. " ++ "Error: 'brackets ([ ]) not balanced'"); ++ } + fail_unless(ret == 0, "Got msg: [%s]", errmsg); + ini_errobj_next(errobj); + +@@ -1028,6 +1034,11 @@ START_TEST(test_ini_allowed_sections_wrong_regex) + ret = strcmp(errmsg, + "[rule/section_list]: Validator failed to use regex " + "[^foo\\(*$]:[Unmatched ( or \\(]"); ++ if (ret !=0) { ++ ret = strcmp(errmsg, ++ "[rule/section_list]: Validator failed to use regex " ++ "[^foo\\(*$]:[parentheses not balanced]"); ++ } + fail_unless(ret == 0, "Got msg: [%s]", errmsg); + ini_errobj_next(errobj); + +-- +2.9.5 + diff --git a/SOURCES/INI-Remove-definiton-of-TRACE_LEVEL.patch b/SOURCES/INI-Remove-definiton-of-TRACE_LEVEL.patch new file mode 100644 index 0000000..ba4c1f7 --- /dev/null +++ b/SOURCES/INI-Remove-definiton-of-TRACE_LEVEL.patch @@ -0,0 +1,34 @@ +From 8509cfaa757c0f8cc4d79357613f46d2fd9ee878 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michal=20=C5=BDidek?= +Date: Wed, 15 Nov 2017 18:31:47 +0100 +Subject: [PATCH] INI: Remove definiton of TRACE_LEVEL + +Macros TRACE_LEVEL 7 and TRACE_HOME should only be defined +in testing builds where we want debug messages to be generated. + +The macros are leftovers from the previous patch where they +were improperly added for debug purposes. + +Resolves: +https://pagure.io/SSSD/ding-libs/issue/3182 + +Reviewed-by: Robbie Harwood +(cherry picked from commit a731d8c8c515e7e42a4fb448e0ecb6934d5bf99b) +Signed-off-by: Robbie Harwood +--- + ini/ini_augment.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/ini/ini_augment.c b/ini/ini_augment.c +index 9d83ad9..5a5a173 100644 +--- a/ini/ini_augment.c ++++ b/ini/ini_augment.c +@@ -32,8 +32,6 @@ + #include + #include + #include +-#define TRACE_LEVEL 7 +-#define TRACE_HOME + #include "trace.h" + #include "collection.h" + #include "collection_tools.h" diff --git a/SOURCES/INI-Silence-ini_augment-match-failures.patch b/SOURCES/INI-Silence-ini_augment-match-failures.patch new file mode 100644 index 0000000..ea5e304 --- /dev/null +++ b/SOURCES/INI-Silence-ini_augment-match-failures.patch @@ -0,0 +1,96 @@ +From 781fdebda1d9e62e224630efb8d4dd5da8fe5f69 Mon Sep 17 00:00:00 2001 +From: Alexander Scheel +Date: Mon, 30 Oct 2017 12:43:19 -0500 +Subject: [PATCH] INI: Silence ini_augment match failures +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Resolves: +https://pagure.io/SSSD/ding-libs/issue/3182 + +Reviewed-by: Michal Židek +Signed-off-by: Alexander Scheel +Merges: https://pagure.io/SSSD/ding-libs/pull-request/3183 +(cherry picked from commit be9ca3a2c26b061d1f22bd4a09009bba7a01f67b) +Signed-off-by: Robbie Harwood +--- + ini/ini.d/merge.validator | 11 ----------- + ini/ini_augment.c | 13 +++++++------ + 2 files changed, 7 insertions(+), 17 deletions(-) + +diff --git a/ini/ini.d/merge.validator b/ini/ini.d/merge.validator +index 1defe8e..017c1cb 100644 +--- a/ini/ini.d/merge.validator ++++ b/ini/ini.d/merge.validator +@@ -1,17 +1,8 @@ +-File %s%s/merge.validator did not match provided patterns. Skipping. +-File %s%s/real8.conf did not match provided patterns. Skipping. +-File %s%s/new_line.conf did not match provided patterns. Skipping. +-File %s%s/real32be.conf did not match provided patterns. Skipping. +-File %s%s/real32le.conf did not match provided patterns. Skipping. +-File %s%s/real16be.conf did not match provided patterns. Skipping. +-File %s%s/real16le.conf did not match provided patterns. Skipping. +-File %s%s/foo.conf.in did not match provided patterns. Skipping. + Errors detected while parsing: %s%s/comment.conf. + Error (9) on line 22: Invalid space character at the beginning of the line. + Error (9) on line 24: Invalid space character at the beginning of the line. + Error (9) on line 26: Invalid space character at the beginning of the line. + Error (15) on line 32: Incomplete comment at the end of the file. +-No sections found in file %s%s/comment.conf. Skipping. + Section [section_a] found in file %s%s/first.conf is not allowed. + Section [section_c] found in file %s%s/first.conf is not allowed. + Section [section_b] found in file %s%s/first.conf is not allowed. +@@ -42,7 +33,6 @@ Error (9) on line 1: Invalid space character at the beginning of the line. + Error (9) on line 2: Invalid space character at the beginning of the line. + Error (9) on line 3: Invalid space character at the beginning of the line. + Error (9) on line 4: Invalid space character at the beginning of the line. +-No sections found in file %s%s/space.conf. Skipping. + Section [info] found in file %s%s/symbols.conf is not allowed. + Section [languages] found in file %s%s/symbols.conf is not allowed. + Section [text] found in file %s%s/symbols.conf is not allowed. +@@ -55,6 +45,5 @@ Error (9) on line 15: Invalid space character at the beginning of the line. + Error (9) on line 16: Invalid space character at the beginning of the line. + Error (9) on line 26: Invalid space character at the beginning of the line. + Error (9) on line 35: Invalid space character at the beginning of the line. +-No sections found in file %s%s/test.conf. Skipping. + %s%s/ipa.conf + %s%s/real.conf +diff --git a/ini/ini_augment.c b/ini/ini_augment.c +index af5c0b6..9d83ad9 100644 +--- a/ini/ini_augment.c ++++ b/ini/ini_augment.c +@@ -32,6 +32,8 @@ + #include + #include + #include ++#define TRACE_LEVEL 7 ++#define TRACE_HOME + #include "trace.h" + #include "collection.h" + #include "collection_tools.h" +@@ -456,10 +458,9 @@ static int ini_aug_construct_list(char *dirname , + } + } + else { +- ini_aug_add_string(ra_err, +- "File %s did not match provided patterns." +- " Skipping.", +- fullname); ++ TRACE_INFO_STRING("File did not match provided patterns." ++ " Skipping:", ++ fullname); + } + } + +@@ -609,8 +610,8 @@ static int ini_aug_match_sec(struct ini_cfgobj *snip_cfg, + + /* Just in case check that we processed anything */ + if (section_count == 0) { +- ini_aug_add_string(ra_err, "No sections found in file %s. Skipping.", +- snip_name); ++ TRACE_INFO_STRING("No sections found in file. Skipping:", ++ snip_name); + *skip = true; + TRACE_FLOW_EXIT(); + return EOK; diff --git a/SOURCES/TEST-validators_ut_check-Fix-fail-with-new-glibc.patch b/SOURCES/TEST-validators_ut_check-Fix-fail-with-new-glibc.patch new file mode 100644 index 0000000..be49fa0 --- /dev/null +++ b/SOURCES/TEST-validators_ut_check-Fix-fail-with-new-glibc.patch @@ -0,0 +1,49 @@ +From 9f9a3ded23cc2bb917468939b745cc498cec523a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Michal=20=C5=BDidek?= +Date: Wed, 1 Aug 2018 17:48:10 +0200 +Subject: [PATCH] validators_ut_check: Fix fail with new glibc + +Error message was slightly change from previous version +of glibc which caused fails in validators unit tests. + +Reviewed-by: Jakub Hrozek +--- + ini/ini_validators_ut_check.c | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/ini/ini_validators_ut_check.c b/ini/ini_validators_ut_check.c +index 9ecde75..3af8551 100644 +--- a/ini/ini_validators_ut_check.c ++++ b/ini/ini_validators_ut_check.c +@@ -602,6 +602,8 @@ START_TEST(test_ini_allowed_options_wrong_regex) + fail_unless(ret == 0, "Got msg: [%s]", errmsg); + ini_errobj_next(errobj); + ++ /* Different versions of libc produce slightly different error strings ++ * in this case. For simplicity compare against all of them. */ + errmsg = ini_errobj_get_msg(errobj); + ret = strcmp(errmsg, + "[rule/options_for_foo]: Cannot compile regular expression " +@@ -609,10 +611,17 @@ START_TEST(test_ini_allowed_options_wrong_regex) + "Error: 'Unmatched [ or [^'"); + if (ret != 0) { + ret = strcmp(errmsg, +- "[rule/options_for_foo]: Cannot compile regular expression " +- "from option 'section_re'. " ++ "[rule/options_for_foo]: Cannot compile regular " ++ "expression from option 'section_re'. " + "Error: 'brackets ([ ]) not balanced'"); + } ++ ++ if (ret != 0) { ++ ret = strcmp(errmsg, ++ "[rule/options_for_foo]: Cannot compile regular " ++ "expression from option 'section_re'. " ++ "Error: 'Unmatched [, [^, [:, [., or [='"); ++ } + fail_unless(ret == 0, "Got msg: [%s]", errmsg); + ini_errobj_next(errobj); + +-- +2.9.5 + diff --git a/SPECS/ding-libs.spec b/SPECS/ding-libs.spec new file mode 100644 index 0000000..2ce428a --- /dev/null +++ b/SPECS/ding-libs.spec @@ -0,0 +1,522 @@ +Name: ding-libs +Version: 0.6.1 +Release: 51%{?dist} +Summary: "Ding is not GLib" assorted utility libraries +License: LGPLv3+ +URL: https://pagure.io/SSSD/ding-libs +Source0: https://releases.pagure.org/SSSD/ding-libs/%{name}-%{version}.tar.gz + +# If a new upstream release changes some, but not all of these +# version numbers, remember to keep the Release tag in order to +# allow clean upgrades! +%global path_utils_version 0.2.1 +%global dhash_version 0.5.0 +%global collection_version 0.7.0 +%global ref_array_version 0.1.5 +%global basicobjects_version 0.1.1 +%global ini_config_version 1.3.1 + +### Patches ### +Patch0: INI-Silence-ini_augment-match-failures.patch +Patch1: INI-Remove-definiton-of-TRACE_LEVEL.patch +Patch2: INI-Fix-detection-of-error-messages.patch +Patch3: TEST-validators_ut_check-Fix-fail-with-new-glibc.patch +Patch4: 0004-INI-fix-check-for-error-code.patch +Patch5: 0005-PATH_UTILS-suppress-false-positive-warnings.patch +Patch6: 0006-INI-suppress-false-positive-coverity-warning.patch + +### Dependencies ### +# ding-libs is a meta-package that will pull in all of its own +# sub-packages +Requires: libpath_utils = %{path_utils_version}-%{release} +Requires: libdhash = %{dhash_version}-%{release} +Requires: libcollection = %{collection_version}-%{release} +Requires: libref_array = %{ref_array_version}-%{release} +Requires: libbasicobjects = %{basicobjects_version}-%{release} +Requires: libini_config = %{ini_config_version}-%{release} + +### Build Dependencies ### + +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc +BuildRequires: git +BuildRequires: libtool +BuildRequires: m4 +BuildRequires: doxygen +BuildRequires: pkgconfig +BuildRequires: check-devel +BuildRequires: make + +%description +A meta-package that pulls in libcollection, libdhash, libini_config, +librefarray libbasicobjects, and libpath_utils. + +%package devel +Summary: Development packages for ding-libs +License: LGPLv3+ + +# ding-libs is a meta-package that will pull in all of its own +# sub-packages +Requires: libpath_utils-devel = %{path_utils_version}-%{release} +Requires: libdhash-devel = %{dhash_version}-%{release} +Requires: libcollection-devel = %{collection_version}-%{release} +Requires: libref_array-devel = %{ref_array_version}-%{release} +Requires: libbasicobjects-devel = %{basicobjects_version}-%{release} +Requires: libini_config-devel = %{ini_config_version}-%{release} + +%description devel +A meta-package that pulls in development libraries for libcollection, +libdhash, libini_config, librefarray and libpath_utils. + +############################################################################## +# Path Utils +############################################################################## + +%package -n libpath_utils +Summary: Filesystem Path Utilities +License: LGPLv3+ +Version: %{path_utils_version} + +%description -n libpath_utils +Utility functions to manipulate filesystem pathnames + +%package -n libpath_utils-devel +Summary: Development files for libpath_utils +Requires: libpath_utils = %{path_utils_version}-%{release} +License: LGPLv3+ +Version: %{path_utils_version} + +%description -n libpath_utils-devel +Utility functions to manipulate filesystem pathnames + +%ldconfig_scriptlets -n libpath_utils + +%files -n libpath_utils +%doc COPYING COPYING.LESSER +%{_libdir}/libpath_utils.so.1 +%{_libdir}/libpath_utils.so.1.0.1 + +%files -n libpath_utils-devel +%{_includedir}/path_utils.h +%{_libdir}/libpath_utils.so +%{_libdir}/pkgconfig/path_utils.pc +%doc path_utils/README.path_utils +%doc path_utils/doc/html/ + + +############################################################################## +# dhash +############################################################################## + +%package -n libdhash +Summary: Dynamic hash table +License: LGPLv3+ +Version: %{dhash_version} + +%description -n libdhash +A hash table which will dynamically resize to achieve optimal storage & access +time properties + +%package -n libdhash-devel +Summary: Development files for libdhash +Requires: libdhash = %{dhash_version}-%{release} +License: LGPLv3+ +Version: %{dhash_version} + +%description -n libdhash-devel +A hash table which will dynamically resize to achieve optimal storage & access +time properties + +%ldconfig_scriptlets -n libdhash + +%files -n libdhash +%doc COPYING COPYING.LESSER +%{_libdir}/libdhash.so.1 +%{_libdir}/libdhash.so.1.1.0 + +%files -n libdhash-devel +%{_includedir}/dhash.h +%{_libdir}/libdhash.so +%{_libdir}/pkgconfig/dhash.pc +%doc dhash/README.dhash +%doc dhash/examples/*.c + + +############################################################################## +# collection +############################################################################## +%package -n libcollection +Summary: Collection data-type for C +License: LGPLv3+ +Version: %{collection_version} + +%description -n libcollection +A data-type to collect data in a hierarchical structure for easy iteration +and serialization + +%package -n libcollection-devel +Summary: Development files for libcollection +License: LGPLv3+ +Requires: libcollection = %{collection_version}-%{release} +Version: %{collection_version} + +%description -n libcollection-devel +A data-type to collect data in a hierarchical structure for easy iteration +and serialization + +%ldconfig_scriptlets -n libcollection + + +%files -n libcollection +%doc COPYING +%doc COPYING.LESSER +%{_libdir}/libcollection.so.* + +%files -n libcollection-devel +%{_includedir}/collection.h +%{_includedir}/collection_tools.h +%{_includedir}/collection_queue.h +%{_includedir}/collection_stack.h +%{_libdir}/libcollection.so +%{_libdir}/pkgconfig/collection.pc +%doc collection/doc/html/ + + +############################################################################## +# ref_array +############################################################################## + +%package -n libref_array +Summary: A refcounted array for C +License: LGPLv3+ +Version: %{ref_array_version} + +%description -n libref_array +A dynamically-growing, reference-counted array + +%package -n libref_array-devel +Summary: Development files for libref_array +Requires: libref_array = %{ref_array_version}-%{release} +License: LGPLv3+ +Version: %{ref_array_version} + +%description -n libref_array-devel +A dynamically-growing, reference-counted array + +%ldconfig_scriptlets -n libref_array + +%files -n libref_array +%doc COPYING +%doc COPYING.LESSER +%{_libdir}/libref_array.so.1 +%{_libdir}/libref_array.so.1.2.1 + +%files -n libref_array-devel +%{_includedir}/ref_array.h +%{_libdir}/libref_array.so +%{_libdir}/pkgconfig/ref_array.pc +%doc refarray/README.ref_array +%doc refarray/doc/html/ + +############################################################################## +# basicobjects +############################################################################## + +%package -n libbasicobjects +Summary: Basic object types for C +License: GPLv3+ +Version: %{basicobjects_version} + +%description -n libbasicobjects +Basic object types + +%package -n libbasicobjects-devel +Summary: Development files for libbasicobjects +License: GPLv3+ +Version: %{basicobjects_version} +Requires: libbasicobjects = %{basicobjects_version}-%{release} + +%description -n libbasicobjects-devel +Basic object types + +%ldconfig_scriptlets -n libbasicobjects + +%files -n libbasicobjects +%doc COPYING +%doc COPYING.LESSER +%{_libdir}/libbasicobjects.so.0 +%{_libdir}/libbasicobjects.so.0.1.0 + +%files -n libbasicobjects-devel +%{_includedir}/simplebuffer.h +%{_libdir}/libbasicobjects.so +%{_libdir}/pkgconfig/basicobjects.pc + +############################################################################## +# ini_config +############################################################################## + +%package -n libini_config +Summary: INI file parser for C +License: LGPLv3+ +Version: %{ini_config_version} + +%description -n libini_config +Library to process config files in INI format into a libcollection data +structure + +%package -n libini_config-devel +Summary: Development files for libini_config +License: LGPLv3+ +Requires: libini_config = %{ini_config_version}-%{release} +Requires: libcollection-devel = %{collection_version}-%{release} +Requires: libref_array-devel = %{ref_array_version}-%{release} +Requires: libbasicobjects-devel = %{basicobjects_version}-%{release} +Version: %{ini_config_version} + +%description -n libini_config-devel +Library to process config files in INI format into a libcollection data +structure + +%ldconfig_scriptlets -n libini_config + +%files -n libini_config +%doc COPYING +%doc COPYING.LESSER +%{_libdir}/libini_config.so.5 +%{_libdir}/libini_config.so.5.2.1 + +%files -n libini_config-devel +%{_includedir}/ini_config.h +%{_includedir}/ini_configobj.h +%{_includedir}/ini_valueobj.h +%{_includedir}/ini_comment.h +%{_includedir}/ini_configmod.h +%{_libdir}/libini_config.so +%{_libdir}/pkgconfig/ini_config.pc +%doc ini/doc/html/ + + +############################################################################## +# Build steps +############################################################################## + +%prep +%autosetup -S git + +%build +autoreconf -ivf +%configure \ + --disable-static + +make %{?_smp_mflags} all docs + +%check +make %{?_smp_mflags} check + +%install +make install DESTDIR=$RPM_BUILD_ROOT + +# Remove .la files created by libtool +rm -f $RPM_BUILD_ROOT/%{_libdir}/*.la + +# Remove the example files from the output directory +# We will copy them directly from the source directory +# for packaging +rm -f \ + $RPM_BUILD_ROOT/usr/share/doc/ding-libs/README.* \ + $RPM_BUILD_ROOT/usr/share/doc/ding-libs/examples/dhash_example.c \ + $RPM_BUILD_ROOT/usr/share/doc/ding-libs/examples/dhash_test.c + +# Remove document install script. RPM is handling this +rm -f */doc/html/installdox + +%changelog +* Tue Aug 10 2021 Alexey Tikhonov - 0.6.1-51 +- Resolves: rhbz#1938708 - review of important potential issues detected by static analyzers in ding-libs-0.6.1-47.el9 + +* Mon Aug 09 2021 Mohan Boddu - 0.6.1-50 +- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags + Related: rhbz#1991688 + +* Tue Jun 01 2021 Alexey Tikhonov - 0.6.1-49 +- Resolves: rhbz#1962772 - Add gating tests for ding-libs in RHEL 9 + +* Thu Apr 15 2021 Mohan Boddu - 0.6.1-48 +- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 + +* Tue Jan 26 2021 Fedora Release Engineering - 0.6.1-47 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Sat Aug 01 2020 Fedora Release Engineering - 0.6.1-46 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 0.6.1-45 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 0.6.1-44 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jul 24 2019 Fedora Release Engineering - 0.6.1-43 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 0.6.1-42 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Aug 14 2018 Michal Židek - 0.6.1-41 +- Resolves: rhbz#1603785 - ding-libs: FTBFS in Fedora rawhide + +* Fri Jul 20 2018 Jakub Hrozek - 0.6.1-40 +- BuildRequires: gcc +- Resolves: rhbz#1603785 - ding-libs: FTBFS in Fedora rawhide + +* Thu Jul 12 2018 Fedora Release Engineering - 0.6.1-39 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 0.6.1-38 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Sun Feb 04 2018 Igor Gnatenko - 0.6.1-37 +- Switch to %%ldconfig_scriptlets + +* Thu Nov 16 2017 Robbie Harwood - 0.6.1-36 +- INI: Remove definiton of TRACE_LEVEL + +* Tue Nov 14 2017 Robbie Harwood - 0.6.1-35 +- INI: Silence ini_augment match failures + +* Wed Oct 04 2017 Lukas Slebodnik - 0.6.1-34 +- New upstream release 0.6.1 + +* Wed Aug 09 2017 Robbie Harwood - 0.6.0-33 +- Backport INI merge detection support +- Migrate to autosetup + +* Wed Aug 02 2017 Fedora Release Engineering - 0.6.0-32 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.6.0-31 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.6.0-30 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Thu Jun 23 2016 Jakub Hrozek - 0.6.0-29 +- New upstream release 0.6.0 +- https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.6.0 + +* Wed Feb 03 2016 Fedora Release Engineering - 0.5.0-28 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Aug 26 2015 Robbie Harwood - 0.5.0-27 +- Merge most changes from the upstream spec file + +* Wed Aug 26 2015 Robbie Harwood - 0.5.0-26 +- New upstream release 0.5.0 +- https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.5.0 + +* Wed Jun 17 2015 Fedora Release Engineering - 0.4.0-25 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat Aug 16 2014 Fedora Release Engineering - 0.4.0-24 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Sat Jun 07 2014 Fedora Release Engineering - 0.4.0-23 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 29 2014 Jakub Hrozek 0.4.0-22 +- New upstream release 0.4.0 +- https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.4.0 + +* Sat Jan 18 2014 Peter Robinson 0.3.0.1-21 +- Fix FTBFS on rawhide +- update spec + +* Fri Sep 27 2013 Jakub Hrozek - 0.3.0.1-20 +- Merge Doxygen patch from f19 branch to avoid regressions + +* Fri Sep 27 2013 Jakub Hrozek - 0.3.0.1-19 +- Apply a patch by Dmitri Pal to strip trailing whitespace + +* Sat Aug 03 2013 Fedora Release Engineering - 0.3.0.1-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Thu May 23 2013 Jakub Hrozek - 0.3.0.1-17 +- Apply patch by Ondrej Kos to bump libtool version info + +* Fri Apr 05 2013 Jakub Hrozek - 0.3.0.1-16 +- Fix libiniconfig_devel Requires + +* Thu Apr 04 2013 Jakub Hrozek - 0.3.0.1-15 +- Increase the release number to -13 to allow clean upgrade path from + 0.2 since some of the components kept their version the same in 0.3 + +* Mon Apr 01 2013 Stephen Gallagher - 0.3.0.1-3 +- Bumping revision to fix build glitch + +* Fri Mar 29 2013 Jakub Hrozek - 0.3.0.1-1 +- New upstream release 0.3.0.1 +- https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.3.0.1 +- obsoletes patch0001 + +* Thu Mar 28 2013 Jakub Hrozek - 0.3.0-2 +- Remove cast to allow INI to work on 32bits + +* Thu Mar 28 2013 Jakub Hrozek - 0.3.0-1 +- New upstream release 0.3.0 +- https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.3.0 + +* Mon Mar 25 2013 Jakub Hrozek - 0.2.91-14 +- include a patch to get rid of autoreconf warnings +- run autoreconf before configure +- Resolves: #925258 + +* Wed Feb 13 2013 Fedora Release Engineering - 0.2.91-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Oct 31 2012 Ondrej Kos - 0.2.91-12 +- Fixes missing devel dependency + +* Wed Jul 18 2012 Fedora Release Engineering - 0.2.91-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Mon May 28 2012 Jan Zeleny - 0.2.91-10 +- a bunch of fixes in spec file + +* Fri May 25 2012 Jan Zeleny - 0.2.91-9 +- Bumped the release number to 9 for smooth upgrade + +* Fri May 25 2012 Jan Zeleny - 0.2.91-1 +- Rebase to 0.3.0beta1, changelog available at + https://fedorahosted.org/sssd/wiki/Releases/DingNotes-0.2.91 + +* Tue Mar 06 2012 Stephen Gallagher - 0.1.3-8 +- Make path_concat return empty string on ENOBUFS + +* Tue Mar 06 2012 Stephen Gallagher - 0.1.3-7 +- Fix off-by-one bug in path_concat() +- Resolves: rhbz#799347 - path_utils:test_path_concat_neg fails on 64-bit big + endians + +* Fri Jan 13 2012 Fedora Release Engineering - 0.1.3-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Sep 15 2011 Stephen Gallagher - 0.1.3-5 +- New upstream release 0.1.3 +- Fixes a serious issue with libdhash and large initial hash sizes + +* Tue Feb 08 2011 Fedora Release Engineering - 0.1.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Oct 15 2010 Stephen Gallagher - 0.1.2-3 +- New upsteam release 0.1.2 +- Fixes a serious issue with libdhash where hash_enter() would never update +- existing entries for a key. + +* Thu Sep 23 2010 Stephen Gallagher - 0.1.1-2 +- Fix invalid source URL + +* Thu Sep 23 2010 Stephen Gallagher - 0.1.1-1 +- Initial release of ding-libs