0af968
0af968
Summary: Exif and Iptc metadata manipulation library
70ca91
Name:    exiv2
f68f66
Version: 0.27.0
c9f37a
Release: 4%{?dist}
0af968
0af968
License: GPLv2+
70ca91
URL:     http://www.exiv2.org/
f68f66
#Source0: https://github.com/Exiv2/%{name}/archive/exiv2-%{version}.tar.gz
f68f66
Source0: http://exiv2.org/builds/%{name}-%{version}a-Source.tar.gz
f68f66
f68f66
## upstream patches
f68f66
Patch22: 0022-cmake-man-pages-only-installed-with-the-exiv2-app.patch
f68f66
Patch35: 0035-cmake-ignore-warnings-about-missing-PDB-files-in-3rd.patch
f68f66
Patch64: 0064-cmake-Rename-xmp-to-exiv2-xmp-to-avoid-name-conflict.patch
f68f66
Patch65: 0065-cmake-Install-header-files-without-globbing.patch
f68f66
Patch66: 0066-cmake-Use-correct-installation-dir-for-generated-doc.patch
f68f66
Patch67: 0067-cmake-Use-correct-installation-dir-for-cmake-config-.patch
f68f66
Patch68: 0068-xmpsdk-Build-with-DBanAllEntityUsage-1.patch
f68f66
Patch69: 0069-xmpsdk-Fix-compile-warnings-in-ExpatAdapter.cpp.patch
f68f66
Patch79: 0079-Fixes-in-.pc-file-for-being-compatible-with-more-dis.patch
f68f66
9d48aa
Patch100: exiv2-validation-of-size-and-offset-to-avoid-crash.patch
c9f37a
Patch101: exiv2-CVE-2021-31291.patch
9d48aa
f68f66
%if 0%{?rhel} == 7
f68f66
BuildRequires: llvm-toolset-7-cmake
f68f66
%else
f68f66
BuildRequires:  cmake
f68f66
%endif
0af968
BuildRequires: expat-devel
0af968
BuildRequires: gettext
0af968
BuildRequires: pkgconfig
70ca91
BuildRequires: pkgconfig(libcurl)
0af968
BuildRequires: zlib-devel
0af968
# docs
0af968
BuildRequires: doxygen graphviz libxslt
0af968
0af968
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
0af968
0af968
%description
0af968
A command line utility to access image metadata, allowing one to:
0af968
* print the Exif metadata of Jpeg images as summary info, interpreted values,
0af968
  or the plain data for each tag
