Name:    exiv2
Version: 0.26
Release: 27
Summary: Exif, IPTC and XMP metadata and the ICC Profile
License: GPLv2+
URL:     http://www.exiv2.org/
Source0: https://github.com/Exiv2/exiv2/archive/v%{version}.tar.gz

Patch0:  exiv2-simplify-compiler-info-in-cmake.patch
Patch1:  exiv2-fix-documentation-build.patch
Patch2:  0006-1296-Fix-submitted.patch

Patch10: exiv2-CVE-2017-17723.patch
Patch11: exiv2-wrong-brackets.patch
Patch12: exiv2-CVE-2017-11683.patch
Patch13: exiv2-CVE-2017-14860.patch
Patch14: exiv2-CVE-2017-14864-CVE-2017-14862-CVE-2017-14859.patch
Patch15: exiv2-CVE-2017-17725.patch
Patch16: exiv2-CVE-2017-17669.patch
Patch17: exiv2-additional-security-fixes.patch
Patch18: exiv2-CVE-2018-10958.patch
Patch19: exiv2-CVE-2018-10998.patch
Patch20: exiv2-CVE-2018-11531.patch
Patch21: exiv2-CVE-2018-12264-CVE-2018-12265.patch
Patch22: exiv2-CVE-2018-14046.patch
Patch23: exiv2-CVE-2018-5772.patch
Patch24: exiv2-CVE-2018-8976.patch
Patch25: exiv2-CVE-2018-8977.patch

Patch100: exiv2-doxygen.patch

Patch6000: CVE-2018-19107-CVE-2018-19108-1.patch
Patch6001: CVE-2018-19107-CVE-2018-19108-2.patch
Patch6002: CVE-2018-17229-CVE-2018-17230.patch
Patch6003: CVE-2018-17282.patch
Patch6004: CVE-2017-1000126.patch
Patch6005: CVE-2018-19607.patch
Patch6006: CVE-2018-18915.patch
Patch6007: CVE-2019-13110.patch
Patch6008: CVE-2019-13113.patch
Patch6009: CVE-2019-13114.patch
Patch6010: CVE-2019-14982.patch
Patch6011: exiv2-CVE-2017-14865.patch
Patch6012: exiv2-CVE-2017-18005_1.patch
Patch6013: exiv2-CVE-2017-18005_2.patch
Patch6014: 0001-CVE-2018-19535.patch
Patch6015: 0002-CVE-2018-19535.patch
Patch6016: 0003-CVE-2018-19535.patch
Patch6017: 0001-CVE-2019-13112.patch
Patch6018: 0002-CVE-2019-13112.patch
Patch6019: CVE-2018-16336.patch
Patch6020: CVE-2018-17581.patch
Patch6021: CVE-2019-13110-Avoid-integer-overflow.patch
Patch6022: CVE-2018-4868.patch
Patch6023: backport-CVE-2018-10772.patch
Patch6024: CVE-2018-11037.patch
Patch6025: backport-Fix-ICC-profile-in-PNG-images.patch
Patch6026: backport-CVE-2019-13109.patch
Patch6027: exiv2-CVE-2019-13111.patch
Patch6028: CVE-2018-9145.patch
Patch6029: CVE-2021-3482.patch
Patch6030: backport-CVE-2021-29457.patch
Patch6031: backport-CVE-2021-29458.patch
Patch6032: backport-CVE-2021-29470.patch
Patch6033: backport-0001-CVE-2021-29463.patch
Patch6034: backport-0002-CVE-2021-29463.patch
Patch6035: backport-CVE-2021-29464.patch
Patch6036: backport-CVE-2021-29463.patch
Patch6037: backport-CVE-2021-29473.patch
Patch6038: backport-CVE-2021-29623.patch
Patch6039: backport-CVE-2021-32617.patch

Provides: exiv2-libs
Obsoletes: exiv2-libs

BuildRequires: cmake expat-devel gcc-c++ gettext pkgconfig pkgconfig(libcurl) pkgconfig(libssh)
BuildRequires: doxygen graphviz libxslt zlib-devel

%description
Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata.
It provides fast and easy read and write access to the Exif, IPTC and XMP metadata and the
ICC Profile embedded within digital images in various formats.

%package devel
Summary: This package contains libraries, header and development files for exiv2
Requires: %{name} = %{version}-%{release}

%description devel
Exiv2 is a Cross-platform C++ library and a command line utility to manage image metadata.
This package provides head file,libraries for exiv2.

%package_help

%prep
%autosetup -p1

