json-c/json-c.spec

176 lines
5.4 KiB
RPMSpec
Raw Permalink Normal View History

2019-09-30 10:54:03 -04:00
%{!?_pkgdocdir:%global _pkgdocdir %{_docdir}/%{name}-%{version}}
2021-09-14 14:58:45 +08:00
%global so_ver 5
2022-11-05 14:57:34 +08:00
%global reldate 20220414
2019-09-30 10:54:03 -04:00
Name: json-c
2022-11-05 14:57:34 +08:00
Version: 0.16
Release: 5
2019-09-30 10:54:03 -04:00
Summary: JSON implementation in C
License: MIT
URL: https://github.com/%{name}/%{name}
Source0: %{url}/archive/%{name}-%{version}-%{reldate}.tar.gz
2022-03-25 11:34:15 +08:00
BuildRequires: cmake gcc ninja-build
2019-09-30 10:54:03 -04:00
Patch6001: backport-Add-test-to-check-for-the-memory-leak-mentioned-in-issue-781.patch
Patch6002: backport-Fix-memory-leak-with-emtpy-strings-in-json_object_set_string.patch
Patch6003: backport-json_object_from_fd_ex-fail-if-file-is-too-large.patch
Patch6004: backport-Explicitly-check-for-integer-overflow-when-parsing.patch
Patch6005: backport-Fix-build-with-clang-15.patch
Patch6006: backport-json_tokener_parse_ex-handle-out-of-memory-errors.patch
Patch6007: backport-Handle-yet-another-out-of-memory-condition.patch
Patch6008: backport-Fix-issue-854-Set-error-json_tokener_error_memory-in.patch
Patch6009: backport-Issue-857-fix-a-few-places-where-json_tokener-should.patch
Patch6010: backport-Handle-NULL-gracefully-in-json_tokener_free.patch
Patch6011: backport-Issue-881-don-t-allow-json_tokener_new_ex-with-a-dep.patch
2019-09-30 10:54:03 -04:00
%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
2021-09-14 14:58:45 +08:00
%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
2019-09-30 10:54:03 -04:00
%build
2021-09-14 14:58:45 +08:00
%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
2022-04-07 10:48:23 +08:00
%check
%ninja_test -C %{_vpath_builddir}
2019-09-30 10:54:03 -04:00
%install
2021-09-14 14:58:45 +08:00
DESTDIR="%{buildroot}" %__cmake --install "%{_vpath_builddir}"
2019-09-30 10:54:03 -04:00
2021-09-14 14:58:45 +08:00
mkdir -p %{buildroot}%{_pkgdocdir}
hardlink -cfv %{buildroot}%{_pkgdocdir}
2019-09-30 10:54:03 -04:00
%pretrans devel -p <lua>
path = "%{_includedir}/%{name}"
st = posix.stat(path)
if st and st.type == "link" then
os.remove(path)
end
2019-09-30 10:54:03 -04:00
%ldconfig_scriptlets
%files
%license AUTHORS COPYING
%{_libdir}/lib%{name}.so.%{so_ver}*
%files devel
%{_includedir}/%{name}
2021-09-14 14:58:45 +08:00
%{_libdir}/cmake/%{name}
2019-09-30 10:54:03 -04:00
%{_libdir}/lib%{name}.so
%{_libdir}/pkgconfig/%{name}.pc
%files help
%doc %{_pkgdocdir}
%changelog
* Sat Mar 15 2025 sunhai <sunhai10@huawei.com> - 0.16-5
- Handle yet another out of memory condition
- Fix issue 854 Set error json_tokener_error_memory in
- Issue 857 fix a few places where json_tokener should
- Handle NULL gracefully in json_tokener_free
- Issue 881 don t allow json_tokener_new_ex with a dep
* Mon Sep 04 2023 sunhai <sunhai10@huawei.com> - 0.16-4
- backport patch to Fix build with clang-15+
- backport patch to Fix json_tokener_parse_ex: handle out of memory errors
* 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
2022-11-05 14:57:34 +08:00
* 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
2022-04-07 10:48:23 +08:00
* Thu Apr 7 2022 wuchaochao <cyanrose@yeah.net> - 0.15-3
- add check
2022-03-25 11:34:15 +08:00
* Fri Mar 25 2022 wuchaochao <cyanrose@yeah.net> - 0.15-2
- move json-c
2021-09-14 14:58:45 +08:00
* 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
2021-09-14 14:58:45 +08:00
- fix broken RDRAND causes infinite looping
* Tue Jul 21 2020 wangye <wangye70@huawei.com> - 0.13.1-8
2020-07-21 09:14:54 +08:00
- fix hardlink path
2021-09-14 14:58:45 +08:00
* Fri May 22 2020 ruanweidong <ruanweidong1@huawei.com> -0.13.1-7
2020-05-22 11:48:59 +08:00
- fix CVE-2020-12762
2020-03-21 20:19:49 +08:00
* Sat Mar 21 2020 songnannan <songnannan2@huawei.com> - 0.13.1-6
- delete the check
2020-03-03 17:22:14 +08:00
* Tue Mar 3 2020 songnannan<songnannan2@huawei.com> - 0.13.1-5
- bugfix in oss-fuzz
2019-09-30 10:54:03 -04:00
* Thu Sep 19 2019 openEuler Buildteam <buildteam@openeuler.org> - 0.13.1-4
- Package init