From fe0b317b95e3dec8e5b9ed4a69a7983c2a3036c8 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mar 29 2011 13:07:23 +0000 Subject: Merge remote-tracking branch 'origin/f15/master' into f14/master Conflicts: exiv2.spec --- diff --git a/.gitignore b/.gitignore index 8f8d0ef..d0434e9 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -exiv2-0.20.tar.gz +/exiv2-0.21.1.tar.gz diff --git a/bug752-exiv2-0.20.patch b/bug752-exiv2-0.20.patch deleted file mode 100644 index 97397e4..0000000 --- a/bug752-exiv2-0.20.patch +++ /dev/null @@ -1,171 +0,0 @@ -Index: trunk/src/tiffcomposite_int.hpp -=================================================================== ---- trunk/src/tiffcomposite_int.hpp (revision 2434) -+++ trunk/src/tiffcomposite_int.hpp (revision 2435) -@@ -1403,6 +1403,8 @@ - void iniOrigDataBuf(); - //! Update the original data buffer and its size, return true if successful. - bool updOrigDataBuf(const byte* pData, uint32_t size); -+ //! Set a flag to indicate if the array was decoded -+ void setDecoded(bool decoded) { decoded_ = decoded; } - //@} - - //! @name Accessors -@@ -1413,6 +1415,8 @@ - const ArrayDef* def() const { return arrayDef_; } - //! Return the number of elements in the definition - int defSize() const { return defSize_; } -+ //! Return the flag which indicates if the array was decoded -+ bool decoded() const { return decoded_; } - //@} - - protected: -@@ -1481,6 +1485,7 @@ - byte* origData_; //!< Pointer to the original data buffer (unencrypted) - uint32_t origSize_; //!< Size of the original data buffer - TiffComponent* pRoot_; //!< Pointer to the root component of the TIFF tree. (Only used for intrusive writing.) -+ bool decoded_; //!< Flag to indicate if the array was decoded - }; // class TiffBinaryArray - - /*! -Index: trunk/src/tiffcomposite.cpp -=================================================================== ---- trunk/src/tiffcomposite.cpp (revision 2434) -+++ trunk/src/tiffcomposite.cpp (revision 2435) -@@ -143,7 +143,8 @@ - setSize_(0), - origData_(0), - origSize_(0), -- pRoot_(0) -+ pRoot_(0), -+ decoded_(false) - { - assert(arrayCfg != 0); - } -@@ -162,7 +163,8 @@ - setSize_(setSize), - origData_(0), - origSize_(0), -- pRoot_(0) -+ pRoot_(0), -+ decoded_(false) - { - // We'll figure out the correct cfg later - assert(cfgSelFct != 0); -@@ -282,7 +284,8 @@ - setSize_(rhs.setSize_), - origData_(rhs.origData_), - origSize_(rhs.origSize_), -- pRoot_(rhs.pRoot_) -+ pRoot_(rhs.pRoot_), -+ decoded_(false) - { - } - -@@ -841,6 +844,7 @@ - { - TiffComponent* tc = tiffComponent.release(); - elements_.push_back(tc); -+ setDecoded(true); - return tc; - } // TiffBinaryArray::doAddChild - -@@ -1036,7 +1040,7 @@ - - uint32_t TiffBinaryArray::doCount() const - { -- if (cfg() == 0) return TiffEntryBase::doCount(); -+ if (cfg() == 0 || !decoded()) return TiffEntryBase::doCount(); - - if (elements_.empty()) return 0; - -@@ -1366,12 +1370,12 @@ - uint32_t dataIdx, - uint32_t& imageIdx) - { -- if (cfg() == 0) return TiffEntryBase::doWrite(ioWrapper, -- byteOrder, -- offset, -- valueIdx, -- dataIdx, -- imageIdx); -+ if (cfg() == 0 || !decoded()) return TiffEntryBase::doWrite(ioWrapper, -+ byteOrder, -+ offset, -+ valueIdx, -+ dataIdx, -+ imageIdx); - if (cfg()->byteOrder_ != invalidByteOrder) byteOrder = cfg()->byteOrder_; - // Tags must be sorted in ascending order - std::sort(elements_.begin(), elements_.end(), cmpTagLt); -@@ -1681,7 +1685,7 @@ - - uint32_t TiffBinaryArray::doSize() const - { -- if (cfg() == 0) return TiffEntryBase::doSize(); -+ if (cfg() == 0 || !decoded()) return TiffEntryBase::doSize(); - - if (elements_.empty()) return 0; - -Index: trunk/src/tiffvisitor.cpp -=================================================================== ---- trunk/src/tiffvisitor.cpp (revision 2434) -+++ trunk/src/tiffvisitor.cpp (revision 2435) -@@ -496,7 +496,7 @@ - - void TiffDecoder::visitBinaryArray(TiffBinaryArray* object) - { -- if (object->cfg() == 0) { -+ if (object->cfg() == 0 || !object->decoded()) { - decodeTiffEntry(object); - } - } -@@ -765,15 +765,18 @@ - - } // TiffEncoder::visitIfdMakernoteEnd - -- void TiffEncoder::visitBinaryArray(TiffBinaryArray* /*object*/) -+ void TiffEncoder::visitBinaryArray(TiffBinaryArray* object) - { -- // Nothing to do -+ if (object->cfg() == 0 || !object->decoded()) { -+ encodeTiffComponent(object); -+ } - } - - void TiffEncoder::visitBinaryArrayEnd(TiffBinaryArray* object) - { - assert(object != 0); - -+ if (object->cfg() == 0 || !object->decoded()) return; - int32_t size = object->TiffEntryBase::doSize(); - if (size == 0) return; - if (!object->initialize(pRoot_)) return; -@@ -1550,10 +1553,26 @@ - return; - } - -+ // Check duplicates -+ TiffFinder finder(object->tag(), object->group()); -+ pRoot_->accept(finder); -+ TiffEntryBase* te = dynamic_cast(finder.result()); -+ if (te && te->idx() != object->idx()) { -+#ifndef SUPPRESS_WARNINGS -+ std::cerr << "Not decoding duplicate binary array tag 0x" -+ << std::setw(4) << std::setfill('0') << std::hex -+ << object->tag() << std::dec << ", group " -+ << tiffGroupName(object->group()) << ", idx " << object->idx() -+ << "\n"; -+#endif -+ object->setDecoded(false); -+ return; -+ } -+ - if (object->TiffEntryBase::doSize() == 0) return; - if (!object->initialize(pRoot_)) return; -- - const ArrayCfg* cfg = object->cfg(); -+ if (cfg == 0) return; - - const CryptFct cryptFct = cfg->cryptFct_; - if (cryptFct != 0) { diff --git a/exiv2-0.20-deps.patch b/exiv2-0.20-deps.patch deleted file mode 100644 index 7d6b205..0000000 --- a/exiv2-0.20-deps.patch +++ /dev/null @@ -1,37 +0,0 @@ -diff -up exiv2-0.20/src/Makefile.deps exiv2-0.20/src/Makefile ---- exiv2-0.20/src/Makefile.deps 2010-05-25 10:25:02.000000000 -0500 -+++ exiv2-0.20/src/Makefile 2010-05-30 13:33:38.181957187 -0500 -@@ -195,11 +195,19 @@ $(CCOBJ): %.o: %.cpp - @$(LIBTOOL) --mode=compile $(COMPILE.cc) -DEXV_BUILDING_LIB=1 -o $@ $< - @$(MAKEDEPEND) - @$(POSTDEPEND) -+# The dependancies here are wrong. It generates .lo output, -+# so things are rebuilt *every* time 'make' is called. -+# Let's try a quick-n-dirty hack -- Rex -+ touch $@ - - $(COBJ): %.o: %.c - @$(LIBTOOL) --mode=compile $(COMPILE.c) -DEXV_BUILDING_LIB=1 -o $@ $< - @$(MAKEDEPEND) - @$(POSTDEPEND) -+# The dependancies here are wrong. It generates .lo output, -+# so things are rebuilt *every* time 'make' is called. -+# Let's try a quick-n-dirty hack -- Rex -+ touch $@ - - $(sort $(BINOBJ) $(EXIV2OBJ) $(MCOBJ) path-test.o): %.o: %.cpp - $(COMPILE.cc) -o $@ $< -diff -up exiv2-0.20/xmpsdk/src/Makefile.deps exiv2-0.20/xmpsdk/src/Makefile ---- exiv2-0.20/xmpsdk/src/Makefile.deps 2010-04-03 02:53:30.000000000 -0500 -+++ exiv2-0.20/xmpsdk/src/Makefile 2010-05-30 13:36:16.004947131 -0500 -@@ -108,6 +108,10 @@ $(CCOBJ): %.o: %.cpp - @$(LIBTOOL) --mode=compile $(COMPILE.cc) -o $@ $< - @$(MAKEDEPEND) - @$(POSTDEPEND) -+ # The dependancies here are wrong. It generates .lo output, -+ # so things are rebuilt *every* time 'make' is called. -+ # Let's try a quick-n-dirty hack -- Rex -+ @touch $@ - - %.ii: %.cpp - set -e; \ diff --git a/exiv2.spec b/exiv2.spec index ba6d4cd..ead19b3 100644 --- a/exiv2.spec +++ b/exiv2.spec @@ -1,8 +1,8 @@ Summary: Exif and Iptc metadata manipulation library Name: exiv2 -Version: 0.20 -Release: 3%{?dist} +Version: 0.21.1 +Release: 1%{?dist} License: GPLv2+ Group: Applications/Multimedia @@ -18,13 +18,6 @@ BuildRequires: zlib-devel # docs #BuildRequires: doxygen graphviz libxslt -Patch1: exiv2-0.20-deps.patch - -## upstream patches -# Crash when writing Exif.Image.Software -# http://dev.exiv2.org/issues/752 -Patch100: bug752-exiv2-0.20.patch - Requires: %{name}-libs%{?_isa} = %{version}-%{release} @@ -60,9 +53,6 @@ methods for Exif thumbnails, classes to access Ifd and so on. %prep %setup -q -n %{name}-%{version}%{?pre:-%{pre}} -%patch1 -p1 -b .deps -%patch100 -p1 -b .bug752 - mkdir doc/html @@ -82,10 +72,11 @@ make install DESTDIR=%{buildroot} %find_lang exiv2 ## Unpackaged files -rm -f %{buildroot}%{_libdir}/lib*.la +rm -fv %{buildroot}%{_libdir}/libexiv2.la ## fix perms on installed lib -chmod 755 %{buildroot}%{_libdir}/lib*.so* +ls -l %{buildroot}%{_libdir}/libexiv2.so.* +chmod 755 %{buildroot}%{_libdir}/libexiv2.so.* ## nuke rpaths chrpath --list %{buildroot}%{_bindir}/exiv2 && \ @@ -114,7 +105,7 @@ rm -rf %{buildroot} %files libs -f exiv2.lang %defattr(-,root,root,-) -%{_libdir}/libexiv2.so.9* +%{_libdir}/libexiv2.so.10* %files devel %defattr(-,root,root,-) @@ -125,12 +116,18 @@ rm -rf %{buildroot} %changelog -* Tue Feb 15 2011 Rex Dieter 0.20-3 -- Crash when writing Exif.Image.Software (#628182, exiv#752) +* Sat Feb 26 2011 Rex Dieter 0.21.1-1 +- exiv2-0.21.1 -* Wed Jan 26 2011 Rex Dieter - 0.20-2 +* Tue Feb 08 2011 Fedora Release Engineering - 0.21-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Wed Jan 26 2011 Rex Dieter 0.21-2 - Move ldconfig scriptlet calls to -libs (#672361) +* Wed Dec 01 2010 Rex Dieter - 0.21-1 +- exiv2-0.21 + * Sun May 30 2010 Rex Dieter - 0.20-1 - exiv2-0.20 diff --git a/sources b/sources index b4d73fa..98fbb07 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3173d08a4313dc94b7bd1b7cdbda2093 exiv2-0.20.tar.gz +5c99bbcaa998f6b200b92f2bf0ac4f9e exiv2-0.21.1.tar.gz