Initialize for libjansson

This commit is contained in:
zyppe 2024-02-20 15:25:43 +08:00
commit 7b10a21bdd
7 changed files with 298 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
jansson-2.14.tar.bz2

1
.libjansson.metadata Normal file
View file

@ -0,0 +1 @@
e6449069198cbc9f1165760ca67de2bddc0b3966bf5674e0b296854df63220d1 jansson-2.14.tar.bz2

1
baselibs.conf Normal file
View file

@ -0,0 +1 @@
libjansson4

16
jansson-2.14.tar.bz2.asc Normal file
View file

@ -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-----

128
libjansson.changes Normal file
View file

@ -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)

64
libjansson.keyring Normal file
View file

@ -0,0 +1,64 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
3qIW8JeaMCEZY1+zrSVvxHo=
=pcZk
-----END PGP PUBLIC KEY BLOCK-----

87
libjansson.spec Normal file
View file

@ -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