rpms/pyexiv2/devel 101_100.diff,NONE,1.1 pyexiv2.spec,1.12,1.13

Rex Dieter rdieter at fedoraproject.org
Fri Jan 15 14:49:18 UTC 2010


Author: rdieter

Update of /cvs/pkgs/rpms/pyexiv2/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9343

Modified Files:
	pyexiv2.spec 
Added Files:
	101_100.diff 
Log Message:
* Fri Jan 15 2010 Rex Dieter <rdieter at fedoraproject.org> - 0.1.3-6
- pyexiv2 FTBFS against exiv2-0.19 (#552281)


101_100.diff:
 src/libpyexiv2.cpp             |   31 +++++++++++++++++++++++++++++--
 unittest/Bug183618_TestCase.py |    4 ++--
 2 files changed, 31 insertions(+), 4 deletions(-)

--- NEW FILE 101_100.diff ---
=== modified file 'src/libpyexiv2.cpp'
--- src/libpyexiv2.cpp	2009-03-14 21:43:49 +0000
+++ src/libpyexiv2.cpp	2010-01-05 08:04:49 +0000
@@ -33,6 +33,33 @@
 #define THUMB_ACCESS 104
 #define NO_THUMBNAIL 105
 
+
+// Copied from libexiv2's src/iptc.cpp.
+// Was previously called Exiv2::FindMetadatumById::FindMetadatumById but it was
+// renamed and moved in revision 1727. See http://dev.exiv2.org/issues/show/581.
+//! Unary predicate that matches an Iptcdatum with given record and dataset
+class FindIptcdatum {
+public:
+    //! Constructor, initializes the object with the record and dataset id
+    FindIptcdatum(uint16_t dataset, uint16_t record)
+        : dataset_(dataset), record_(record) {}
+    /*!
+      @brief Returns true if the record and dataset id of the argument
+            Iptcdatum is equal to that of the object.
+    */
+    bool operator()(const Exiv2::Iptcdatum& iptcdatum) const
+    {
+        return dataset_ == iptcdatum.tag() && record_ == iptcdatum.record();
+    }
+
+private:
+    // DATA
+    uint16_t dataset_;
+    uint16_t record_;
+
+}; // class FindIptcdatum
+
+
 namespace LibPyExiv2
 {
 
@@ -228,7 +255,7 @@
 			while ((indexCounter > 0) && (dataIterator != _iptcData.end()))
 			{
 				dataIterator = std::find_if(++dataIterator, _iptcData.end(),
-					Exiv2::FindMetadatumById::FindMetadatumById(iptcKey.tag(), iptcKey.record()));
+					FindIptcdatum(iptcKey.tag(), iptcKey.record()));
 				--indexCounter;
 			}
 			if (dataIterator != _iptcData.end())
@@ -266,7 +293,7 @@
 			while ((indexCounter > 0) && (dataIterator != _iptcData.end()))
 			{
 				dataIterator = std::find_if(++dataIterator, _iptcData.end(),
-					Exiv2::FindMetadatumById::FindMetadatumById(iptcKey.tag(), iptcKey.record()));
+					FindIptcdatum(iptcKey.tag(), iptcKey.record()));
 				--indexCounter;
 			}
 			if (dataIterator != _iptcData.end())

=== modified file 'unittest/Bug183618_TestCase.py'
--- unittest/Bug183618_TestCase.py	2008-02-09 01:13:28 +0000
+++ unittest/Bug183618_TestCase.py	2010-01-05 08:06:59 +0000
@@ -71,12 +71,12 @@
 
         # Exhaustive tests on the values of EXIF GPS metadata
         gpsTags = [('Exif.Image.GPSTag', long, 1313L),
-                   ('Exif.GPSInfo.GPSVersionID', str, '2 0 0 0 '),
+                   ('Exif.GPSInfo.GPSVersionID', str, '2 0 0 0'),
                    ('Exif.GPSInfo.GPSLatitudeRef', str, 'N'),
                    ('Exif.GPSInfo.GPSLatitude', tuple, (pyexiv2.Rational(47, 1), pyexiv2.Rational(3817443, 1000000), pyexiv2.Rational(0, 1))),
                    ('Exif.GPSInfo.GPSLongitudeRef', str, 'E'),
                    ('Exif.GPSInfo.GPSLongitude', tuple, (pyexiv2.Rational(8, 1), pyexiv2.Rational(41359940, 1000000), pyexiv2.Rational(0, 1))),
-                   ('Exif.GPSInfo.GPSAltitudeRef', str, '0 '),
+                   ('Exif.GPSInfo.GPSAltitudeRef', str, '0'),
                    ('Exif.GPSInfo.GPSAltitude', pyexiv2.Rational, pyexiv2.Rational(1908629, 1250)),
                    ('Exif.GPSInfo.GPSMapDatum', str, 'WGS-84')]
         self.assertEqual([tag for tag in image.exifKeys() if tag.find('GPS') != -1], [tag[0] for tag in gpsTags])



Index: pyexiv2.spec
===================================================================
RCS file: /cvs/pkgs/rpms/pyexiv2/devel/pyexiv2.spec,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -p -r1.12 -r1.13
--- pyexiv2.spec	26 Jul 2009 19:48:05 -0000	1.12
+++ pyexiv2.spec	15 Jan 2010 14:49:18 -0000	1.13
@@ -3,7 +3,7 @@
 
 Name:           pyexiv2
 Version:        0.1.3
-Release:        5%{?dist}
+Release:        6%{?dist}
 Summary:        Python binding to exiv2
 
 Group:          Development/Languages
@@ -18,6 +18,9 @@ Patch0:         pyexiv2-multilib.patch
 # https://bugs.launchpad.net/pyexiv2/+bug/249835
 Patch1:         pyexiv2-packager.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+# from http://bazaar.launchpad.net/%7Eosomon/pyexiv2/0.1.x/diff/101
+Patch2: 101_100.diff
       
 BuildRequires:  python-devel exiv2-devel boost-devel scons
 
@@ -31,6 +34,9 @@ embedded in image files (JPEG, TIFF, ...
 %setup -q
 %patch0 -p1 -b .multilib
 %patch1 -p1 -b .packager
+%if 0%{?fedora} > 12
+%patch2 -p0 -b .exiv2_019
+%endif
 
 %build
 # Remove CFLAGS=... for noarch packages (unneeded)
@@ -58,7 +64,11 @@ rm -rf $RPM_BUILD_ROOT
 %doc README ChangeLog COPYING doc/
 %{python_sitearch}/*
 
+
 %changelog
+* Fri Jan 15 2010 Rex Dieter <rdieter at fedoraproject.org> - 0.1.3-6
+- pyexiv2 FTBFS against exiv2-0.19 (#552281)
+
 * Sun Jul 26 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.1.3-5
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
 



More information about the scm-commits mailing list