rev 18333 - in kde-extras/exiv2/tags/0.19-2/debian: . patches source
Mark Purcell
msp at alioth.debian.org
Mon Jun 14 02:01:12 UTC 2010
Author: msp
Date: 2010-06-14 02:01:06 +0000 (Mon, 14 Jun 2010)
New Revision: 18333
Added:
kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2017.diff
kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2018.diff
kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2019.diff
kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2020.diff
kde-extras/exiv2/tags/0.19-2/debian/source/
kde-extras/exiv2/tags/0.19-2/debian/source/format
Modified:
kde-extras/exiv2/tags/0.19-2/debian/changelog
kde-extras/exiv2/tags/0.19-2/debian/control
kde-extras/exiv2/tags/0.19-2/debian/patches/series
kde-extras/exiv2/tags/0.19-2/debian/rules
Log:
* Backport upstream Nikon Makernote regression fix (Closes: #579835)
- changeset 2017-2020
* source/format -> 3.0 (quilt)
* Drop inactive Uploaders
* Standards-Version: 3.8.3 - no changes
* debian/rules Added dh --parallel
Modified: kde-extras/exiv2/tags/0.19-2/debian/changelog
===================================================================
--- kde-extras/exiv2/tags/0.19-2/debian/changelog 2010-06-14 01:14:58 UTC (rev 18332)
+++ kde-extras/exiv2/tags/0.19-2/debian/changelog 2010-06-14 02:01:06 UTC (rev 18333)
@@ -1,3 +1,14 @@
+exiv2 (0.19-2) unstable; urgency=low
+
+ * Backport upstream Nikon Makernote regression fix (Closes: #579835)
+ - changeset 2017-2020
+ * source/format -> 3.0 (quilt)
+ * Drop inactive Uploaders
+ * Standards-Version: 3.8.3 - no changes
+ * debian/rules Added dh --parallel
+
+ -- Mark Purcell <msp at debian.org> Mon, 14 Jun 2010 11:46:28 +1000
+
exiv2 (0.19-1) unstable; urgency=low
* New upstream release
Modified: kde-extras/exiv2/tags/0.19-2/debian/control
===================================================================
--- kde-extras/exiv2/tags/0.19-2/debian/control 2010-06-14 01:14:58 UTC (rev 18332)
+++ kde-extras/exiv2/tags/0.19-2/debian/control 2010-06-14 02:01:06 UTC (rev 18333)
@@ -2,12 +2,12 @@
Section: graphics
Priority: optional
Maintainer: Debian KDE Extras Team <pkg-kde-extras at lists.alioth.debian.org>
-Uploaders: KELEMEN Peter <fuji at debian.org>, Mark Purcell <msp at debian.org>, Fathi Boudra <fabo at debian.org>
-Build-Depends: debhelper (>= 7), quilt, chrpath,
+Uploaders: Mark Purcell <msp at debian.org>, Fathi Boudra <fabo at debian.org>
+Build-Depends: debhelper (>= 7.0.50~), chrpath,
autotools-dev, libexpat1-dev, zlib1g-dev,
libexpat1-dev,
doxygen, graphviz, python, xsltproc
-Standards-Version: 3.8.2
+Standards-Version: 3.8.4
Homepage: http://www.exiv2.org
Vcs-Browser: http://svn.debian.org/wsvn/pkg-kde/kde-extras/exiv2/trunk
Vcs-Svn: svn://svn.debian.org/pkg-kde/kde-extras/exiv2/trunk
Added: kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2017.diff
===================================================================
--- kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2017.diff (rev 0)
+++ kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2017.diff 2010-06-14 02:01:06 UTC (rev 18333)
@@ -0,0 +1,55 @@
+Index: trunk/src/exif.cpp
+===================================================================
+--- trunk/src/exif.cpp (revision 2016)
++++ trunk/src/exif.cpp (revision 2017)
+@@ -601,12 +601,12 @@
+
+ void ExifData::sortByKey()
+ {
+- std::sort(exifMetadata_.begin(), exifMetadata_.end(), cmpMetadataByKey);
++ exifMetadata_.sort(cmpMetadataByKey);
+ }
+
+ void ExifData::sortByTag()
+ {
+- std::sort(exifMetadata_.begin(), exifMetadata_.end(), cmpMetadataByTag);
++ exifMetadata_.sort(cmpMetadataByTag);
+ }
+
+ ExifData::iterator ExifData::erase(ExifData::iterator beg, ExifData::iterator end)
+Index: trunk/src/exif.hpp
+===================================================================
+--- trunk/src/exif.hpp (revision 2016)
++++ trunk/src/exif.hpp (revision 2017)
+@@ -38,7 +38,7 @@
+
+ // + standard includes
+ #include <string>
+-#include <vector>
++#include <list>
+ #include <memory>
+
+ // *****************************************************************************
+@@ -423,7 +423,7 @@
+ }; // class ExifThumb
+
+ //! Container type to hold all metadata
+- typedef std::vector<Exifdatum> ExifMetadata;
++ typedef std::list<Exifdatum> ExifMetadata;
+
+ /*!
+ @brief A container for Exif data. This is a top-level class of the %Exiv2
+Index: trunk/src/tiffcomposite.cpp
+===================================================================
+--- trunk/src/tiffcomposite.cpp (revision 2016)
++++ trunk/src/tiffcomposite.cpp (revision 2017)
+@@ -161,8 +161,7 @@
+
+ bool TiffGroupInfo::operator==(const std::string& groupName) const
+ {
+- std::string name(name_);
+- return name == groupName;
++ return 0 == strcmp(name_, groupName.c_str());
+ }
+
+ const char* tiffGroupName(uint16_t group)
Added: kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2018.diff
===================================================================
--- kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2018.diff (rev 0)
+++ kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2018.diff 2010-06-14 02:01:06 UTC (rev 18333)
@@ -0,0 +1,111 @@
+Index: trunk/src/tiffvisitor.cpp
+===================================================================
+--- trunk/src/tiffvisitor.cpp (revision 2017)
++++ trunk/src/tiffvisitor.cpp (revision 2018)
+@@ -434,7 +434,7 @@
+ : exifData_(exifData),
+ iptcData_(iptcData),
+ xmpData_(xmpData),
+- del_(true),
++ count_(0),
+ pRoot_(pRoot),
+ pSourceTree_(0),
+ byteOrder_(byteOrder),
+@@ -555,7 +555,8 @@
+
+ bool TiffEncoder::dirty() const
+ {
+- if (dirty_ || exifData_.count() > 0) return true;
++ assert(!(count_ > exifData_.count()));
++ if (dirty_ || count_ != exifData_.count()) return true;
+ return false;
+ }
+
+@@ -630,7 +631,7 @@
+ if (!object->mn_) {
+ encodeTiffComponent(object);
+ }
+- else if (del_) {
++ else {
+ // The makernote is made up of decoded tags, delete binary tag
+ ExifKey key(object->tag(), tiffGroupName(object->group()));
+ ExifData::iterator pos = exifData_.findKey(key);
+@@ -642,7 +643,7 @@
+ {
+ assert(object != 0);
+
+- ExifData::iterator pos = exifData_.findKey(ExifKey("Exif.MakerNote.ByteOrder"));
++ ExifData::const_iterator pos = exifData_.findKey(ExifKey("Exif.MakerNote.ByteOrder"));
+ if (pos != exifData_.end()) {
+ // Set Makernote byte order
+ ByteOrder bo = stringToByteOrder(pos->toString());
+@@ -650,17 +651,15 @@
+ object->setByteOrder(bo);
+ setDirty();
+ }
+- if (del_) exifData_.erase(pos);
++ ++count_;
+ }
+- if (del_) {
+- // Remove remaining synthesized tags
+- static const char* synthesizedTags[] = {
+- "Exif.MakerNote.Offset",
+- };
+- for (unsigned int i = 0; i < EXV_COUNTOF(synthesizedTags); ++i) {
+- ExifData::iterator pos = exifData_.findKey(ExifKey(synthesizedTags[i]));
+- if (pos != exifData_.end()) exifData_.erase(pos);
+- }
++ // Count remaining synthesized tags
++ static const char* synthesizedTags[] = {
++ "Exif.MakerNote.Offset",
++ };
++ for (unsigned int i = 0; i < EXV_COUNTOF(synthesizedTags); ++i) {
++ ExifData::iterator pos = exifData_.findKey(ExifKey(synthesizedTags[i]));
++ if (pos != exifData_.end()) ++count_;
+ }
+ // Modify encoder for Makernote peculiarities, byte order
+ byteOrder_ = object->byteOrder();
+@@ -718,7 +717,7 @@
+ {
+ assert(object != 0);
+
+- ExifData::iterator pos = exifData_.end();
++ ExifData::const_iterator pos = exifData_.end();
+ const Exifdatum* ed = datum;
+ if (ed == 0) {
+ // Non-intrusive writing: find matching tag
+@@ -761,9 +760,7 @@
+ object->encode(*this, ed);
+ }
+ }
+- if (del_ && pos != exifData_.end()) {
+- exifData_.erase(pos);
+- }
++ if (pos != exifData_.end()) ++count_;
+ #ifdef DEBUG
+ std::cerr << "\n";
+ #endif
+@@ -965,10 +962,6 @@
+ writeMethod_ = wmIntrusive;
+ pSourceTree_ = pSourceDir;
+
+- // Ensure that the exifData_ entries are not deleted, to be able to
+- // iterate over all remaining entries.
+- del_ = false;
+-
+ ExifData::const_iterator posBo = exifData_.end();
+ for (ExifData::const_iterator i = exifData_.begin();
+ i != exifData_.end(); ++i) {
+Index: trunk/src/tiffvisitor_int.hpp
+===================================================================
+--- trunk/src/tiffvisitor_int.hpp (revision 2017)
++++ trunk/src/tiffvisitor_int.hpp (revision 2018)
+@@ -493,7 +493,7 @@
+ ExifData exifData_; //!< Copy of the Exif data to encode
+ const IptcData& iptcData_; //!< IPTC data to encode, just a reference
+ const XmpData& xmpData_; //!< XMP data to encode, just a reference
+- bool del_; //!< Indicates if Exif data entries should be deleted after encoding
++ long count_; //!< Counter for processed Exifdata elements
+ TiffComponent* pRoot_; //!< Root element of the composite
+ TiffComponent* pSourceTree_; //!< Parsed source tree for reference
+ ByteOrder byteOrder_; //!< Byteorder for encoding
Added: kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2019.diff
===================================================================
--- kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2019.diff (rev 0)
+++ kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2019.diff 2010-06-14 02:01:06 UTC (rev 18333)
@@ -0,0 +1,111 @@
+Index: trunk/src/tiffvisitor.cpp
+===================================================================
+--- trunk/src/tiffvisitor.cpp (revision 2018)
++++ trunk/src/tiffvisitor.cpp (revision 2019)
+@@ -434,7 +434,7 @@
+ : exifData_(exifData),
+ iptcData_(iptcData),
+ xmpData_(xmpData),
+- count_(0),
++ del_(true),
+ pRoot_(pRoot),
+ pSourceTree_(0),
+ byteOrder_(byteOrder),
+@@ -555,8 +555,7 @@
+
+ bool TiffEncoder::dirty() const
+ {
+- assert(!(count_ > exifData_.count()));
+- if (dirty_ || count_ != exifData_.count()) return true;
++ if (dirty_ || exifData_.count() > 0) return true;
+ return false;
+ }
+
+@@ -631,7 +630,7 @@
+ if (!object->mn_) {
+ encodeTiffComponent(object);
+ }
+- else {
++ else if (del_) {
+ // The makernote is made up of decoded tags, delete binary tag
+ ExifKey key(object->tag(), tiffGroupName(object->group()));
+ ExifData::iterator pos = exifData_.findKey(key);
+@@ -643,7 +642,7 @@
+ {
+ assert(object != 0);
+
+- ExifData::const_iterator pos = exifData_.findKey(ExifKey("Exif.MakerNote.ByteOrder"));
++ ExifData::iterator pos = exifData_.findKey(ExifKey("Exif.MakerNote.ByteOrder"));
+ if (pos != exifData_.end()) {
+ // Set Makernote byte order
+ ByteOrder bo = stringToByteOrder(pos->toString());
+@@ -651,15 +650,17 @@
+ object->setByteOrder(bo);
+ setDirty();
+ }
+- ++count_;
++ if (del_) exifData_.erase(pos);
+ }
+- // Count remaining synthesized tags
+- static const char* synthesizedTags[] = {
+- "Exif.MakerNote.Offset",
+- };
+- for (unsigned int i = 0; i < EXV_COUNTOF(synthesizedTags); ++i) {
+- ExifData::iterator pos = exifData_.findKey(ExifKey(synthesizedTags[i]));
+- if (pos != exifData_.end()) ++count_;
++ if (del_) {
++ // Remove remaining synthesized tags
++ static const char* synthesizedTags[] = {
++ "Exif.MakerNote.Offset",
++ };
++ for (unsigned int i = 0; i < EXV_COUNTOF(synthesizedTags); ++i) {
++ ExifData::iterator pos = exifData_.findKey(ExifKey(synthesizedTags[i]));
++ if (pos != exifData_.end()) exifData_.erase(pos);
++ }
+ }
+ // Modify encoder for Makernote peculiarities, byte order
+ byteOrder_ = object->byteOrder();
+@@ -717,7 +718,7 @@
+ {
+ assert(object != 0);
+
+- ExifData::const_iterator pos = exifData_.end();
++ ExifData::iterator pos = exifData_.end();
+ const Exifdatum* ed = datum;
+ if (ed == 0) {
+ // Non-intrusive writing: find matching tag
+@@ -760,7 +761,9 @@
+ object->encode(*this, ed);
+ }
+ }
+- if (pos != exifData_.end()) ++count_;
++ if (del_ && pos != exifData_.end()) {
++ exifData_.erase(pos);
++ }
+ #ifdef DEBUG
+ std::cerr << "\n";
+ #endif
+@@ -962,6 +965,10 @@
+ writeMethod_ = wmIntrusive;
+ pSourceTree_ = pSourceDir;
+
++ // Ensure that the exifData_ entries are not deleted, to be able to
++ // iterate over all remaining entries.
++ del_ = false;
++
+ ExifData::const_iterator posBo = exifData_.end();
+ for (ExifData::const_iterator i = exifData_.begin();
+ i != exifData_.end(); ++i) {
+Index: trunk/src/tiffvisitor_int.hpp
+===================================================================
+--- trunk/src/tiffvisitor_int.hpp (revision 2018)
++++ trunk/src/tiffvisitor_int.hpp (revision 2019)
+@@ -493,7 +493,7 @@
+ ExifData exifData_; //!< Copy of the Exif data to encode
+ const IptcData& iptcData_; //!< IPTC data to encode, just a reference
+ const XmpData& xmpData_; //!< XMP data to encode, just a reference
+- long count_; //!< Counter for processed Exifdata elements
++ bool del_; //!< Indicates if Exif data entries should be deleted after encoding
+ TiffComponent* pRoot_; //!< Root element of the composite
+ TiffComponent* pSourceTree_; //!< Parsed source tree for reference
+ ByteOrder byteOrder_; //!< Byteorder for encoding
Added: kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2020.diff
===================================================================
--- kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2020.diff (rev 0)
+++ kde-extras/exiv2/tags/0.19-2/debian/patches/changeset_r2020.diff 2010-06-14 02:01:06 UTC (rev 18333)
@@ -0,0 +1,134 @@
+Index: trunk/src/exif.cpp
+===================================================================
+--- trunk/src/exif.cpp (revision 2019)
++++ trunk/src/exif.cpp (revision 2020)
+@@ -75,7 +75,7 @@
+ }
+
+ private:
+- std::string key_;
++ const std::string& key_;
+
+ }; // class FindExifdatumByKey
+
+Index: trunk/src/types.cpp
+===================================================================
+--- trunk/src/types.cpp (revision 2019)
++++ trunk/src/types.cpp (revision 2020)
+@@ -59,9 +59,15 @@
+ const char* name_; //!< Name of the type
+ long size_; //!< Bytes per data entry
+ //! Comparison operator for \em typeId
+- bool operator==(Exiv2::TypeId typeId) const;
++ bool operator==(Exiv2::TypeId typeId) const
++ {
++ return typeId_ == typeId;
++ }
+ //! Comparison operator for \em name
+- bool operator==(const std::string& name) const;
++ bool operator==(const std::string& name) const
++ {
++ return 0 == strcmp(name_, name.c_str());
++ }
+ }; // struct TypeInfoTable
+
+ //! Lookup list with information of Exiv2 types
+@@ -92,16 +98,6 @@
+ { Exiv2::langAlt, "LangAlt", 1 }
+ };
+
+- bool TypeInfoTable::operator==(Exiv2::TypeId typeId) const
+- {
+- return typeId_ == typeId;
+- }
+-
+- bool TypeInfoTable::operator==(const std::string& name) const
+- {
+- return std::string(name_) == name;
+- }
+-
+ }
+
+ // *****************************************************************************
+Index: trunk/src/tags.cpp
+===================================================================
+--- trunk/src/tags.cpp (revision 2019)
++++ trunk/src/tags.cpp (revision 2020)
+@@ -88,9 +88,7 @@
+
+ bool IfdInfo::operator==(const Item& item) const
+ {
+- const char* i = item.i_.c_str();
+- if (i == 0) return false;
+- return 0 == strcmp(i, item_);
++ return 0 == strcmp(item.i_.c_str(), item_);
+ }
+
+ // Important: IFD item must be unique!
+Index: trunk/src/tiffimage_int.hpp
+===================================================================
+--- trunk/src/tiffimage_int.hpp (revision 2019)
++++ trunk/src/tiffimage_int.hpp (revision 2020)
+@@ -32,6 +32,7 @@
+ // *****************************************************************************
+ // included header files
+ #include "tifffwd_int.hpp"
++#include "tiffcomposite_int.hpp"
+ #include "image.hpp"
+ #include "types.hpp"
+
+@@ -141,9 +142,20 @@
+ defining the TIFF component used for each tag in a group.
+ */
+ struct TiffGroupStruct {
+- struct Key;
++ //! Search key for TIFF group structure.
++ struct Key {
++ //! Constructor
++ Key(uint32_t e, uint16_t g) : e_(e), g_(g) {}
++ uint32_t e_; //!< Extended tag
++ uint16_t g_; //!< %Group
++ };
++
+ //! Comparison operator to compare a TiffGroupStruct with a TiffGroupStruct::Key
+- bool operator==(const Key& key) const;
++ bool operator==(const Key& key) const
++ {
++ return (Tag::all == extendedTag_ || key.e_ == extendedTag_)
++ && key.g_ == group_;
++ }
+ //! Return the tag corresponding to the extended tag
+ uint16_t tag() const { return static_cast<uint16_t>(extendedTag_ & 0xffff); }
+
+@@ -153,14 +165,6 @@
+ NewTiffCompFct newTiffCompFct_; //!< Function to create the correct TIFF component
+ };
+
+- //! Search key for TIFF group structure.
+- struct TiffGroupStruct::Key {
+- //! Constructor
+- Key(uint32_t e, uint16_t g) : e_(e), g_(g) {}
+- uint32_t e_; //!< Extended tag
+- uint16_t g_; //!< %Group
+- };
+-
+ /*!
+ @brief Data structure used as a row of the table which describes TIFF trees.
+ Multiple trees are needed as TIFF-based RAW image formats do not always
+Index: trunk/src/tiffimage.cpp
+===================================================================
+--- trunk/src/tiffimage.cpp (revision 2019)
++++ trunk/src/tiffimage.cpp (revision 2020)
+@@ -1207,12 +1207,6 @@
+ return encoderFct;
+ }
+
+- bool TiffGroupStruct::operator==(const TiffGroupStruct::Key& key) const
+- {
+- return (Tag::all == extendedTag_ || key.e_ == extendedTag_)
+- && key.g_ == group_;
+- }
+-
+ bool TiffTreeStruct::operator==(const TiffTreeStruct::Key& key) const
+ {
+ return key.r_ == root_ && key.g_ == group_;
Modified: kde-extras/exiv2/tags/0.19-2/debian/patches/series
===================================================================
--- kde-extras/exiv2/tags/0.19-2/debian/patches/series 2010-06-14 01:14:58 UTC (rev 18332)
+++ kde-extras/exiv2/tags/0.19-2/debian/patches/series 2010-06-14 02:01:06 UTC (rev 18333)
@@ -1 +1,5 @@
00_hyphens_used_as_minus.diff
+changeset_r2017.diff
+changeset_r2018.diff
+changeset_r2019.diff
+changeset_r2020.diff
Modified: kde-extras/exiv2/tags/0.19-2/debian/rules
===================================================================
--- kde-extras/exiv2/tags/0.19-2/debian/rules 2010-06-14 01:14:58 UTC (rev 18332)
+++ kde-extras/exiv2/tags/0.19-2/debian/rules 2010-06-14 02:01:06 UTC (rev 18333)
@@ -5,7 +5,7 @@
URL = http://www.exiv2.org/$(UPFILENAME)
%:
- dh --with quilt $@
+ dh --parallel $@
override_dh_auto_configure:
dh_auto_configure -- --disable-rpath
Added: kde-extras/exiv2/tags/0.19-2/debian/source/format
===================================================================
--- kde-extras/exiv2/tags/0.19-2/debian/source/format (rev 0)
+++ kde-extras/exiv2/tags/0.19-2/debian/source/format 2010-06-14 02:01:06 UTC (rev 18333)
@@ -0,0 +1 @@
+3.0 (quilt)
More information about the pkg-kde-commits
mailing list