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