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