[pyexiv2/el6] Progress on bug 753322: pyexiv2 in EPEL EL-6 https://bugzilla.redhat.com/show_bug.cgi?id=753322 Sign
Matej Cepl
mcepl at fedoraproject.org
Thu Dec 15 09:41:06 UTC 2011
commit f6aa507a26a854e1206a8e93245f43c3266cbb57
Author: Matěj Cepl <mcepl at redhat.com>
Date: Thu Dec 15 10:42:29 2011 +0100
Progress on bug 753322: pyexiv2 in EPEL EL-6
https://bugzilla.redhat.com/show_bug.cgi?id=753322
Signed-off-by: Matěj Cepl <mcepl at redhat.com>
.gitignore | 2 +
exiv-0-18-2.patch | 117 +++++++++++++++++++++++++++++++++++++++++++++++-----
pyexiv2.spec | 20 +++------
sources | 2 +-
4 files changed, 115 insertions(+), 26 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 451ac79..cb56601 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,3 +4,5 @@ pyexiv2-0.1.3.tar.bz2
/pyexiv2-0.3.1.tar.bz2
/pyexiv2-0.3.1
/x86_64
+/pyexiv2-0.3.2.tar.bz2
+/pyexiv2-0.3.2
diff --git a/exiv-0-18-2.patch b/exiv-0-18-2.patch
index 34da36d..89b28e1 100644
--- a/exiv-0-18-2.patch
+++ b/exiv-0-18-2.patch
@@ -1,6 +1,6 @@
-diff -up pyexiv2-0.3.1/src/exiv2wrapper.cpp.exiv0182 pyexiv2-0.3.1/src/exiv2wrapper.cpp
---- pyexiv2-0.3.1/src/exiv2wrapper.cpp.exiv0182 2011-10-23 18:44:56.000000000 +0200
-+++ pyexiv2-0.3.1/src/exiv2wrapper.cpp 2011-12-14 19:26:19.533659344 +0100
+diff -up pyexiv2-0.3.2/src/exiv2wrapper.cpp.exiv2-0182 pyexiv2-0.3.2/src/exiv2wrapper.cpp
+--- pyexiv2-0.3.2/src/exiv2wrapper.cpp.exiv2-0182 2011-10-24 19:06:02.000000000 +0200
++++ pyexiv2-0.3.2/src/exiv2wrapper.cpp 2011-12-15 10:22:01.755433460 +0100
@@ -521,15 +521,7 @@ void Image::setExifThumbnailFromData(con
const std::string Image::getIptcCharset() const
{
@@ -18,10 +18,82 @@ diff -up pyexiv2-0.3.1/src/exiv2wrapper.cpp.exiv0182 pyexiv2-0.3.1/src/exiv2wrap
}
-diff -up pyexiv2-0.3.1/test/metadata.py.exiv0182 pyexiv2-0.3.1/test/metadata.py
---- pyexiv2-0.3.1/test/metadata.py.exiv0182 2011-10-23 18:44:56.000000000 +0200
-+++ pyexiv2-0.3.1/test/metadata.py 2011-12-14 19:26:32.371784500 +0100
-@@ -562,7 +562,7 @@ class TestImageMetadata(unittest.TestCas
+diff -up pyexiv2-0.3.2/test/exif.py.exiv2-0182 pyexiv2-0.3.2/test/exif.py
+--- pyexiv2-0.3.2/test/exif.py.exiv2-0182 2011-10-24 19:06:02.000000000 +0200
++++ pyexiv2-0.3.2/test/exif.py 2011-12-15 10:22:01.756433320 +0100
+@@ -190,30 +190,32 @@ class TestExifTag(unittest.TestCase):
+ self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')
+ self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
+
+- def test_convert_to_python_sshort(self):
+- # Valid values
+- tag = ExifTag('Exif.Image.TimeZoneOffset')
+- self.assertEqual(tag.type, 'SShort')
+- self.assertEqual(tag._convert_to_python('8'), 8)
+- self.assertEqual(tag._convert_to_python('+5'), 5)
+- self.assertEqual(tag._convert_to_python('-6'), -6)
+-
+- # Invalid values
+- self.failUnlessRaises(ExifValueError, tag._convert_to_python, 'abc')
+- self.failUnlessRaises(ExifValueError, tag._convert_to_python, '5,64')
+- self.failUnlessRaises(ExifValueError, tag._convert_to_python, '47.0001')
+- self.failUnlessRaises(ExifValueError, tag._convert_to_python, '1E3')
+-
+- def test_convert_to_string_sshort(self):
+- # Valid values
+- tag = ExifTag('Exif.Image.TimeZoneOffset')
+- self.assertEqual(tag.type, 'SShort')
+- self.assertEqual(tag._convert_to_string(12), '12')
+- self.assertEqual(tag._convert_to_string(-3), '-3')
+-
+- # Invalid values
+- self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')
+- self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
++# EPEL packaging: Exif.Image.TimeZoneOffset has not been supported by 0.18.2
++# http://dev.exiv2.org/issues/show/0000651
++# def test_convert_to_python_sshort(self):
++# # Valid values
++# tag = ExifTag('Exif.Image.TimeZoneOffset')
++# self.assertEqual(tag.type, 'SShort')
++# self.assertEqual(tag._convert_to_python('8'), 8)
++# self.assertEqual(tag._convert_to_python('+5'), 5)
++# self.assertEqual(tag._convert_to_python('-6'), -6)
++#
++# # Invalid values
++# self.failUnlessRaises(ExifValueError, tag._convert_to_python, 'abc')
++# self.failUnlessRaises(ExifValueError, tag._convert_to_python, '5,64')
++# self.failUnlessRaises(ExifValueError, tag._convert_to_python, '47.0001')
++# self.failUnlessRaises(ExifValueError, tag._convert_to_python, '1E3')
++#
++# def test_convert_to_string_sshort(self):
++# # Valid values
++# tag = ExifTag('Exif.Image.TimeZoneOffset')
++# self.assertEqual(tag.type, 'SShort')
++# self.assertEqual(tag._convert_to_string(12), '12')
++# self.assertEqual(tag._convert_to_string(-3), '-3')
++#
++# # Invalid values
++# self.failUnlessRaises(ExifValueError, tag._convert_to_string, 'invalid')
++# self.failUnlessRaises(ExifValueError, tag._convert_to_string, 3.14)
+
+ def test_convert_to_python_long(self):
+ # Valid values
+diff -up pyexiv2-0.3.2/test/metadata.py.exiv2-0182 pyexiv2-0.3.2/test/metadata.py
+--- pyexiv2-0.3.2/test/metadata.py.exiv2-0182 2011-10-24 19:06:02.000000000 +0200
++++ pyexiv2-0.3.2/test/metadata.py 2011-12-15 10:22:01.756433320 +0100
+@@ -35,8 +35,11 @@ import os
+ import tempfile
+ import time
+ import unittest
++import logging
+ from testutils import EMPTY_JPG_DATA
+
++logging.basicConfig(format='%(levelname)s:%(funcName)s:%(message)s',
++ level=logging.DEBUG)
+
+ class TestImageMetadata(unittest.TestCase):
+
+@@ -562,7 +565,7 @@ class TestImageMetadata(unittest.TestCas
self.metadata.iptc_keys + \
self.metadata.xmp_keys
for key in keys:
@@ -30,7 +102,7 @@ diff -up pyexiv2-0.3.1/test/metadata.py.exiv0182 pyexiv2-0.3.1/test/metadata.py
def test_nonexistent_tag_family(self):
self.metadata.read()
-@@ -574,7 +574,7 @@ class TestImageMetadata(unittest.TestCas
+@@ -574,7 +577,7 @@ class TestImageMetadata(unittest.TestCas
##########################
# Test the image comment #
##########################
@@ -39,7 +111,14 @@ diff -up pyexiv2-0.3.1/test/metadata.py.exiv0182 pyexiv2-0.3.1/test/metadata.py
def test_get_comment(self):
self.metadata.read()
self.failUnlessEqual(self.metadata.comment, 'Hello World!')
-@@ -643,10 +643,10 @@ class TestImageMetadata(unittest.TestCas
+@@ -640,13 +643,17 @@ class TestImageMetadata(unittest.TestCas
+ self.clean.read()
+
+ self.assertEqual(len(self.clean), 0)
++ logging.debug("self.clean = %s", dir(self.clean))
++ logging.debug("self.clean = %s", self.clean.iptc_keys)
++ logging.debug("self.clean = %s", self.clean.exif_keys)
++ logging.debug("self.clean = %s", self.clean.xmp_keys)
self.assertTrue('Exif.Image.DateTimeOriginal' not in self.clean)
key = 'Exif.Image.DateTimeOriginal'
@@ -54,7 +133,7 @@ diff -up pyexiv2-0.3.1/test/metadata.py.exiv0182 pyexiv2-0.3.1/test/metadata.py
self.clean[key] = tag_date
self.assertEqual(len(self.clean), 1)
-@@ -655,11 +655,11 @@ class TestImageMetadata(unittest.TestCas
+@@ -655,11 +662,11 @@ class TestImageMetadata(unittest.TestCas
self.assertEqual(self.clean.get('Exif.Image.DateTime', tag_date), tag_date)
key = 'Exif.Photo.UserComment'
@@ -70,7 +149,7 @@ diff -up pyexiv2-0.3.1/test/metadata.py.exiv0182 pyexiv2-0.3.1/test/metadata.py
key = 'Xmp.dc.subject'
tag = XmpTag(key, ['subject', 'values'])
self.clean[key] = tag
-@@ -785,24 +785,24 @@ class TestImageMetadata(unittest.TestCas
+@@ -785,24 +792,24 @@ class TestImageMetadata(unittest.TestCas
# Test the IPTC charset #
#########################
@@ -113,7 +192,7 @@ diff -up pyexiv2-0.3.1/test/metadata.py.exiv0182 pyexiv2-0.3.1/test/metadata.py
def test_set_invalid_iptc_charset(self):
self.metadata.read()
-@@ -821,27 +821,27 @@ class TestImageMetadata(unittest.TestCas
+@@ -821,27 +828,27 @@ class TestImageMetadata(unittest.TestCas
self.assertRaises(ValueError, self.metadata.__setattr__,
'iptc_charset', value)
@@ -164,3 +243,17 @@ diff -up pyexiv2-0.3.1/test/metadata.py.exiv0182 pyexiv2-0.3.1/test/metadata.py
+# self.assertEqual(self.metadata.iptc_charset, 'ascii')
+# self.assert_(key not in self.metadata.iptc_keys)
+diff -up pyexiv2-0.3.2/test/pickling.py.exiv2-0182 pyexiv2-0.3.2/test/pickling.py
+--- pyexiv2-0.3.2/test/pickling.py.exiv2-0182 2011-10-24 19:06:02.000000000 +0200
++++ pyexiv2-0.3.2/test/pickling.py 2011-12-15 10:32:06.210311586 +0100
+@@ -46,7 +46,9 @@ class TestPicklingTags(unittest.TestCase
+ tags.append(ExifTag('Exif.Pentax.Temperature', '14'))
+ tags.append(ExifTag('Exif.Photo.UserComment', 'foo bar baz'))
+ tags.append(ExifTag('Exif.Image.BitsPerSample', 8))
+- tags.append(ExifTag('Exif.Image.TimeZoneOffset', 7))
++# EPEL packaging: Exif.Image.TimeZoneOffset has not been supported by 0.18.2
++# http://dev.exiv2.org/issues/show/0000651
++# tags.append(ExifTag('Exif.Image.TimeZoneOffset', 7))
+ tags.append(ExifTag('Exif.Image.ImageWidth', 7492))
+ tags.append(ExifTag('Exif.OlympusCs.ManometerReading', 29))
+ tags.append(ExifTag('Exif.Image.XResolution', make_fraction(7, 3)))
diff --git a/pyexiv2.spec b/pyexiv2.spec
index 9cb06e7..e469718 100644
--- a/pyexiv2.spec
+++ b/pyexiv2.spec
@@ -2,19 +2,15 @@
%{!?python_sitearch: %define python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
Name: pyexiv2
-Version: 0.3.1
-Release: 2%{?dist}
+Version: 0.3.2
+Release: 1%{?dist}
Summary: Python binding to exiv2
Group: Development/Languages
License: GPLv2+
URL: http://tilloy.net/dev/pyexiv2/
Source0: http://launchpad.net/pyexiv2/0.3.x/%{version}/+download/pyexiv2-%{version}.tar.bz2
-# Upstream patch from https://bugs.launchpad.net/pyexiv2/+bug/880659
-Patch0: pyexiv2-python26-compatible.patch
-%if 0%{?rhel} > 0 && 0%{?rhel} <= 7
-Patch1: exiv-0-18-2.patch
-%endif
+Patch0: exiv-0-18-2.patch
BuildRequires: python-devel exiv2-devel boost-devel scons pytz
%description
@@ -25,10 +21,7 @@ embedded in image files (JPEG, TIFF, ...).
%prep
%setup -q
-%patch0 -p1 -b .python26
-%if 0%{?rhel} > 0 && 0%{?rhel} <= 7
-%patch1 -p1 -b .exiv0182
-%endif
+%patch0 -p1 -b .exiv2-0182
%build
# Remove CFLAGS=... for noarch packages (unneeded)
@@ -59,8 +52,9 @@ popd
%changelog
-* Wed Dec 14 2011 Matěj Cepl <mcepl at redhat.com> 0.3.1-2
-- Make the package building with exiv 0.18.2 on EL-6 (#753322)
+* Fri Nov 11 2011 'Matěj Cepl <mcepl at redhat.com>' - 0.3.2-1
+- New upstream release.
+- Some tests need to be switched because of incompatibility with exiv 0.18.2
* Fri Nov 11 2011 'Matěj Cepl <mcepl at redhat.com>' - 0.3.1-1
- Add pytz to the BuildRequires (so that more tests are run).
diff --git a/sources b/sources
index 43f6793..fd41d4f 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-e9c868dd6f46ea4b8091d651b8e1fda7 pyexiv2-0.3.1.tar.bz2
+9c0377ca4cf7d5ceeee994af0b5536ae pyexiv2-0.3.2.tar.bz2
More information about the scm-commits
mailing list