0af968
* print the Iptc metadata of Jpeg images
0af968
* print the Jpeg comment of Jpeg images
0af968
* set, add and delete Exif and Iptc metadata of Jpeg images
0af968
* adjust the Exif timestamp (that's how it all started...)
0af968
* rename Exif image files according to the Exif timestamp
0af968
* extract, insert and delete Exif metadata (including thumbnails),
0af968
  Iptc metadata and Jpeg comments
0af968
0af968
%package devel
0af968
Summary: Header files, libraries and development documentation for %{name}
0af968
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
0af968
%description devel
0af968
%{summary}.
0af968
0af968
%package libs
0af968
Summary: Exif and Iptc metadata manipulation library
f68f66
# not strictly required, but convenient and expected
f68f66
%if 0%{?rhel} && 0%{?rhel} <= 7
f68f66
Requires: %{name} = %{version}-%{release}
f68f66
%else
f68f66
Recommends: %{name} = %{version}-%{release}
f68f66
%endif
0af968
%description libs
0af968
A C++ library to access image metadata, supporting full read and write access
70ca91
to the Exif and Iptc metadata, Exif MakerNote support, extract and delete
0af968
methods for Exif thumbnails, classes to access Ifd and so on.
0af968
70ca91
%package doc
70ca91
Summary: Api documentation for %{name}
70ca91
BuildArch: noarch
70ca91
%description doc
70ca91
%{summary}.
0af968
0af968
70ca91
%prep
f68f66
%autosetup -n %{name}-%{version}-Source -p1
0af968
0af968
%build
f68f66
%if 0%{?rhel} == 7
f68f66
source /opt/rh/llvm-toolset-7/enable
f68f66
%define __cmake /opt/rh/llvm-toolset-7/root/usr/bin/cmake
f68f66
%endif
0af968
f68f66
%{cmake} . \
f68f66
  -DCMAKE_INSTALL_DOCDIR="%{_pkgdocdir}" \
f68f66
  -DEXIV2_BUILD_DOC:BOOL=ON \
f68f66
  -DEXIV2_BUILD_PO:BOOL=ON \
f68f66
  -DEXIV2_BUILD_SAMPLES:BOOL=OFF
0af968
f68f66
%make_build
f68f66
%make_build doc
0af968
0af968
%install
f68f66
make install/fast DESTDIR=%{buildroot}
0af968
70ca91
%find_lang exiv2 --with-man
70ca91
70ca91
## unpackaged files
70ca91
rm -fv %{buildroot}%{_libdir}/libexiv2.la
f68f66
#rm -fv %{buildroot}%{_libdir}/pkgconfig/exiv2.lsm
70ca91
0af968
%check
f68f66
export PKG_CONFIG_PATH="%{buildroot}%{_libdir}/pkgconfig${PKG_CONFIG_PATH:+:}${PKG_CONFIG_PATH}"
0af968
test "$(pkg-config --modversion exiv2)" = "%{version}"
f68f66
test "$(pkg-config --variable=libdir exiv2)" = "%{_libdir}"
0af968
test -x %{buildroot}%{_libdir}/libexiv2.so
0af968
0af968
70ca91
%files -f exiv2.lang
70ca91
%license COPYING
0af968
%{_bindir}/exiv2
70ca91
%{_mandir}/man1/exiv2*.1*
0af968
0af968
%post libs -p /sbin/ldconfig
0af968
%postun libs -p /sbin/ldconfig
0af968
70ca91
%files libs
f68f66
%{_libdir}/libexiv2.so.27*
f68f66
%{_libdir}/libexiv2.so.%{version}
0af968
0af968
%files devel
0af968
%{_includedir}/exiv2/
0af968
%{_libdir}/libexiv2.so
0af968
%{_libdir}/pkgconfig/exiv2.pc
f68f66
%{_libdir}/cmake/exiv2/
f68f66
%{_libdir}/libexiv2-xmp.a
0af968
70ca91
%files doc
f68f66
%{_pkgdocdir}/
f68f66
0af968
0af968
%changelog
c9f37a
* Thu Aug 05 2021 Jan Grulich <jgrulich@redhat.com> - 0.27.0-4
c9f37a
- Fix heap-based buffer overflow vulnerability in jp2image.cpp that may lead to DoS
c9f37a
  Resolves: bz#1990352
c9f37a
9d48aa
* Tue Feb 18 2020 Jan Grulich <jgrulich@redhat.com> - 0.27.0-3
9d48aa
- Validate relationship of the total size to the offset to avoid crash
9d48aa
  Resolves: bz#1775695
9d48aa
f68f66
* Mon Feb 04 2019 Jan Grulich <jgrulich@redhat.com> - 0.27.0-2
f68f66
- Minor improvements
f68f66
  Resolves: bz#1652637
f68f66
f68f66
* Tue Jan 15 2019 Jan Grulich <jgrulich@redhat.com> - 0.27.0-1
f68f66
- Exiv2 0.27.0
f68f66
  Resolves: bz#1652637
f68f66
70ca91
* Fri Feb 23 2018 Jan Grulich <jgrulich@redhat.com> - 0.26-3
70ca91
- Fix uncontrolled recursion in image.cpp:Exiv2::Image::printIFDStructure() which can allow a
70ca91
  remote attacker to cause a denial of service via a crafted tif file
70ca91
  Resolves: bz#1548410
70ca91
70ca91
* Thu Feb 22 2018 Jan Grulich <jgrulich@redhat.com> - 0.26-2
70ca91
- Fix heap-based buffer over-read in Exiv2::Image::byteSwap4 in image.cpp
70ca91
  Resolves: bz#1547207
70ca91
70ca91
  Fix heap-based buffer over-read in Exiv2::getULong function in types.cpp
70ca91
  Resolves: bz#1545232
70ca91
70ca91
* Tue Aug 29 2017 Jan Grulich <jgrulich@redhat.com> - 0.26-1
70ca91
- Update to 0.26
70ca91
  Resolves: bz#1420227
70ca91
cae675
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 0.23-6
cae675
- Mass rebuild 2014-01-24
cae675
cae675
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 0.23-5
cae675
- Mass rebuild 2013-12-27
cae675
0af968
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.23-4
0af968
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
0af968
0af968
* Tue Aug 14 2012 Rex Dieter <rdieter@fedoraproject.org> 0.23-3
0af968
- empty html doc dir (#848025)
0af968
0af968
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.23-2
0af968
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
0af968
0af968
* Tue Apr 24 2012 Rex Dieter <rdieter@fedoraproject.org> 0.23-1
0af968
- exiv2-0.23
0af968
- abi bump
0af968
0af968
* Tue Feb 28 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-5
0af968
- Rebuilt for c++ ABI breakage
0af968
0af968
* Mon Jan 16 2012 Rex Dieter <rdieter@fedoraproject.org> 0.22-4
0af968
- better rpath handling
0af968
- revert locale change, move back to -libs
0af968
0af968
* Mon Jan 16 2012 Rex Dieter <rdieter@fedoraproject.org> 0.22-3
0af968
- move locale files to main pkg (from -libs)
0af968
0af968
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.22-2
0af968
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
0af968
0af968
* Fri Oct 14 2011 Rex Dieter <rdieter@fedoraproject.org> 0.22-1
0af968
- exiv2-0.22
0af968
0af968
* Tue Sep 27 2011 Rex Dieter <rdieter@fedoraproject.org> 0.21.1-3
0af968
- New Tamron 70-300 mm lens improperly recognized (#708403)
0af968
0af968
* Mon Sep 26 2011 Rex Dieter <rdieter@fedoraproject.org> 0.21.1-2
0af968
- gthumb crashes because of bug in exiv2 0.21.1 (#741429)
0af968
0af968
* Sat Feb 26 2011 Rex Dieter <rdieter@fedoraproject.org> 0.21.1-1
0af968
- exiv2-0.21.1
0af968
0af968
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.21-3
0af968
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
0af968
0af968
* Wed Jan 26 2011 Rex Dieter <rdieter@fedoraproject.org> 0.21-2
0af968
- Move ldconfig scriptlet calls to -libs (#672361)
0af968
0af968
* Wed Dec 01 2010 Rex Dieter <rdieter@fedoraproject.org> - 0.21-1
0af968
- exiv2-0.21
0af968
0af968
* Sun May 30 2010 Rex Dieter <rdieter@fedoraproject.org> - 0.20-1
0af968
- exiv2-0.20
0af968
0af968
* Wed Dec 30 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.19-1
0af968
- exiv2-0.19 (#552275)
0af968
0af968
* Sun Dec 13 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.18.2-3
0af968
- -libs unconditional
0af968
- tighten deps using %%?_isa
0af968
0af968
* Fri Aug 07 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.18.2-2
0af968
- (again) drop -fvisibility-inlines-hidden (#496050)
0af968
0af968
* Fri Jul 24 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.18.2-1
0af968
- exiv2-0.18.2
0af968
- drop visibility patch
0af968
0af968
* Fri Apr 17 2009 Rex Dieter <rdieter@fedoraproject.org> - 0.18.1-1
0af968
- exiv2-0.18.1
0af968
- drop -fvisibility-inlines-hidden (#496050)
0af968
0af968
* Tue Feb 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.18-2
0af968
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
0af968
0af968
* Thu Dec 18 2008 Rex Dieter <rdieter@fedoraproject.org> 0.18-1
0af968
- exiv2-0.18
0af968
0af968
* Fri Dec 12 2008 Rex Dieter <rdieter@fedoraproject.org> 0.17.2-2
0af968
- rebuild for pkgconfig deps
0af968
0af968
* Mon Jun 23 2008 Rex Dieter <rdieter@fedoraproject.org> 0.17.1-1
0af968
- exiv2-0.17.1
0af968
0af968
* Mon Feb 11 2008 Rex Dieter <rdieter@fedoraproject.org> 0.16-2
0af968
- respin (gcc43)
0af968
- gcc43 patch
0af968
0af968
* Sun Jan 13 2008 Rex Dieter <rdieter[AT]fedoraproject.org> 0.16-1
0af968
- eviv2-0.16
0af968
0af968
* Mon Dec 17 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.16-0.3.pre1
0af968
- CVE-2007-6353 (#425924)
0af968
0af968
* Mon Nov 26 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.16-0.2.pre1
0af968
- -libs subpkg toggle (f8+)
0af968
0af968
* Tue Nov 13 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.16-0.1.pre1
0af968
- exiv2-0.16-pre1
0af968
0af968
* Tue Sep 18 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.15-4
0af968
- -libs: -Requires: %%name
0af968
0af968
* Tue Aug 21 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.15-3
0af968
- -libs subpkg to be multilib-friendlier (f8+)
0af968
0af968
* Sat Aug 11 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.15-2
0af968
- License: GPLv2+
0af968
0af968
* Thu Jul 12 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.15-1
0af968
- exiv2-0.15
0af968
0af968
* Mon Apr 02 2007 Rex Dieter <rdieter[AT]fedoraproject.org> 0.14-1
0af968
- exiv2-0.14
0af968
0af968
* Tue Nov 28 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.12-1
0af968
- exiv2-0.12
0af968
0af968
* Wed Oct 04 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.11-3
0af968
- respin
0af968
0af968
* Tue Sep 19 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.11-2
0af968
- BR: zlib-devel
0af968
0af968
* Tue Sep 19 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.11-1
0af968
- exiv2-0.11
0af968
0af968
* Tue Aug 29 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.10-2
0af968
- fc6 respin
0af968
0af968
* Sat Jun 03 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.10-1
0af968
- 0.10
0af968
0af968
* Wed May 17 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.1-3
0af968
- cleanup %%description
0af968
- set eXecute bit on installed lib.
0af968
- no_rpath patch
0af968
- deps patch (items get (re)compiled on *every* call to 'make')
0af968
0af968
* Wed May 17 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.1-2
0af968
- %%post/%%postun: /sbin/ldconfig
0af968
0af968
* Tue May 16 2006 Rex Dieter <rexdieter[AT]users.sf.net> 0.9.1-1
0af968
- first try