commit 7b10a21bdda39d330e7cb42a6dbdd04eb91d16b7 Author: zyppe <210hcl@gmail.com> Date: Tue Feb 20 15:25:43 2024 +0800 Initialize for libjansson diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b56c5b9 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +jansson-2.14.tar.bz2 diff --git a/.libjansson.metadata b/.libjansson.metadata new file mode 100644 index 0000000..24c2791 --- /dev/null +++ b/.libjansson.metadata @@ -0,0 +1 @@ +e6449069198cbc9f1165760ca67de2bddc0b3966bf5674e0b296854df63220d1 jansson-2.14.tar.bz2 diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..bb075c4 --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libjansson4 \ No newline at end of file diff --git a/jansson-2.14.tar.bz2.asc b/jansson-2.14.tar.bz2.asc new file mode 100644 index 0000000..d378b1f --- /dev/null +++ b/jansson-2.14.tar.bz2.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEtdaVPm1QWe162g8v02V9JNBYQ0wFAmE6UEYACgkQ02V9JNBY +Q0zNGxAArjaAx1+Ej4tFnE7HmmFm3dxgFt5DL6X4XtxclVWVWk1N1IocWMhMFb5B +WJuy4k0nv/AS0hlJUtYb7IbK8VpvzFu87+KgOktxVIgvXu1omOuXA8Paqf/xVQJc +IURHEq26z/imhG6LHH/LjO+LwiLJiQqxrVhzb6Pq1DOSwLEqlnnzKZBBmMoeZFPR +fgQDuED7d7L18THZsN8aAWKlycxS4cmt9uSrAAGi4VGAadPXvNFn8yweZ3DALJ8P +fOjurDp57DI3Tn3mgZ/5Nr0C9RkzRSxEgv96ThRbXnh3BcZOcBEooIbzYKe+nxFB +euJ5bd8QgIZt3/OSvQYKVXOwgcg4HaIrWEZbDdKHnbU2fy0pYQD6Ezw7ohF4S27S +NeW5UGrCL5w6qC3NqoPdIwuw+uCyMPocq07pa6RGNY1RwU1tjiM9Am2fvyC88/K7 +8DlRTug7cKr9AZ3YbrsBEPvhvJ8jHWr/SALoRKmV7ZTMtdLt4uSnqVeFf997C3Qj +ThUKg1PdQ1WszcML5S1CdhtuvyiCSm26hagGMIbWyq9p+vUjMQTgV44CKbTpjQ0q +8uaqZLwyXN60+7wgPAunn0EiW4BbzxSO1EijypJbMQ45qyRE/DLpPaqRMho4UwoR +8GcM8t3LbZygwSws7NsSv0pNpIdIgfo4vFjGdHSbBoRsuFNqAsU= +=LtYG +-----END PGP SIGNATURE----- diff --git a/libjansson.changes b/libjansson.changes new file mode 100644 index 0000000..d98f032 --- /dev/null +++ b/libjansson.changes @@ -0,0 +1,128 @@ +* Mon Feb 6 2023 pstivanin@suse.com +- Update to 2.14 (boo#1201817): + * New Features: + + Add `json_object_getn`, `json_object_setn`, `json_object_deln`, and the + corresponding `nocheck` functions. + + Add jansson_version_str() and jansson_version_cmp() for runtime + version checking + + Add json_object_update_new(), json_object_update_existing_new() + and json_object_update_missing_new() functions + + Add json_object_update_recursive() + + Add `json_pack()` format specifiers s*, o* and O* for values + that can be omitted if null (#339). + + Add `json_error_code()` to retrieve numeric error codes + (#365, #380, #381). + + Enable thread safety for `json_dump()` on all systems. + Enable thread safe `json_decref()` and `json_incref()` for + modern compilers (#389). + + Add `json_sprintf()` and `json_vsprintf()` (#393). + * Fixes: + + Handle `sprintf` corner cases. + + Add infinite loop check in json_deep_copy() + + Enhance JANSSON_ATTRS macro to support earlier C standard(C89) + + Update version detection for sphinx-build + + Fix error message in `json_pack()` for NULL object (#409). + + Avoid invalid memory read in `json_pack()` (#421). + + Call va_end after va_copy in `json_vsprintf()` (#427). + + Improve handling of formats with '?' and '*' in `json_pack()` + (#438). + + Remove inappropriate `jsonp_free()` which caused + segmentation fault in error handling (#444). + + Fix incorrect report of success from `json_dump_file()` when + an error is returned by `fclose()` (#359). + + Make json_equal() const-correct (#344). + + Fix incomplete stealing of references by `json_pack()` (#374) +- Use GitHub as source URLs: Release hasn't been uploaded to digip.org. +- Add check section. +* Wed Mar 1 2017 coolo@suse.com +- update to new upstream release 2.9 + * New features: + Add json_auto_t to automatically decref a value that goes out of scope. + Available only on GCC and Clang. (#301) + * Small documentation fixes. +- changelog from 2.8 + * New features: + - Always preserve insertion order of object items. json_object_iter() + and friends, json_object_foreach() and json_dumps() and friends now + always work in the insertion order of object items (#293). + - Add json_object_foreach_safe() macro that allows json_object_del() + calls during iteration (#230). + - Add json_get_alloc_funcs() to allow reading the allocation functions + set by json_set_alloc_funcs() (#262, #264). + - Add json_pack() format specifiers s?, o? and O? for values that can + be null (#261, #270). + * Bug fixes: + - Fix a crash when parsing inputs consisting of very deeply nested + arrays or objects (#282, #284). + - Never convert numbers to integers in the parser when + JSON_DECODE_INT_AS_REAL is set. + - Fix a use-after-free in json_pack() error handling. + - Fix subnormal number parsing on mingw32. + - Handle out-of-memory situations gracefully in the hashtable + implementation +* Wed Nov 5 2014 efimovov@gmail.com +- Update to new upstream release 2.7 + * The json_pack et al functions recognize the specifiers "s%%", "+%%" + and "+#" + * Add length-aware string constructors "json_stringn()" and + "json_stringn_nocheck()", length-aware string mutators + "json_string_setn()" and "json_string_setn_nocheck()", + and a function for getting string's length "json_string_length()" + * Support ""\u0000"" escapes in the decoder. The support can be + enabled by using the ""JSON_ALLOW_NUL"" decoding flag + * Add "json_boolean_value()" as an alias for "json_is_true()" + * Add JSON_REAL_PRECISION encoding flag/macro for controlling real + number precision + * Define the maximum indentation as JSON_MAX_INDENT. + * Fix cases when some malformed ""\uNNNN"" escapes could crash + the decoder with an assertion failure + * Avoid integer overflows with very long strings in UTF-8 decoder + and hashtable + * Check for *NULL* key in "json_object_get()" + and "json_object_del()" + * "json_unpack()": Allow mixing JSON_STRICT with optional keys. + * Fix int/int32 mismatch + * Parse subnormal numbers correctly +* Thu Sep 11 2014 hrvoje.senjan@gmail.com +- Add baselibs.conf +* Sun Jul 20 2014 jengelh@inai.de +- Update to new upstream release 2.6 + * Fixed CVE-2013-6401: avoid bad performance in large JSON objects + * The json_pack et al functions recognize the specifiers "s#", "+" + and "+#" + * Add the "JSON_DECODE_INT_AS_REAL" flag + * Add "json_array_foreach()" function + * Add the "json_boolean()" macro that returns the JSON true or + false value based on its argument + * Add "json_load_callback()" that calls a callback function + repeatedly to read the JSON input. + * Add JSON_ESCAPE_SLASH encoding flag to escape all occurences of + '/' with '\/'. +- Drop defunct gpg-offline and use local source_validator instead +* Wed Nov 28 2012 sbrabec@suse.cz +- Verify GPG signature. +* Sat May 12 2012 jengelh@inai.de +- Update to new upstream release 2.3.1 + * Add support for optional object keys with the "{s?o}" syntax + in json_unpack and the like + * Add json_object_update_existing() and json_object_update_missing() + for updating only existing keys or only adding missing keys to an + object. + * Add json_object_foreach() for more convenient iteration over + objects. + * When decoding JSON, write the number of bytes that were read from + input to "error.position" also on success. This is handy with + JSON_DISABLE_EOF_CHECK. + * Add support for decoding any JSON value, not just arrays or + objects. The support is enabled with the new "JSON_DECODE_ANY" + flag. + * Avoid problems with object's serial number growing too big. + * Remove "+" and leading zeros from exponents in the encoder. + * Decoding functions now return NULL if the first argument is NULL. +* Tue Jan 31 2012 jengelh@medozas.de +- Provide pkgconfig symbols +* Fri Oct 21 2011 jengelh@medozas.de +- Remove redundant tags/sections (cf. specfile guidelines) +- Centralize the shlib package name +* Mon Oct 17 2011 fcastelli@suse.com +- Create initial package (v2.2.1) diff --git a/libjansson.keyring b/libjansson.keyring new file mode 100644 index 0000000..fc90ca5 --- /dev/null +++ b/libjansson.keyring @@ -0,0 +1,64 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +3qIW8JeaMCEZY1+zrSVvxHo= +=pcZk +-----END PGP PUBLIC KEY BLOCK----- diff --git a/libjansson.spec b/libjansson.spec new file mode 100644 index 0000000..58d3bbf --- /dev/null +++ b/libjansson.spec @@ -0,0 +1,87 @@ +# +# spec file for package libjansson +# +# Copyright (c) 2022-2023 ZhuningOS +# + + +Name: libjansson +%define lname libjansson4 +Summary: C library for encoding, decoding and manipulating JSON data +License: MIT +Group: Development/Libraries/C and C++ +Version: 2.14 +Release: 150000.3.5.1 +Url: http://digip.org/jansson/ +Source0: https://github.com/akheron/jansson/releases/download/v%{version}/jansson-%{version}.tar.bz2 +Source1: baselibs.conf +Source2: https://github.com/akheron/jansson/releases/download/v%{version}/jansson-%{version}.tar.bz2.asc +Source3: %name.keyring +BuildRoot: %{_tmppath}/%{name}-%{version}-build +BuildRequires: pkgconfig + +%description +Jansson is a C library for encoding, decoding and manipulating JSON data. +It features: + * Simple and intuitive API and data model + * Comprehensive documentation + * No dependencies on other libraries + * Full Unicode support (UTF-8) + * Extensive test suite + +%package -n %lname +Summary: C library for encoding, decoding and manipulating JSON data +Group: Development/Libraries/C and C++ + +%description -n %lname +Jansson is a C library for encoding, decoding and manipulating JSON data. +It features: + * Simple and intuitive API and data model + * Comprehensive documentation + * No dependencies on other libraries + * Full Unicode support (UTF-8) + * Extensive test suite + +%package devel +Summary: Development files for libjansson +Group: Development/Libraries/C and C++ +Requires: %lname = %version + +%description devel +Jansson is a C library for encoding, decoding and manipulating JSON data. +It features: + * Simple and intuitive API and data model + * Comprehensive documentation + * No dependencies on other libraries + * Full Unicode support (UTF-8) + * Extensive test suite + +%prep +%setup -q -n jansson-%{version} + +%build +%configure --disable-static +%make_build + +%install +%make_install +rm -f "%buildroot/%_libdir"/*.la; + +%check +make check + +%post -n %lname -p /sbin/ldconfig +%postun -n %lname -p /sbin/ldconfig + +%files -n %lname +%defattr(-,root,root) +%{_libdir}/libjansson.so.4* + +%files devel +%defattr(-,root,root) +%{_includedir}/jansson.h +%{_includedir}/jansson_config.h +%{_libdir}/libjansson.so +%{_libdir}/pkgconfig/jansson.pc + +%changelog