%{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}} %global so_ver 5 %global reldate 20230812 Name: json-c Version: 0.17 Release: 7 Summary: JSON implementation in C License: MIT URL: https://github.com/%{name}/%{name} Source0: %{url}/archive/%{name}-%{version}-%{reldate}.tar.gz BuildRequires: cmake gcc ninja-build Patch6001: backport-fix-issue-854-Set-error-json_tokener_error_memory-in.patch Patch6002: backport-Handle-yet-another-out-of-memory-condition.patch Patch6003: backport-Issue-857-fix-a-few-places-where-json_tokener-should.patch Patch6004: backport-Take-2-fixing-the-placement-of-json_tokener_error_memory.patch Patch6005: backport-Issue-867-disallow-control-characters-in-strict-mode.patch Patch6006: backport-Fix-the-expected-output-for-test_parse.patch Patch6007: backport-Fix-issue-875-cast-to-unsigned-char-so-bytes-above-0.patch Patch6008: backport-Fix-the-apps-json_parse-s-strict-option-so-it-actual.patch Patch6009: backport-Handle-NULL-gracefully-in-json_tokener_free.patch Patch6010: backport-Issue-881-don-t-allow-json_tokener_new_ex-with-a-dep.patch %description JSON-C implements a reference counting object model that allows you to easily construct JSON objects in C, output them as JSON formatted strings and parse JSON formatted strings back into the C representation of JSON objects. It aims to conform to RFC 7159. %package devel Summary: Development files for %{name} Requires: %{name}%{?_isa} == %{version}-%{release} %description devel This package contains libraries and header files for developing applications that use %{name}. %package help Summary: Reference manual for json-c BuildArch: noarch BuildRequires: doxygen hardlink Provides: %{name}-doc = %{version}-%{release} Obsoletes: %{name}-doc = %{version}-%{release} %description help This package contains the reference manual for %{name}. %prep %autosetup -n %{name}-%{name}-%{version}-%{reldate} -p 1 # Remove pre-built html documentation. rm -fr doc/html # Update Doxyfile. doxygen -s -u doc/Doxyfile.in %build %cmake \ -DBUILD_STATIC_LIBS:BOOL=OFF \ -DCMAKE_BUILD_TYPE:STRING=RELEASE \ -DCMAKE_C_FLAGS_RELEASE:STRING="" \ -DDISABLE_BSYMBOLIC:BOOL=OFF \ -DDISABLE_WERROR:BOOL=ON \ -DENABLE_RDRAND:BOOL=ON \ -DENABLE_THREADING:BOOL=ON \ -G Ninja\ %{!?__cmake_in_source_build:-S "%{_vpath_srcdir}"} \ %{!?__cmake_in_source_build:-B "%{_vpath_builddir}"} \ %__cmake --build "%{_vpath_builddir}" %{?_smp_mflags} --verbose --target all doc %check %ninja_test -C %{_vpath_builddir} %install DESTDIR="%{buildroot}" %__cmake --install "%{_vpath_builddir}" mkdir -p %{buildroot}%{_pkgdocdir} hardlink -cfv %{buildroot}%{_pkgdocdir} %pretrans devel -p path = "%{_includedir}/%{name}" st = posix.stat(path) if st and st.type == "link" then os.remove(path) end %ldconfig_scriptlets %files %license AUTHORS COPYING %{_libdir}/lib%{name}.so.%{so_ver}* %files devel %{_includedir}/%{name} %{_libdir}/cmake/%{name} %{_libdir}/lib%{name}.so %{_libdir}/pkgconfig/%{name}.pc %files help %doc %{_pkgdocdir} %changelog * Sat Mar 15 2025 sunhai - 0.17-7 - Type:bugfix - ID:NA - SUG:NA - DESC: Handle NULL gracefully in json_tokener_free Issue 881 don t allow json_tokener_new_ex with a dep * Fri Dec 06 2024 sunhai - 0.17-6 - Type:bugfix - ID:NA - SUG:NA - DESC: Fix the apps/json_parse "-s" (strict) option so it actually does something, and default to non-strict. * Wed Dec 04 2024 yueyuankun - 0.17-5 - Type:bugfix - ID:NA - SUG:NA - DESC: Disallow control characters in strict mode Fix the expected output for test_parse Fix causing the strict-mode control characters check to incorrectly trigger * Tue Sep 24 2024 sunhai - 0.17-4 - Take 2 fixing the placement of json_tokener_error_memory in the enum. * Mon Jun 24 2024 liweigang - 0.17-3 - add backport-Handle-yet-another-out-of-memory-condition.patch - add backport-Issue-857-fix-a-few-places-where-json_tokener-should.patch * Thu May 16 2024 xiaozai - 0.17-2 - add backport-fix-issue-854-Set-error-json_tokener_error_memory-in.patch * Wed Aug 16 2023 dillon chen - 0.17-1 - Update to 0.17 * Fri Apr 21 2023 zhangrui - 0.16-3 - backport patch to fix integer overflow * Mon Nov 14 2022 mengkanglai - 0.16-2 - add backport-Add-test-to-check-for-the-memory-leak-mentioned-in-issue-781.patch - add backport-Fix-memory-leak-with-emtpy-strings-in-json_object_set_string.patch - add backport-json_object_from_fd_ex-fail-if-file-is-too-large.patch * Sat Nov 5 2022 zhangrui - 0.16-1 - Update to 0.16 * Tue May 24 2022 fengtao - 0.15-5 - we got upgrade error when upgrade json-c from very low version, for example json-c-0.11-5. because old version has a softlink: /usr/include/json-c --> /usr/include/json and now, softlink has been removed. so, we fix this in pretrans * Fri May 6 2022 wuchaochao - 0.15-4 - add backport-json-escape-str-avoid-harmless-unsigned-integer-overflow.patch * Thu Apr 7 2022 wuchaochao - 0.15-3 - add check * Fri Mar 25 2022 wuchaochao - 0.15-2 - move json-c * Tue Sep 14 2021 hanhui - 0.15-1 - update to 0.15 * Thu Sep 9 2021 liuyumeng - 0.13.1-9 - fix broken RDRAND causes infinite looping * Tue Jul 21 2020 wangye - 0.13.1-8 - fix hardlink path * Fri May 22 2020 ruanweidong -0.13.1-7 - fix CVE-2020-12762 * Sat Mar 21 2020 songnannan - 0.13.1-6 - delete the check * Tue Mar 3 2020 songnannan - 0.13.1-5 - bugfix in oss-fuzz * Thu Sep 19 2019 openEuler Buildteam - 0.13.1-4 - Package init