%build
export CPPFLAGS="-DBanAllEntityUsage=1"

%{cmake} -DEXIV2_ENABLE_BUILD_PO:BOOL=ON -DEXIV2_ENABLE_BUILD_SAMPLES:BOOL=OFF -DEXIV2_ENABLE_LIBXMP:BOOL=ON

%make_build
make doc

%install
%make_install
%find_lang exiv2

%check
export PKG_CONFIG_PATH=%{buildroot}%{_libdir}/pkgconfig
test "$(pkg-config --modversion exiv2)" = "%{version}"
test -x %{buildroot}%{_libdir}/libexiv2.so

%files -f exiv2.lang
%defattr(-,root,root)
%doc doc/ChangeLog
%license COPYING
%{_bindir}/exiv2
%{_libdir}/libexiv2.so.26*
%exclude %{_libdir}/pkgconfig/exiv2.lsm
%exclude %{_libdir}/libxmp.a

%files devel
%defattr(-,root,root)
%{_libdir}/pkgconfig/exiv2.pc
%{_libdir}/libexiv2.so
%{_includedir}/exiv2/

%files help
%defattr(-,root,root)
%{_mandir}/man1/exiv2*.1*
%{_datadir}/doc/html/

%changelog
* Thu May 27 2021 liuyumeng <liuyumeng5@huawei.com> - 0.26-27
- Type:cves
- ID:CVE-2021-29623 CVE-2021-32617
- SUG:NA
- DESC:fix CVE-2021-29623 CVE-2021-32617

* Wed May 12 2021 wangkerong <wangkerong@huawei.com> - 0.26-26
- Type:cves
- ID:CVE-2021-29464 CVE-2021-29463 CVE-2021-29473
- SUG:NA
- DESC:fix CVE-2021-29464,CVE-2021-29463,CVE-2021-29473

* Sat May 08 2021 wangkerong <wangkerong@huawei.com> - 0.26-25
- Type:cve
- ID:CVE-2021-29470
- SUG:NA
- DESC:fix CVE-2021-29470

* Thu Apr 29 2021 wangkerong <wangkerong@huawei.com> - 0.26-24
- Type:cves
- ID:CVE-2021-29457 CVE-2021-29458
- SUG:NA
- DESC:fix CVE-2021-29457,CVE-2021-29458

* Thu Apr 22 2021 zhanzhimin <zhanzhimin@huawei.com> - 0.26-23
- Type:cves
- ID:CVE-2021-3482
- SUG:NA
- DESC:fix CVE-2021-3482

* Thu Sep 17 2020 zhanzhimin <zhanzhimin@huawei.com> - 0.26-22
- Type:cves
- ID:CVE-2018-9145
- SUG:NA
- DESC:fix CVE-2018-9145

* Tue Sep 8 2020 hanhui <hanhui15@huawei.com> - 0.26.21
- Type:bugfix
- ID:NA
- SUG:NA
- DESC:modify source url

* Thu May 21 2020 liuzongyu <liuzonyu3@huawei.com> - 0.26-20
- Type:cves
- ID:CVE-2019-13111
- SUG:NA
- DESC:fix CVE-2019-13111

* Tue Apr 28 2020 openEuler Buildteam <buildteam@openeuler.org> - 0.26-19
- Type:cves
- ID:CVE-2019-13109
- SUG:NA
- DESC:fix CVE-2019-13109
       fix ICC profile in PNG images

* Thu Apr 16 2020 chenzhen <chenzhen44@huawei.com> - 0.26-18
- Type:cves
- ID:CVE-2018-11037
- SUG:NA
- DESC:fix CVE-2018-11037

* Wed Mar 11 2020 openEuler Buildteam <buildteam@openeuler.org> - 0.26-17
- Type:cves
- ID:NA
- SUG:NA
- DESC:Add CVE patches

* Tue Dec 24 2019 openEuler Buildteam <buildteam@openeuler.org> - 0.26-16
- change the path of files

* Sat Dec 21 2019 openEuler Buildteam <buildteam@openeuler.org> - 0.26-15
- Type:cves
- ID:NA
- SUG:NA
- DESC:Add CVE patches

* Wed Sep 25 2019 huzunhao<huzunhao2@huawei.com> - 0.26-14
- Type:cves
- ID:CVE-2019-14982
- SUG:NA
- DESC:fix CVE-2019-14982

* Sat Sep 21 2019 Yanjie Guan <guanyanjie@huawei.com> - 0.26-13
- Package init for openEuler
