diff --git a/.gitignore b/.gitignore index 2c3dee5..cad89e8 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/jansson-2.13.1.tar.bz2 +SOURCES/jansson-2.14.tar.bz2 diff --git a/.jansson.metadata b/.jansson.metadata index 6b96d4b..81e487d 100644 --- a/.jansson.metadata +++ b/.jansson.metadata @@ -1 +1 @@ -e8316ffe9c603efb9c52a61ed3c82ccd5b0b93a7 SOURCES/jansson-2.13.1.tar.bz2 +a85a87d4cd9a14a081e8e49cb6a2b54bde4fd6b9 SOURCES/jansson-2.14.tar.bz2 diff --git a/SOURCES/Fix-the-check-exports-tests-for-versioned-symbols.patch b/SOURCES/Fix-the-check-exports-tests-for-versioned-symbols.patch new file mode 100644 index 0000000..717daa9 --- /dev/null +++ b/SOURCES/Fix-the-check-exports-tests-for-versioned-symbols.patch @@ -0,0 +1,25 @@ +From 0677666f65b988b2dd44d02966a08fea490d5883 Mon Sep 17 00:00:00 2001 +From: Petri Lehtinen +Date: Thu, 9 Sep 2021 21:53:11 +0300 +Subject: [PATCH] Fix the check-exports tests for versioned symbols + +--- + test/suites/api/check-exports | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test/suites/api/check-exports b/test/suites/api/check-exports +index 2b6b3c7..5c82064 100755 +--- a/test/suites/api/check-exports ++++ b/test/suites/api/check-exports +@@ -15,7 +15,7 @@ grep 'json_\|jansson_' $top_srcdir/src/jansson.def \ + nm -D $SOFILE >/dev/null >$test_log/symbols 2>/dev/null \ + || exit 77 # Skip if "nm -D" doesn't seem to work + +-grep ' [DT] ' $test_log/symbols | cut -d' ' -f3 | grep -v '^_' | sort >$test_log/output ++grep ' [DT] ' $test_log/symbols | cut -d' ' -f3 | grep -v '^_' | sed 's/@@libjansson.*//' | sort >$test_log/output + + if ! cmp -s $test_log/exports $test_log/output; then + diff -u $test_log/exports $test_log/output >&2 +-- +2.27.0 + diff --git a/SOURCES/fix-docs-build-with-sphinx-3.patch b/SOURCES/fix-docs-build-with-sphinx-3.patch deleted file mode 100644 index 1d64ab3..0000000 --- a/SOURCES/fix-docs-build-with-sphinx-3.patch +++ /dev/null @@ -1,240 +0,0 @@ -diff --git a/CHANGES b/CHANGES -index a374a86..256fde1 100644 ---- a/CHANGES -+++ b/CHANGES -@@ -8,7 +8,7 @@ Released 2020-05-07 - - Include `jansson_version_str()` and `jansson_version_cmp()` in - shared library. (#534) - -- - Include `scripts/` in tarball. (#535) -+ - Include ``scripts/`` in tarball. (#535) - - - Version 2.13 -@@ -127,7 +127,7 @@ Released 2018-02-09 - - - Work around gcc's -Wimplicit-fallthrough. - -- - Fix CMake detection of `sys/types.h` header (#375). -+ - Fix CMake detection of ``sys/types.h`` header (#375). - - - Fix `jansson.pc` generated by CMake to be more consistent with the one - generated using GNU Autotools (#368). -diff --git a/doc/apiref.rst b/doc/apiref.rst -index c3a814f..94c5726 100644 ---- a/doc/apiref.rst -+++ b/doc/apiref.rst -@@ -145,33 +145,33 @@ Type - .. function:: int json_typeof(const json_t *json) - - Return the type of the JSON value (a :type:`json_type` cast to -- :type:`int`). *json* MUST NOT be *NULL*. This function is actually -+ ``int``). *json* MUST NOT be *NULL*. This function is actually - implemented as a macro for speed. - --.. function:: json_is_object(const json_t *json) -- json_is_array(const json_t *json) -- json_is_string(const json_t *json) -- json_is_integer(const json_t *json) -- json_is_real(const json_t *json) -- json_is_true(const json_t *json) -- json_is_false(const json_t *json) -- json_is_null(const json_t *json) -+.. function:: int json_is_object(const json_t *json) -+ int json_is_array(const json_t *json) -+ int json_is_string(const json_t *json) -+ int json_is_integer(const json_t *json) -+ int json_is_real(const json_t *json) -+ int json_is_true(const json_t *json) -+ int json_is_false(const json_t *json) -+ int json_is_null(const json_t *json) - - These functions (actually macros) return true (non-zero) for values - of the given type, and false (zero) for values of other types and - for *NULL*. - --.. function:: json_is_number(const json_t *json) -+.. function:: int json_is_number(const json_t *json) - - Returns true for values of types ``JSON_INTEGER`` and - ``JSON_REAL``, and false for other types and for *NULL*. - --.. function:: json_is_boolean(const json_t *json) -+.. function:: int json_is_boolean(const json_t *json) - - Returns true for types ``JSON_TRUE`` and ``JSON_FALSE``, and false - for values of other types and for *NULL*. - --.. function:: json_boolean_value(const json_t *json) -+.. function:: int json_boolean_value(const json_t *json) - - Alias of :func:`json_is_true()`, i.e. returns 1 for ``JSON_TRUE`` - and 0 otherwise. -@@ -594,7 +594,7 @@ A JSON array is an ordered collection of other JSON values. - Appends all elements in *other_array* to the end of *array*. - Returns 0 on success and -1 on error. - --.. function:: json_array_foreach(array, index, value) -+.. function:: void json_array_foreach(array, index, value) - - Iterate over every element of ``array``, running the block - of code that follows each time with the proper values set to -@@ -732,11 +732,11 @@ allowed in object keys. - recursively merged with the corresponding values in *object* if they are also - objects, instead of overwriting them. Returns 0 on success or -1 on error. - --.. function:: json_object_foreach(object, key, value) -+.. function:: void json_object_foreach(object, key, value) - - Iterate over every key-value pair of ``object``, running the block - of code that follows each time with the proper values set to -- variables ``key`` and ``value``, of types :type:`const char *` and -+ variables ``key`` and ``value``, of types ``const char *`` and - :type:`json_t *` respectively. Example:: - - /* obj is a JSON object */ -@@ -764,7 +764,7 @@ allowed in object keys. - .. versionadded:: 2.3 - - --.. function:: json_object_foreach_safe(object, tmp, key, value) -+.. function:: void json_object_foreach_safe(object, tmp, key, value) - - Like :func:`json_object_foreach()`, but it's safe to call - ``json_object_del(object, key)`` during iteration. You need to pass -@@ -1488,17 +1488,17 @@ arguments. - Output a JSON null value. No argument is consumed. - - ``b`` (boolean) [int] -- Convert a C :type:`int` to JSON boolean value. Zero is converted -+ Convert a C ``int`` to JSON boolean value. Zero is converted - to ``false`` and non-zero to ``true``. - - ``i`` (integer) [int] -- Convert a C :type:`int` to JSON integer. -+ Convert a C ``int`` to JSON integer. - - ``I`` (integer) [json_int_t] - Convert a C :type:`json_int_t` to JSON integer. - - ``f`` (real) [double] -- Convert a C :type:`double` to JSON real. -+ Convert a C ``double`` to JSON real. - - ``o`` (any value) [json_t \*] - Output any given JSON value as-is. If the value is added to an -@@ -1625,20 +1625,20 @@ type whose address should be passed. - Expect a JSON null value. Nothing is extracted. - - ``b`` (boolean) [int] -- Convert a JSON boolean value to a C :type:`int`, so that ``true`` -+ Convert a JSON boolean value to a C ``int``, so that ``true`` - is converted to 1 and ``false`` to 0. - - ``i`` (integer) [int] -- Convert a JSON integer to C :type:`int`. -+ Convert a JSON integer to C ``int``. - - ``I`` (integer) [json_int_t] - Convert a JSON integer to C :type:`json_int_t`. - - ``f`` (real) [double] -- Convert a JSON real to C :type:`double`. -+ Convert a JSON real to C ``double``. - - ``F`` (integer or real) [double] -- Convert a JSON number (integer or real) to C :type:`double`. -+ Convert a JSON number (integer or real) to C ``double``. - - ``o`` (any value) [json_t \*] - Store a JSON value with no conversion to a :type:`json_t` pointer. -diff --git a/doc/ext/refcounting.py b/doc/ext/refcounting.py -index bba2684..e72c481 100644 ---- a/doc/ext/refcounting.py -+++ b/doc/ext/refcounting.py -@@ -24,8 +24,8 @@ - """ - - from docutils import nodes -+from docutils.parsers.rst import Directive - --class refcounting(nodes.emphasis): pass - - def visit(self, node): - self.visit_emphasis(node) -@@ -40,16 +40,25 @@ def html_depart(self, node): - self.body.append('') - - --def refcounting_directive(name, arguments, options, content, lineno, -- content_offset, block_text, state, state_machine): -- if arguments[0] == 'borrow': -- text = 'Return value: Borrowed reference.' -- elif arguments[0] == 'new': -- text = 'Return value: New reference.' -- else: -- raise Error('Valid arguments: new, borrow') -+class refcounting(nodes.emphasis): -+ pass -+ -+class refcounting_directive(Directive): -+ has_content = False -+ required_arguments = 1 -+ optional_arguments = 0 -+ final_argument_whitespace = False -+ -+ def run(self): -+ if self.arguments[0] == 'borrow': -+ text = 'Return value: Borrowed reference.' -+ elif self.arguments[0] == 'new': -+ text = 'Return value: New reference.' -+ else: -+ raise Error('Valid arguments: new, borrow') -+ -+ return [refcounting(text, text)] - -- return [refcounting(text, text)] - - def setup(app): - app.add_node(refcounting, -@@ -57,4 +66,4 @@ def setup(app): - latex=(visit, depart), - text=(visit, depart), - man=(visit, depart)) -- app.add_directive('refcounting', refcounting_directive, 0, (1, 0, 0)) -+ app.add_directive('refcounting', refcounting_directive) -diff --git a/doc/upgrading.rst b/doc/upgrading.rst -index 9b49046..94ff7de 100644 ---- a/doc/upgrading.rst -+++ b/doc/upgrading.rst -@@ -47,13 +47,13 @@ List of Incompatible Changes - - **Underlying type of JSON integers** - The underlying C type of JSON integers has been changed from -- :type:`int` to the widest available signed integer type, i.e. -- :type:`long long` or :type:`long`, depending on whether -- :type:`long long` is supported on your system or not. This makes -+ ``int`` to the widest available signed integer type, i.e. -+ ``long long`` or ``long``, depending on whether -+ ``long long`` is supported on your system or not. This makes - the whole 64-bit integer range available on most modern systems. - - ``jansson.h`` has a typedef :type:`json_int_t` to the underlying -- integer type. :type:`int` should still be used in most cases when -+ integer type. ``int`` should still be used in most cases when - dealing with smallish JSON integers, as the compiler handles - implicit type coercion. Only when the full 64-bit range is needed, - :type:`json_int_t` should be explicitly used. -@@ -69,8 +69,8 @@ List of Incompatible Changes - - **Unsigned integers in API functions** - Version 2.0 unifies unsigned integer usage in the API. All uses of -- :type:`unsigned int` and :type:`unsigned long` have been replaced -- with :type:`size_t`. This includes flags, container sizes, etc. -+ ``unsigned int`` and ``unsigned long`` have been replaced -+ with ``size_t``. This includes flags, container sizes, etc. - This should not require source code changes, as both -- :type:`unsigned int` and :type:`unsigned long` are usually -- compatible with :type:`size_t`. -+ ``unsigned int`` and ``unsigned long`` are usually -+ compatible with ``size_t``. diff --git a/SPECS/jansson.spec b/SPECS/jansson.spec index 49f8ea2..34725b3 100644 --- a/SPECS/jansson.spec +++ b/SPECS/jansson.spec @@ -1,15 +1,13 @@ Name: jansson -Version: 2.13.1 -Release: 4%{?dist} +Version: 2.14 +Release: 1%{?dist} Summary: C library for encoding, decoding and manipulating JSON data License: MIT URL: http://www.digip.org/jansson/ -Source0: http://www.digip.org/jansson/releases/jansson-%{version}.tar.bz2 +Source0: https://github.com/akheron/jansson/releases/download/v%{version}/jansson-%{version}.tar.bz2 -# Fix docs build failures with Sphinx 3 -# Resolved upstream: https://github.com/akheron/jansson/pull/543 -Patch0: fix-docs-build-with-sphinx-3.patch +Patch0: Fix-the-check-exports-tests-for-versioned-symbols.patch BuildRequires: gcc BuildRequires: python3-sphinx @@ -67,6 +65,10 @@ rm "$RPM_BUILD_ROOT%{_libdir}"/*.la %doc doc/_build/html/* %changelog +* Mon Nov 15 2021 Xin Long - 2.14-1 +- Rebase to 2.14 + Related: rhbz#2001066 + * Mon Aug 09 2021 Mohan Boddu - 2.13.1-4 - Rebuilt for IMA sigs, glibc 2.34, aarch64 flags Related: rhbz#1991688