json-c/json-c.spec
sun_hai_10 7940705d3f Fix the apps/json_parse -s (strict) option, default to non-strict
(cherry picked from commit 536e8a4eb4207fe720989a513b5a01ab8597f6a9)
2024-12-06 17:28:41 +08:00

186 lines
5.7 KiB
RPMSpec

%{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
%global so_ver 5
%global reldate 20230812
Name: json-c
Version: 0.17
Release: 6
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
%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 <lua>
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
* Fri Dec 06 2024 sunhai <sunhai10@huawei.com> - 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 <yueyuankun@kylinos.cn> - 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 <sunhai10@huawei.com> - 0.17-4
- Take 2 fixing the placement of json_tokener_error_memory in the enum.
* Mon Jun 24 2024 liweigang <liweiganga@uniontech.com> - 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 <xiaozai@kylinos.cn> - 0.17-2
- add backport-fix-issue-854-Set-error-json_tokener_error_memory-in.patch
* Wed Aug 16 2023 dillon chen <dillon.chen@gmail.com> - 0.17-1
- Update to 0.17
* Fri Apr 21 2023 zhangrui <zhangrui182@huawei.com> - 0.16-3
- backport patch to fix integer overflow
* Mon Nov 14 2022 mengkanglai <mengkanglai2@huawei.com> - 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 <zhangrui182@huawei.com> - 0.16-1
- Update to 0.16
* Tue May 24 2022 fengtao <fengtao40@huawei.com> - 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 <cyanrose@yeah.net> - 0.15-4
- add backport-json-escape-str-avoid-harmless-unsigned-integer-overflow.patch
* Thu Apr 7 2022 wuchaochao <cyanrose@yeah.net> - 0.15-3
- add check
* Fri Mar 25 2022 wuchaochao <cyanrose@yeah.net> - 0.15-2
- move json-c
* Tue Sep 14 2021 hanhui <hanhui15@huawei.com> - 0.15-1
- update to 0.15
* Thu Sep 9 2021 liuyumeng <liuyumeng5@huawei.com> - 0.13.1-9
- fix broken RDRAND causes infinite looping
* Tue Jul 21 2020 wangye <wangye70@huawei.com> - 0.13.1-8
- fix hardlink path
* Fri May 22 2020 ruanweidong <ruanweidong1@huawei.com> -0.13.1-7
- fix CVE-2020-12762
* Sat Mar 21 2020 songnannan <songnannan2@huawei.com> - 0.13.1-6
- delete the check
* Tue Mar 3 2020 songnannan<songnannan2@huawei.com> - 0.13.1-5
- bugfix in oss-fuzz
* Thu Sep 19 2019 openEuler Buildteam <buildteam@openeuler.org> - 0.13.1-4
- Package init