Bug 286611 - Tags are losts randomly when converting TIFF to PNG
Summary: Tags are losts randomly when converting TIFF to PNG
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Plugin-Bqm-Convert (show other bugs)
Version: 2.3.0
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-11-14 18:48 UTC by philippe.quaglia
Modified: 2016-07-04 08:29 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 4.6.0


Attachments
On this example, tagged tiff and png are shown. Note that the rated images have their tag correctly transfered. However, in other try, it was not always the case (765.57 KB, image/png)
2011-11-14 18:48 UTC, philippe.quaglia
Details
Patch for Exiv2, adding a few additional log messages to FileIo::transfer() (1.21 KB, patch)
2012-03-08 14:50 UTC, Andreas Huggel
Details
Patch against SVN trunk to fix compilation on MSVC with KDE Windows (3.91 KB, patch)
2012-03-09 15:24 UTC, Ananta Palani
Details

Note You need to log in before you can comment on or make changes to this bug.
Description philippe.quaglia 2011-11-14 18:48:07 UTC
Created attachment 65668 [details]
On this example, tagged tiff and png are shown. Note that the rated images have their tag correctly transfered. However, in other try, it was not always the case

Version:           2.3.0
OS:                Linux

When converting tagged Tiff image to Png with the "convert to png" tool included in the batch queue manager, the new Png images sometimes have the tags, sometimes does not, and even once get a tag previously removed from the tiff image.

Reproducible: Always

Steps to Reproduce:
Send some tagged tiff images into the batch queue manager. Convert to png. Compare the tags on the resulting png images.

Actual Results:  
Png images does not have the tags, or only some of them

Expected Results:  
Png images should have the same tags than the original tiff images.

See the attached screencapture.
Comment 1 caulier.gilles 2011-11-15 12:18:43 UTC
This is strange because all code to move digiKam image properties from source to target image exist in BQM :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/42a2f8c95c6f27f1d28bdef310d1f95aad635f27/entry/utilities/queuemanager/main/queuemgrwindow.cpp#L1111

Marcel, i see 2 possible issues here

1/ A race condition with DB registration of new item. Typically if database as registered the new PNG file created by BQM, properties will be transfered, else no. But ScanController::scanFileDirectlyCopyAttributes() is not able to wait until item is registred to DB, or force item to be registered in all case ?

2/ A problem with metadatahub or another metadata management class, where a confusion exist with, Rating, Labels, and Tags to transfert from orignal to target image.

Philipe :

* do you tried some metadata rules when you converting.

1/ a TIFF image with rating as rating in PNG
2/ a TIFF image with rating+tags as rating+tags in PNG
3/ a TIFF image with rating+labels as rating+labels in PNG
4/ a TIFF image with tags+labels as tags+labels in PNG
5/ a TIFF image with rating+tags+labels as rating+tags+labels in PNG

Note : by "Labels", i want mean a color label or a Pick label that you can assign to an image using Captions/Tags from right sidebar...

* Do you tried to convert TIFF to JPEG ? It's the same problem ?

* Do you tried to convert JPEG tagged images to TIFF or PNG ?  It's the same problem ?

Gilles Caulier
Comment 2 philippe.quaglia 2011-11-18 17:28:12 UTC
Hello Gilles and Marcel
I have been doing some additionnal tests, and I attach also some 
screenshots:

1/ a TIFF image with rating as rating in PNG
2/ a TIFF image with rating+tags as rating+tags in PNG

     See the firstscreenshot (RatedTifftoPNG): tags are not copied, 
while the ratings are well copied.

3/ a TIFF image with rating+labels as rating+labels in PNG
4/ a TIFF image with tags+labels as tags+labels in PNG

     See the screeshot "tagsandlabels". Here, some labels are copied, 
some not. Also, some tags are copied, while it is the same image and the 
same configuration than in the previous example. Really strange !


5/ a TIFF image with rating+tags+labels as rating+tags+labels in PNG

And also TIFF -> JPG

     See the screenshot "FullTiffJpeg": still a big mess: no tags are 
assigned to the Jpeg, while some png get there tags. The color label is 
never transfered to the jpeg, while some png get it. The label is well 
transfered to all the jpeg, and to some of the png, and the rating is 
always transfered to both tiff and png.

Jpeg to Tiff

I have copied the previous JPEG to a new folder, and converted them back 
to TIFF, as shown in the JpegtoTiff screenshot. As you can see, 
strangely, for the picture "vanoise1998", there was no tags or color 
label in the JPEG, but they appears back on the tiff during the 
conversion. It's like if they are stored in the picture, but not 
displayed properly by digikam, and they appear back after the second 
conversion. Unfortunately, this is not the case for the other pictures.
Last try, with an other folder with "clean" jpg with tags, converting 
them to Tiff once again results in a random assignation of the tags: 
some are transfered, some are not.


I hope this helps.
Best regards.


Le 15/11/2011 13:18, Gilles Caulier a écrit :
> https://bugs.kde.org/show_bug.cgi?id=286611
>
>
> Gilles Caulier<caulier.gilles@gmail.com>  changed:
>
>             What    |Removed                     |Added
> ----------------------------------------------------------------------------
>            Component|Tags                        |Batch Queue Manager
>
>
>
>
> --- Comment #1 from Gilles Caulier<caulier gilles gmail com>   2011-11-15 12:18:43 ---
> This is strange because all code to move digiKam image properties from source
> to target image exist in BQM :
>
> https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/42a2f8c95c6f27f1d28bdef310d1f95aad635f27/entry/utilities/queuemanager/main/queuemgrwindow.cpp#L1111
>
> Marcel, i see 2 possible issues here
>
> 1/ A race condition with DB registration of new item. Typically if database as
> registered the new PNG file created by BQM, properties will be transfered, else
> no. But ScanController::scanFileDirectlyCopyAttributes() is not able to wait
> until item is registred to DB, or force item to be registered in all case ?
>
> 2/ A problem with metadatahub or another metadata management class, where a
> confusion exist with, Rating, Labels, and Tags to transfert from orignal to
> target image.
>
> Philipe :
>
> * do you tried some metadata rules when you converting.
>
> 1/ a TIFF image with rating as rating in PNG
> 2/ a TIFF image with rating+tags as rating+tags in PNG
> 3/ a TIFF image with rating+labels as rating+labels in PNG
> 4/ a TIFF image with tags+labels as tags+labels in PNG
> 5/ a TIFF image with rating+tags+labels as rating+tags+labels in PNG
>
> Note : by "Labels", i want mean a color label or a Pick label that you can
> assign to an image using Captions/Tags from right sidebar...
>
> * Do you tried to convert TIFF to JPEG ? It's the same problem ?
>
> * Do you tried to convert JPEG tagged images to TIFF or PNG ?  It's the same
> problem ?
>
> Gilles Caulier
>
Comment 3 Marcel Wiesweg 2012-02-20 20:57:32 UTC
We should clean up a few issues, take some substantial changes introduced since 2.3 and then aim at a reevaluation of this bug once 2.6.0 is released.
(Phillippe, may you be able to test this again when 2.6.0 is released?)

Gilles: Is there a place in BQM where the temporary filename of the destination file is generated? I would like to make the collection scanner ignore these temp files.
Comment 4 caulier.gilles 2012-02-20 21:59:15 UTC
Marcel,

There are more than on e temporally files created when Batch Tool are applied to an item.

A list of url host all of these here :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/queuemanager/manager/actionthread.cpp#L181

All temp files are created for each tool processed in loop. This list is used at end to remove all of from hard-drive, excepted last one which is the target file . In case of all is processed successively, this one is not deleted :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/queuemanager/manager/actionthread.cpp#L268

... and all others can be deleted as well here :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/queuemanager/manager/actionthread.cpp#L281

I hope that help you to ignore these files with collection scanner.

Gilles
Comment 5 philippe.quaglia 2012-02-21 18:11:57 UTC
Hello Marcel,
No problem, I will perform some tests with 2.6.0 when available.
Best regards

Le 20/02/2012 21:57, Marcel Wiesweg a écrit :
> https://bugs.kde.org/show_bug.cgi?id=286611
>
>
>
>
>
> --- Comment #3 from Marcel Wiesweg<marcel wiesweg gmx de>   2012-02-20 20:57:32 ---
> We should clean up a few issues, take some substantial changes introduced since
> 2.3 and then aim at a reevaluation of this bug once 2.6.0 is released.
> (Phillippe, may you be able to test this again when 2.6.0 is released?)
>
> Gilles: Is there a place in BQM where the temporary filename of the destination
> file is generated? I would like to make the collection scanner ignore these
> temp files.
>
Comment 6 caulier.gilles 2012-02-21 18:41:17 UTC
Philippe,

2.6.0 will be availlabe as stable only in a few months not before.

I recommend you to check with current git/master implementation.

http://www.digikam.org/drupal/download?q=download/GIT

Gilles Caulier
Comment 7 Marcel Wiesweg 2012-02-27 21:39:54 UTC
Git commit bc72f7ae707dc0941f27ae26acf3b6e46af81751 by Marcel Wiesweg.
Committed on 27/02/2012 at 20:16.
Pushed by mwiesweg into branch 'master'.

Use temp file creation based on QTemporaryFile for BQM.
Use SafeTemporaryFile for JpegRotator.

M  +1    -4    libs/jpegutils/jpegutils.cpp
M  +13   -16   utilities/queuemanager/manager/batchtool.cpp

http://commits.kde.org/digikam/bc72f7ae707dc0941f27ae26acf3b6e46af81751
Comment 8 Ananta Palani 2012-02-29 10:40:03 UTC
(In reply to comment #3)
> We should clean up a few issues, take some substantial changes introduced since
> 2.3 and then aim at a reevaluation of this bug once 2.6.0 is released.
> (Phillippe, may you be able to test this again when 2.6.0 is released?)
> 
> Gilles: Is there a place in BQM where the temporary filename of the destination
> file is generated? I would like to make the collection scanner ignore these
> temp files.

Could we do something similar with other temporary files? I've encountered problems when tagging, especially when doing face tagging, where I apply a tag and switch to another image. The old image gets renamed to a temp file, but the new image is never created and digikam thinks the image is still there (i.e. it is still listed in the album, but no longer on disk, except as the temp file). I'm not sure this is caused by the collection scanner, but it seems to me all temp files should be written outside the scope of the albums.
Comment 9 caulier.gilles 2012-02-29 13:26:34 UTC
Ananta,

Yes, i think Marcel plan do patch all Ktemporary file use in digiKam by the same way. For ex, Camera Interface need to be patched like this...

Gilles Caulier
Comment 10 Marcel Wiesweg 2012-02-29 21:47:18 UTC
Yet there is no temp file involved with face tagging or any other tagging, asaik. Or does exiv2 use a temp file? I think it writes in-place.
Comment 11 caulier.gilles 2012-02-29 22:00:17 UTC
For tagging, there is no temp file. By I think Ananta said about temp file created by ImageEditor :

https://projects.kde.org/projects/extragear/graphics/digikam/repository/revisions/master/entry/utilities/imageeditor/editor/editorwindow.cpp#L1984

I think this instance must be patched as in BQM.

About Exiv2, i'm not sure... I remember something about temp file created somewhere by Exiv2 when image metadata are touch... Andreas can you confirm ?

Gilles Caulier
Comment 12 caulier.gilles 2012-02-29 22:07:51 UTC
Marcel,

Look in my Exiv2 PNG parser implementation. If i remember, to write metadata, before to touch original, a temp file is created. We touch it in first, and if all is fine, it will replace original at end...

http://dev.exiv2.org/projects/exiv2/repository/entry/trunk/src/pngimage.cpp#L228

Andreas can probably confirm that...

Gilles
Comment 13 Marcel Wiesweg 2012-03-01 21:20:43 UTC
Git commit 28a925833d5b9cd098960d27f7a05bba556d0b1e by Marcel Wiesweg.
Committed on 01/03/2012 at 22:19.
Pushed by mwiesweg into branch 'master'.

Use SafeTemporaryFile from EditorWindow

M  +18   -12   utilities/imageeditor/editor/editorwindow.cpp
M  +2    -2    utilities/imageeditor/editor/savingcontextcontainer.h

http://commits.kde.org/digikam/28a925833d5b9cd098960d27f7a05bba556d0b1e
Comment 14 Andreas Huggel 2012-03-02 01:02:03 UTC
Yes, Exiv2 creates a temporary file when writing the metadata (Image::writeMetadata) for images larger than 1MB. Then it removes the original and renames the temp file to the original name.

-ahu.
Comment 15 Ananta Palani 2012-03-02 10:28:02 UTC
(In reply to comment #14)
> Yes, Exiv2 creates a temporary file when writing the metadata
> (Image::writeMetadata) for images larger than 1MB. Then it removes the original
> and renames the temp file to the original name.

Would it be possible to inform Exiv2 where to put all temp files so that they could be outside the scope of digiKam's collection scanner?
Comment 16 caulier.gilles 2012-03-02 12:04:07 UTC
As i know, as i developed some file parsers in Exiv2 in the past, i remember to see temp file created where file to touch is located.

Perhaps in the future, it will be fine to be able to set where temp files must be located by Exiv2.

I remember a bug report about this subject to set from KIPI host application a common temp location for all kipi-plugins. This idea can be extented to whole digiKam and shared Exiv2...

Gilles Caulier
Comment 17 Andreas Huggel 2012-03-03 08:41:19 UTC
Gilles is correct, the temp file is created in the directory where the original image is. It is currently not possible to change that location. If that's a desired feature, please open an issue for it in the Exiv2 Redmine at dev.exiv2.org.

-ahu.
Comment 18 Andreas Huggel 2012-03-03 08:41:44 UTC
Gilles is correct, the temp file is created in the directory where the original image is. It is currently not possible to change that location. If that's a desired feature, please open an issue for it in the Exiv2 Redmine at dev.exiv2.org.

-ahu.
Comment 19 Ananta Palani 2012-03-03 08:58:32 UTC
(In reply to comment #18)
> Gilles is correct, the temp file is created in the directory where the
> original image is. It is currently not possible to change that location. If
> that's a desired feature, please open an issue for it in the Exiv2 Redmine
> at dev.exiv2.org.
> 
> -ahu.

I guess I should first determine if the temp file I am seeing is one created by exiv2. Is the temp file simply the name image followed by a 4 digit number? So for a file 'IMG_1679.jpg' the temp file might be 'IMG_1679.jpg4744' where 4744 is a number that randomly changes after each restart of digiKam
Comment 20 Andreas Huggel 2012-03-03 10:02:04 UTC
(In reply to comment #19)
> Is the temp file simply the name image followed by a 4 digit
> number? So for a file 'IMG_1679.jpg' the temp file might be
> 'IMG_1679.jpg4744' where 4744 is a number that randomly changes after each
> restart of digiKam

Yes, that fits. It's just the file name with the PID appended.

-ahu.
Comment 21 Ananta Palani 2012-03-03 10:14:07 UTC
(In reply to comment #20)
> Yes, that fits. It's just the file name with the PID appended.

Then I guess the next step would be to determine if it is the collection scanner which is causing problems or a new bug in digikam caused by changing images too quickly, thereby killing the exiv2 call somehow?

The temp file created by exiv2 at the point this error occurs is identical to the original file (same tags) but there is a 0 byte file with the old name.

For instance, if I tag a face in IMG_1679.jpg and switch to a new image quickly, the drive then has IMG_1679.jpg and IMG_1679.jpg4744, where IMG_1679.jpg is 0 bytes in size and IMG_1679.jpg4744 is identical to the original, untagged image. At this point digiKam shows a placeholder for IMG_1679.jpg, and renaming IMG_1679.jpg4744 to IMG_1679.jpg restores it in digiKam as expected, albeit with no face tag since it was identical to the original untagged image.

No data loss, but quite annoying!
Comment 22 Andreas Huggel 2012-03-03 10:23:03 UTC
Another point to consider: Changing the path for temp files may require the final rename operation to copy the file across filesystems, as opposed to just renaming it, which would roughly double the time it takes to write the metadata.

-ahu.
Comment 23 Andreas Huggel 2012-03-03 10:46:07 UTC
(In reply to comment #21)
> The temp file created by exiv2 at the point this error occurs is identical
> to the original file (same tags) but there is a 0 byte file with the old
> name.
> 
> For instance, if I tag a face in IMG_1679.jpg and switch to a new image
> quickly, the drive then has IMG_1679.jpg and IMG_1679.jpg4744, where
> IMG_1679.jpg is 0 bytes in size and IMG_1679.jpg4744 is identical to the
> original, untagged image. At this point digiKam shows a placeholder for
> IMG_1679.jpg, and renaming IMG_1679.jpg4744 to IMG_1679.jpg restores it in
> digiKam as expected, albeit with no face tag since it was identical to the
> original untagged image.

The 0-byte original file is probably an Exiv2 side-effect. You can confirm that with the current Exiv2 trunk (binary compatible with 0.22), which should leave the original file unharmed. (See http://dev.exiv2.org/issues/812 for details)
However, I can't quite imagine right now why Exiv2 would write a temporary file which is identical to the original.
Another way to confirm that these files are from Exiv2 is by simply recompiling it with a larger value for the threshold above which a temporary is created (look for "1MB" in basicio.cpp). If you set that to a value greater than the sizes of your images, no temporary files will be created anymore.

-ahu.
Comment 24 Andreas Huggel 2012-03-03 10:53:15 UTC
(In reply to comment #23)
> However, I can't quite imagine right now why Exiv2 would write a temporary
> file which is identical to the original.

Well, unless you write back the same metadata of course (in the case of a JPEG file at least).

-ahu.
Comment 25 caulier.gilles 2012-03-03 13:57:54 UTC
Andreas,

Why not to use the unix cached file logic to use dot prefix at start of file name. It will be easy to ignore dot file with file scanner in digiKam.

If i'm not too wrong, this cached file are already ignore by digKam. Right Marcel ?

Gilles
Comment 26 Andreas Huggel 2012-03-04 14:15:05 UTC
Gilles, using a dot-prefix for the filename is certainly also a possibility (at least on UNIX, would have to investigate if that's feasible on Windows).

But before we change anything I'd like to understand how the Exiv2 writeMetadata function can get interrupted so that it leaves the temporary file behind? Does Exiv2 output any error message to the console when this happens? 

Ananta, can you reproduce this issue so that you could debug it? It seems that the Exiv2 function FileIo::transfer (basicio.cpp) somehow fails. You might be able to find out where and why by adding some debug output or I can provide a patch for that if you like.

-ahu.
Comment 27 Marcel Wiesweg 2012-03-04 20:31:10 UTC
Digikam creates temp files which include the string "digikamtempfile." These files are ignored by the collection scanner. Simplistic, but works.
For the reason you mention, we create temp files in the directory of the destination.

Andreas: Maybe exiv2 could use such a magic string as well?

The usage of a temp file name which is identical per-target per-application may explain some of the corruption we saw with concurrent operations on the same file.

Andreas: Just to confirm, writing operations in Exiv2 are reentrant, I mean writing to multiple _different_ files concurrently is safe, no shared or static buffers?
Comment 28 Andreas Huggel 2012-03-05 05:52:20 UTC
Marcel, writing metadata to different images in Exiv2 is reentrant in the same sense as the underlying C stdio functions are. Exiv2 doesn't use any shared buffers.

However, while Exiv2 is writing metadata to an image, read and write access to that file should be blocked. Exiv2 doesn't explicitly do that (maybe some OS does).

For the temp file name, I'm quite open to change that to whatever is needed. If I understand correctly, so far we have
- start with a dot
- identify it as a temp file from Exiv2

-ahu.
Comment 29 caulier.gilles 2012-03-05 06:11:46 UTC
Andreas,

As i know, dot prefix to file name is supported under Windows, But i'm not sure if files are interpreted as cached items.

Under MACOSX, dot prefix work like under Linux.

Gilles Caulier
Comment 30 Ananta Palani 2012-03-05 10:38:41 UTC
(In reply to comment #26)
> Gilles, using a dot-prefix for the filename is certainly also a possibility
> (at least on UNIX, would have to investigate if that's feasible on Windows).

As Gilles mentioned, it is feasible on Windows. Windows Explorer won't let you create a file that starts with a period, but it is definitely allowed by the Windows API (see the end of this section):

   http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx

AFIAK these files are not considered special in any way. 

> But before we change anything I'd like to understand how the Exiv2
> writeMetadata function can get interrupted so that it leaves the temporary
> file behind? Does Exiv2 output any error message to the console when this
> happens? 

I haven't run it while capturing debug output, so I'll have to check this (I'm assuming this is what you mean by the console? On windows, there is no 'console' per say).

> Ananta, can you reproduce this issue so that you could debug it? It seems
> that the Exiv2 function FileIo::transfer (basicio.cpp) somehow fails. You
> might be able to find out where and why by adding some debug output or I can
> provide a patch for that if you like.

I'll definitely try to reproduce it. The error was happening with 0.21, but I have 0.22 now. If you have time, a patch against 0.22 would be great (unless I need some changes that have been made since).

-Ananta
Comment 31 Andreas Huggel 2012-03-08 14:47:57 UTC
Thanks for the Windows info. So are you running digiKam in Windows?

> > Does Exiv2 output any error message to the console when this
> > happens? 
> 
> I haven't run it while capturing debug output, so I'll have to check this
> (I'm assuming this is what you mean by the console? On windows, there is no
> 'console' per say).

Exiv2 writes warnings and errors to standard error. In newer versions, an application can redirect this output and I think digiKam does, but I'm not sure where it goes to.

If you can reproduce the problem, the first thing to do would be to check that log for messages from Exiv2. I'm adding a small patch that writes out a few additional messages. It applies to the current Exiv2 trunk version. If you're using Windows, it would be great if you can use the trunk version instead of 0.22. The trunk is binary compatible with 0.22.

Andreas
Comment 32 Andreas Huggel 2012-03-08 14:50:13 UTC
Created attachment 69378 [details]
Patch for Exiv2, adding a few additional log messages to FileIo::transfer()
Comment 33 caulier.gilles 2012-03-08 16:06:24 UTC
Andreas,

Yes, Ananta package digiKam for windows. I t do not use Linux.

About Exiv2 debug info re-routed in digiKam, it's done in kibkexiv2 by this functions :

https://projects.kde.org/projects/kde/kdegraphics/libs/libkexiv2/repository/revisions/master/entry/libkexiv2/kexiv2_p.cpp#L283

https://projects.kde.org/projects/kde/kdegraphics/libs/libkexiv2/repository/revisions/master/entry/libkexiv2/kexiv2_p.cpp#L290

To show Exiv2 debug messages, Ananta need to turn on debug message of libkexiv2, through kdebugdialog program from KDE desktop.

Gilles Caulier
Comment 34 Ananta Palani 2012-03-09 10:25:50 UTC
(In reply to comment #31)
> Thanks for the Windows info. So are you running digiKam in Windows?

Right, as Gilles said that all I use for now.

> If you can reproduce the problem, the first thing to do would be to check
> that log for messages from Exiv2. I'm adding a small patch that writes out a
> few additional messages. It applies to the current Exiv2 trunk version. If
> you're using Windows, it would be great if you can use the trunk version
> instead of 0.22. The trunk is binary compatible with 0.22.

I will give it a try in the next few days. As long as the makefiles haven't changed then it will be fairly easy. Otherwise, since the build system we use for KDE Windows (emerge) requires cmake to build, I have to create a new CMakeFile.txt which can be time consuming. Have you considered using cmake? If so, I can provide you with the CMakeFile.txt that we use to build as a starting point, if you are interested.

-Ananta
Comment 35 caulier.gilles 2012-03-09 10:40:05 UTC
Ananta,

Exiv2 is already ported to cmake, by Patrick Spendring, and Me. I maintained this port few month ago, but not yet retested Exiv2 compilation recently.

It must work.

Exiv2 can use cmake and automake. both are supported. The goal of course, if Andreas confirm, is to remove automake in the future...

Gilles Caulier
Comment 36 caulier.gilles 2012-03-09 10:41:06 UTC
Ananta,

Exiv2 compile fine using cmake on my computer under Linux:

[gilles@localhost exiv2]$ svn up
'.gitignore' restauré
'COPYING' restauré
'README-CMAKE' restauré
'CMakeLists.txt' restauré
'Makefile' restauré
'TODO-CMAKE' restauré
'AUTHORS' restauré
'README' restauré
'ABOUT-NLS' restauré                                                                                                                       
A    test                                                                                                                                  
A    test/write-test.sh                                                                                                                    
A    test/iotest.sh                                                                                                                        
A    test/conversions.sh                                                                                                                   
A    test/crw-test.sh                                                                                                                      
A    test/path-test.sh                                                                                                                     
A    test/exiv2-test.sh
A    test/addmoddel.sh
A    test/imagetest.sh
A    test/stringto-test.sh
A    test/tmp
A    test/write2-test.sh
A    test/bugfixes-test.sh
A    test/xmpparser-test.sh
A    test/preview-test.sh
A    test/iptctest.sh
A    test/data
A    test/data/exiv2-canon-eos-20d.jpg
A    test/data/exiv2-bug440.jpg
A    test/data/imagemagick.png
A    test/data/smiley2.jpg.c3gd
A    test/data/addmoddel.out
A    test/data/exiv2-bug444.jpg
A    test/data/iptc-psAPP13-wIPTCmid.jpg.iagd
A    test/data/table.jpg.c2gd
A    test/data/iptc-psAPP13-wIPTCbeg.jpg.ipgd
A    test/data/smiley2.jpg.i2gd
A    test/data/iptc-psAPP13-wIPTC-psAPP13-noIPTC.jpg.ipgd
A    test/data/table.jpg.ipgd
A    test/data/table.jpg.i1gd
A    test/data/iptc-psAPP13s-wIPTCs-psAPP13s-wIPTCs.jpg.ipgd
A    test/data/iptc-psAPP13-wIPTCbeg.jpg.ixgd
A    test/data/bugfixes-test.out
A    test/data/table.jpg.ixgd
A    test/data/iptc-psAPP13-wIPTC-psAPP13-noIPTC.jpg.ixgd
A    test/data/iptc-psAPP13-wIPTCend.jpg.ipgd
A    test/data/write-test-debug.out
A    test/data/iptc-psAPP13-wIPTCempty-psAPP13-wIPTC.jpg.irgd
A    test/data/glider.exv.egd
A    test/data/iptc-psAPP13s-wIPTCs-psAPP13s-wIPTCs.jpg.ixgd
A    test/data/exiv2-bug800-DCSR.jpg
A    test/data/iptc-psAPP13-wIPTCend.jpg.ixgd
A    test/data/imagemagick.pgf
A    test/data/iptc-psAPP13s-wIPTCs-psAPP13s-wIPTCs.jpg.egd
A    test/data/iptc-psAPP13s-wIPTC-psAPP13s-noIPTC.jpg.iagd
A    test/data/exiv2-canon-powershot-s40.crw
A    test/data/smiley1.jpg.irgd
A    test/data/smiley1.jpg.i3gd
A    test/data/iptc-psAPP13-wIPTCempty.jpg.ipgd
A    test/data/exiv2-bug800-AgHg.psd
A    test/data/iptc-noAPP13.jpg.egd
A    test/data/iptc-psAPP13-wIPTCempty.jpg.ixgd
A    test/data/iptc-psAPP13s-noIPTC-psAPP13s-wIPTC.jpg.irgd
A    test/data/iptc-psAPP13-wIPTC1-psAPP13-wIPTC2.jpg
A    test/data/smiley2.jpg
A    test/data/iptc-psAPP13-noIPTC-psAPP13-wIPTC.jpg.egd
A    test/data/exiv2-sony-dsc-w7.jpg
A    test/data/iptc-psAPP13-wIPTCbeg.jpg
A    test/data/mini9.tif
A    test/data/iptc-psAPP13-wIPTCbeg.jpg.iagd
A    test/data/exiv2-nikon-e950.jpg
A    test/data/iptc-psAPP13-wIPTC-psAPP13-noIPTC.jpg.iagd
A    test/data/table.jpg.iagd
A    test/data/xmpsdk.xmp
A    test/data/modifycmd1.txt
A    test/data/iptc-psAPP13-wIPTCempty-psAPP13-wIPTC.jpg.egd
A    test/data/iptc-psAPP13-wIPTCmid.jpg.egd
A    test/data/iptc-noAPP13.jpg.ipgd
A    test/data/iptc-psAPP13s-wIPTCs-psAPP13s-wIPTCs.jpg.iagd
A    test/data/exiv2-nikon-d70.jpg
A    test/data/iptc-psAPP13-wIPTCend.jpg.iagd
A    test/data/iptc-psAPP13-noIPTC.jpg.irgd
A    test/data/exiv2-bug460.jpg
A    test/data/exiv2-bug800-AgHg.jpg
A    test/data/table.jpg.c3gd
A    test/data/iptc-psAPP13-wIPTC1-psAPP13-wIPTC2.jpg.irgd
A    test/data/iptc-noAPP13.jpg.ixgd
A    test/data/smiley2.jpg.irgd
A    test/data/smiley2.jpg.i3gd
A    test/data/table.jpg.i2gd
A    test/data/exiv2-olympus-c8080wz.jpg
A    test/data/iptc-psAPP13-wIPTCmid1-wIPTCempty-wIPTCmid2.jpg.egd
A    test/data/xmpparser-test.out
A    test/data/iptc-psAPP13-wIPTCmid.jpg.irgd
A    test/data/cmdxmp.txt
A    test/data/glider.exv
A    test/data/iptc-psAPP13-wIPTCempty.jpg.iagd
A    test/data/smiley1.jpg.c1gd
A    test/data/exiv2-test.out
A    test/data/exiv2-canon-eos-d30.jpg
A    test/data/iptc-psAPP13-wIPTCmid1-wIPTCempty-wIPTCmid2.jpg.ipgd
A    test/data/iptc-psAPP13-noIPTC-psAPP13-wIPTC.jpg.ipgd
A    test/data/glider.exv.ipgd
A    test/data/exiv2-bug479.jpg
A    test/data/iptc-noAPP13.jpg
A    test/data/iptc-psAPP13-wIPTCmid1-wIPTCempty-wIPTCmid2.jpg.ixgd
A    test/data/iptc-psAPP13s-wIPTC-psAPP13s-noIPTC.jpg.irgd
A    test/data/iptc-noAPP13.jpg.iagd
A    test/data/iptc-psAPP13-noIPTC-psAPP13-wIPTC.jpg.ixgd
A    test/data/glider.exv.ixgd
A    test/data/exiv2-photoshop.psd
A    test/data/exiv2-gc.jpg
A    test/data/makernote-test.out
A    test/data/exiv2-empty.jpg
A    test/data/exifdata-test.out
A    test/data/tiff-test.out
A    test/data/iptc-psAPP13s-noIPTC-psAPP13s-wIPTC.jpg
A    test/data/iptc-psAPP13-wIPTCempty-psAPP13-wIPTC.jpg
A    test/data/smiley2.jpg.c1gd
A    test/data/iptc-psAPP13-wIPTCmid.jpg
A    test/data/exiv2-bug443.jpg
A    test/data/exiv2-bug480.jpg
A    test/data/exiv2-bug445.jpg
A    test/data/exiv2-bug447.jpg
A    test/data/exiv2-bug528.jpg
A    test/data/eps
A    test/data/eps/eps-nested_xmp_ai-cs5-lev3.eps.delxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-at-endpagesetup_no-adocontainsxmp.eps.newxmp
A    test/data/eps/eps-flat_photoshop-e9-win.eps.newxmp
A    test/data/eps/eps-flat_photoshop-e9-win.xmp
A    test/data/eps/eps-flat_photoshop-e9-win_exiv2.eps
A    test/data/eps/eps-flat_empty-eof-noeol.eps.delxmp
A    test/data/eps/eps-flat_minimal_missing-xmp-embedding-trailer.xmp
A    test/data/eps/eps-flat_minimal-eof.xmp
A    test/data/eps/eps-test-delxmp.exv
A    test/data/eps/eps-nested_minimal_includedocument.eps.delxmp
A    test/data/eps/eps-flat_minimal_xmp-in-page_exiftool-8.56.xmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii85.eps
A    test/data/eps/eps-flat_photoshop-cs5-ascii85-pre.xmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3.eps.newxmp
A    test/data/eps/eps-nested_xmp_oodraw-lev2.eps
A    test/data/eps/eps-nested_noxmp_ai-cs5-lev2.xmp
A    test/data/eps/eps-nested_xmp_oodraw-lev2-pre.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3_ns-xapGImg.eps.delxmp
A    test/data/eps/eps-flat_empty-noeol.xmp
A    test/data/eps/eps-flat_minimal_xmp.xmp
A    test/data/eps/eps-flat_oodraw_ai-cs-lev2.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3-nodocthumb.eps.delxmp
A    test/data/eps/eps-nested_noxmp_oodraw-lev2.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs3-lev2.eps
A    test/data/eps/eps-flat_minimal_xmp-singlequote-id.eps
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2.eps.delxmp
A    test/data/eps/eps-flat_minimal.xmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev3.eps.delxmp
A    test/data/eps/eps-nested_noxmp_ai-cs5-lev3.eps
A    test/data/eps/eps-flat_minimal_xmp-garbage-before-endmarker.eps
A    test/data/eps/eps-nested_minimal_includedocument-at-page-start.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-3-lev2.eps
A    test/data/eps/eps-flat_oodraw_ai-cs-lev2.eps
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2_missing-begin-xml-packet.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-cs2-lev2.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3_exiftool-8.56.xmp
A    test/data/eps/eps-flat_oodraw_ai-cs3-lev2.eps.delxmp
A    test/data/eps/eps-nested_noxmp_oodraw-lev2-epsi.eps.newxmp
A    test/data/eps/eps-nested_minimal_includedocument-before-page-start.eps
A    test/data/eps/eps-flat_oodraw_ai-cs4-lev2.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev2.eps.delxmp
A    test/data/eps/eps-nested_xmp_oodraw-lev2-epsi.xmp
A    test/data/eps/eps-nested_xmp_indesign-cs5-lev3.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-8-lev2.xmp
A    test/data/eps/eps-flat_minimal_xmp_exiftool-8.56.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiftool-8.56.eps
A    test/data/eps/eps-flat_oodraw_ai-10-lev2.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-after-endpagesetup_no-adocontainsxmp.eps.delxmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev3-bin.eps.delxmp
A    test/data/eps/eps-flat_minimal_exiftool-8.56.xmp
A    test/data/eps/eps-flat_photoshop-cs5-binary.xmp
A    test/data/eps/eps-flat_oodraw-lev1.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-in-page_no-adocontainsxmp.eps
A    test/data/eps/eps-flat_minimal_includeresource.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii.eps.newxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-at-endpagesetup.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-8-lev3.eps
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiftool-8.56.eps.newxmp
A    test/data/eps/eps-flat_photoshop-e9-win-doseps.eps
A    test/data/eps/eps-nested_minimal_begindocument.eps
A    test/data/eps/eps-nested_minimal_begindocument-in-setup.eps
A    test/data/eps/eps-nested_minimal_begindocument-before-page-start.eps
A    test/data/eps/eps-flat_photoshop-cs5-binary-pre.eps.newxmp
A    test/data/eps/eps-flat_minimal-noeol.eps
A    test/data/eps/eps-flat_photoshop-e9-win-doseps.eps.newxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-at-endpagesetup_no-adocontainsxmp.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-before-endpagesetup.eps
A    test/data/eps/eps-flat_oodraw-lev2.eps
A    test/data/eps/eps-flat_photoshop-cs5-ascii-pre.xmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev2.eps
A    test/data/eps/eps-test-newxmp.xmp
A    test/data/eps/eps-flat_minimal-trailer.xmp
A    test/data/eps/eps-flat_minimal_xmp-in-page.xmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii85.eps.delxmp
A    test/data/eps/eps-flat_minimal_xmp-singlequote-begin.eps.newxmp
A    test/data/eps/eps-flat_minimal_xmp-singlequote-begin.xmp
A    test/data/eps/eps-nested_minimal_includedocument-at-page-start.xmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii_failure-bigxmp.eps.newxmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev2-bin.eps.delxmp
A    test/data/eps/eps-flat_inkscape.xmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii-pre.eps.delxmp
A    test/data/eps/eps-flat_oodraw-lev1.eps.newxmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev3-bin.eps
A    test/data/eps/eps-flat_photoshop-e9-win_exiv2.xmp
A    test/data/eps/eps-nested_minimal_includedocument.eps
A    test/data/eps/eps-flat_minimal_irremovable-xmp-in-page.eps.delxmp
A    test/data/eps/eps-nested_xmp_ai-cs5-lev3.eps.newxmp
A    test/data/eps/eps-flat_minimal-noeol.eps.delxmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii85.xmp
A    test/data/eps/eps-flat_empty-eof-noeol.eps.newxmp
A    test/data/eps/eps-nested_xmp_oodraw-lev2.xmp
A    test/data/eps/eps-nested_minimal_includedocument.eps.newxmp
A    test/data/eps/eps-flat_minimal_xmp.eps.delxmp
A    test/data/eps/eps-nested_minimal_begindocument-no-end.eps
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3_ns-xapGImg.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs3-lev2.xmp
A    test/data/eps/eps-flat_minimal_xmp-singlequote-id.xmp
A    test/data/eps/eps-nested_xmp_indesign-cs5-lev3.eps
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3-nodocthumb.eps.newxmp
A    test/data/eps/eps-nested_noxmp_ai-8-lev2.eps
A    test/data/eps/eps-nested_noxmp_ai-cs5-lev3.xmp
A    test/data/eps/eps-flat_minimal_xmp-garbage-before-endmarker.xmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-3-lev2.xmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev3.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs-lev2.xmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3_ns-xapGImg.eps
A    test/data/eps/eps-nested_noxmp_ai-cs5-lev3.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3_exiftool-8.56.eps.delxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-in-page_no-adocontainsxmp.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-3-lev3.eps
A    test/data/eps/eps-flat_oodraw_ai-cs2-lev2.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs3-lev2.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs4-lev2.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev2.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiftool-8.56.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-before-endpagesetup_no-adocontainsxmp.eps
A    test/data/eps/eps-test.out
A    test/data/eps/eps-nested_noxmp_oodraw-lev2-pre.eps.delxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-in-page_no-adocontainsxmp.xmp
A    test/data/eps/eps-flat_oodraw_ai-8-lev3.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-after-endpagesetup_no-adocontainsxmp.eps.newxmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev3-bin.eps.newxmp
A    test/data/eps/eps-flat_empty-noeol.eps.delxmp
A    test/data/eps/eps-flat_photoshop-e9-win-doseps.xmp
A    test/data/eps/eps-nested_minimal_begindocument.xmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev2.eps.delxmp
A    test/data/eps/eps-nested_xmp_indesign-cs5-lev3_failure-exiftool-8.56.eps
A    test/data/eps/eps-nested_minimal_begindocument.eps.delxmp
A    test/data/eps/eps-flat_minimal-noeol.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-before-endpagesetup.xmp
A    test/data/eps/eps-flat_oodraw-lev2.xmp
A    test/data/eps/eps-flat_empty-eof-noeol.eps
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev2.xmp
A    test/data/eps/eps-flat_coreldraw-x3-lev2.eps
A    test/data/eps/eps-flat_minimal_xmp_exiftool-8.56.eps
A    test/data/eps/eps-flat_minimal_xmp-in-page_exiftool-8.56.eps.delxmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii85.eps.newxmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev2-bin.eps.newxmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev3-bin.xmp
A    test/data/eps/eps-nested_minimal_includedocument.xmp
A    test/data/eps/eps-flat_minimal_includeresource.eps
A    test/data/eps/eps-flat_photoshop-cs5-ascii.eps
A    test/data/eps/eps-nested_noxmp_oodraw-lev2-pre.eps
A    test/data/eps/eps-flat_photoshop-cs5-ascii-pre.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3.eps
A    test/data/eps/eps-flat_empty-eof.eps
A    test/data/eps/eps-nested_xmp_ai-cs5-lev3.eps
A    test/data/eps/eps-flat_coreldraw-x3-lev2.eps.delxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-in-page.eps.newxmp
A    test/data/eps/eps-flat_coreldraw-x5-lev2.eps.delxmp
A    test/data/eps/eps-nested_noxmp_ai-3-lev2.eps
A    test/data/eps/eps-flat_minimal-noeol.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-10-lev2.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-9-lev2.eps
A    test/data/eps/eps-flat_photoshop-cs5-binary-pre.eps
A    test/data/eps/eps-nested_xmp_indesign-cs5-lev3-bin.eps
A    test/data/eps/eps-flat_minimal_xmp.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3-pre.eps
A    test/data/eps/eps-nested_xmp_indesign-cs5-lev3.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-in-page.eps
A    test/data/eps/eps-nested_noxmp_ai-8-lev2.xmp
A    test/data/eps/eps-flat_empty.eps
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2-bigxmp.eps
A    test/data/eps/eps-flat_oodraw_ai-cs2-lev2.eps
A    test/data/eps/eps-test-newxmp.exv
A    test/data/eps/eps-flat_empty-xmp.eps
A    test/data/eps/eps-nested_xmp_oodraw-lev2-epsi.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-8-lev2.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-9-lev2.eps.delxmp
A    test/data/eps/eps-nested_xmp_oodraw-lev2.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3_ns-xapGImg.xmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev2.eps
A    test/data/eps/eps-flat_minimal.eps.delxmp
A    test/data/eps/eps-flat_minimal_xmp-in-page.eps.delxmp
A    test/data/eps/eps-nested_minimal_begindocument-no-begin.eps
A    test/data/eps/eps-nested_noxmp_ai-cs5-lev3.eps.newxmp
A    test/data/eps/eps-nested_noxmp_ai-8-lev3.eps
A    test/data/eps/eps-flat_coreldraw-x5-lev2.eps
A    test/data/eps/eps-nested_xmp_ai-8-lev3.eps
A    test/data/eps/eps-flat_minimal-eof.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3_exiftool-8.56.eps.newxmp
A    test/data/eps/eps-flat_empty-xmp.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-3-lev3.xmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2_missing-begin-xml-packet.eps
A    test/data/eps/eps-flat_minimal_xmp-singlequote-id.eps.delxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-in-page_no-adocontainsxmp.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii-colorprofile.eps
A    test/data/eps/eps-flat_minimal_irremovable-xmp-before-endpagesetup_no-adocontainsxmp.xmp
A    test/data/eps/eps-flat_minimal_xmp-singlequote-end.eps.delxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-at-endpagesetup.eps
A    test/data/eps/eps-nested_xmp_oodraw-lev2-pre.eps
A    test/data/eps/eps-nested_noxmp_oodraw-lev2-epsi.eps
A    test/data/eps/eps-flat_photoshop-cs5-binary_no-adocontainsxmp.eps
A    test/data/eps/eps-nested_noxmp_oodraw-lev2-pre.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3-pre.eps.delxmp
A    test/data/eps/eps-flat_minimal_xmp-readonly.eps
A    test/data/eps/eps-flat_empty-noeol.eps.newxmp
A    test/data/eps/eps-nested_xmp_indesign-cs5-lev3_failure-exiftool-8.56.xmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev2.eps.newxmp
A    test/data/eps/eps-flat_oodraw-lev2_eps2eps.eps.delxmp
A    test/data/eps/eps-flat_inkscape-epsi.eps
A    test/data/eps/eps-nested_noxmp_ai-cs5-lev2.eps.delxmp
A    test/data/eps/eps-flat_empty-eof-noeol.xmp
A    test/data/eps/eps-flat_coreldraw-x3-lev2.xmp
A    test/data/eps/eps-flat_minimal_xmp_exiftool-8.56.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-after-endpagesetup.eps
A    test/data/eps/eps-flat_oodraw_ai-cs4-lev2.eps
A    test/data/eps/eps-nested_minimal_begindocument.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2.eps
A    test/data/eps/eps-flat_minimal_xmp-in-page_exiftool-8.56.eps.newxmp
A    test/data/eps/eps-nested_noxmp_oodraw-lev2.eps
A    test/data/eps/eps-flat_minimal-trailer.eps.delxmp
A    test/data/eps/eps-flat_minimal_includeresource.xmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii.xmp
A    test/data/eps/eps-nested_noxmp_oodraw-lev2-pre.xmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-after-endpagesetup_no-adocontainsxmp.eps
A    test/data/eps/eps-flat_empty-eof.xmp
A    test/data/eps/eps-nested_xmp_ai-cs5-lev3.xmp
A    test/data/eps/eps-flat_minimal_exiftool-8.56.eps.delxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary.eps.delxmp
A    test/data/eps/eps-nested_minimal_includedocument-in-setup.eps
A    test/data/eps/eps-flat_empty.eps.delxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2-bigxmp.eps.delxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-after-endpagesetup.eps.delxmp
A    test/data/eps/eps-nested_noxmp_ai-3-lev2.xmp
A    test/data/eps/eps-flat_oodraw-lev2.eps.delxmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii_failure-bigxmp.eps
A    test/data/eps/eps-flat_coreldraw-x3-lev2.eps.newxmp
A    test/data/eps/eps-flat_empty-eof.eps.delxmp
A    test/data/eps/eps-flat_oodraw_ai-9-lev2.xmp
A    test/data/eps/eps-flat_photoshop-cs5-binary-pre.xmp
A    test/data/eps/eps-flat_photoshop-e9-win_exiv2.eps.delxmp
A    test/data/eps/eps-flat_coreldraw-x5-lev2.eps.newxmp
A    test/data/eps/eps-nested_xmp_indesign-cs5-lev3-bin.xmp
A    test/data/eps/eps-flat_oodraw-lev2_eps2eps.eps
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3-nodocthumb.eps
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3-pre.xmp
A    test/data/eps/eps-flat_oodraw_ai-10-lev2.eps.newxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-in-page.xmp
A    test/data/eps/eps-flat_minimal_xmp-singlequote-end.eps
A    test/data/eps/eps-flat_empty.xmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2-bigxmp.xmp
A    test/data/eps/eps-flat_oodraw_ai-cs2-lev2.xmp
A    test/data/eps/eps-nested_xmp_indesign-cs5-lev3-bin.eps.delxmp
A    test/data/eps/eps-nested_noxmp_ai-3-lev3.eps
A    test/data/eps/eps-flat_empty-xmp.xmp
A    test/data/eps/eps-nested_xmp_ai-3-lev3.eps
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev2-bin.eps
A    test/data/eps/eps-flat_inkscape.eps.delxmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii-colorprofile.eps.delxmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev2.xmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii85-pre.eps.delxmp
A    test/data/eps/eps-nested_xmp_oodraw-lev2-epsi.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-8-lev2.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-9-lev2.eps.newxmp
A    test/data/eps/eps-flat_minimal_xmp-garbage-before-endmarker.eps.delxmp
A    test/data/eps/eps-nested_xmp_oodraw-lev2.eps.newxmp
A    test/data/eps/eps-flat_coreldraw-x5-lev2.xmp
A    test/data/eps/eps-nested_noxmp_ai-8-lev3.xmp
A    test/data/eps/eps-nested_xmp_ai-8-lev3.xmp
A    test/data/eps/eps-flat_minimal.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2_missing-begin-xml-packet.xmp
A    test/data/eps/eps-flat_minimal_xmp-in-page.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_no-adocontainsxmp.eps.delxmp
A    test/data/eps/eps-flat_minimal-eof.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii-colorprofile.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-at-endpagesetup_no-adocontainsxmp.eps.delxmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev3.eps
A    test/data/eps/eps-flat_empty-xmp.eps.newxmp
A    test/data/eps/eps-flat_minimal_xmp-singlequote-id.eps.newxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-at-endpagesetup.xmp
A    test/data/eps/eps-flat_photoshop-e9-win.eps.delxmp
A    test/data/eps/eps-nested_xmp_oodraw-lev2-pre.xmp
A    test/data/eps/eps-flat_minimal_xmp-singlequote-end.eps.newxmp
A    test/data/eps/eps-flat_photoshop-e9-win.eps
A    test/data/eps/eps-nested_noxmp_oodraw-lev2-epsi.xmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_no-adocontainsxmp.xmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3.eps.delxmp
A    test/data/eps/eps-nested_minimal_begindocument-at-page-start.eps
A    test/data/eps/eps-flat_minimal-eof.eps
A    test/data/eps/eps-flat_minimal_missing-xmp-embedding-trailer.eps
A    test/data/eps/eps-nested_xmp_oodraw-lev2-pre.eps.delxmp
A    test/data/eps/eps-flat_minimal_xmp-in-page_exiftool-8.56.eps
A    test/data/eps/eps-flat_photoshop-cs5-ascii85-pre.eps
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3-pre.eps.newxmp
A    test/data/eps/eps-nested_noxmp_ai-cs5-lev2.eps
A    test/data/eps/eps-flat_oodraw_ai-cs-lev2.eps.delxmp
A    test/data/eps/eps-nested_noxmp_oodraw-lev2.eps.delxmp
A    test/data/eps/eps-flat_empty-noeol.eps
A    test/data/eps/eps-flat_minimal_xmp.eps
A    test/data/eps/eps-flat_minimal_irremovable-xmp-after-endpagesetup.xmp
A    test/data/eps/eps-flat_oodraw_ai-cs4-lev2.xmp
A    test/data/eps/eps-flat_oodraw-lev2_eps2eps.eps.newxmp
A    test/data/eps/eps-flat_invalid-doseps.eps
A    test/data/eps/eps-nested_noxmp_ai-cs5-lev2.eps.newxmp
A    test/data/eps/eps-nested_minimal_includedocument-at-page-start.eps.delxmp
A    test/data/eps/eps-flat_minimal.eps
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2.xmp
A    test/data/eps/eps-nested_noxmp_oodraw-lev2.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-after-endpagesetup_no-adocontainsxmp.xmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2-bug-r2561.eps
A    test/data/eps/eps-flat_minimal-trailer.eps.newxmp
A    test/data/eps/eps-nested_noxmp_oodraw-lev2-epsi.eps.delxmp
A    test/data/eps/eps-nested_xmp_indesign-cs5-lev3.eps.delxmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii_failure-bigxmp.xmp
A    test/data/eps/eps-flat_minimal_xmp_exiftool-8.56.eps.delxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3_exiftool-8.56.eps
A    test/data/eps/eps-flat_minimal_exiftool-8.56.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiv2-bigxmp.eps.newxmp
A    test/data/eps/eps-flat_empty.eps.newxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-after-endpagesetup.eps.newxmp
A    test/data/eps/eps-flat_oodraw-lev2.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-8-lev2.eps
A    test/data/eps/eps-flat_oodraw-lev2_eps2eps.xmp
A    test/data/eps/eps-nested_xmp_oodraw-lev2-epsi.eps
A    test/data/eps/eps-flat_oodraw_ai-cs5-lev3-nodocthumb.xmp
A    test/data/eps/eps-flat_empty-eof.eps.newxmp
A    test/data/eps/eps-flat_photoshop-e9-win_exiv2.eps.newxmp
A    test/data/eps/eps-flat_oodraw_ai-10-lev2.eps
A    test/data/eps/eps-flat_minimal_xmp-singlequote-end.xmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii.eps.delxmp
A    test/data/eps/eps-flat_minimal_includeresource.eps.delxmp
A    test/data/eps/eps-nested_noxmp_ai-3-lev3.xmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-at-endpagesetup.eps.delxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_exiftool-8.56.eps.delxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary.eps
A    test/data/eps/eps-flat_minimal_exiftool-8.56.eps
A    test/data/eps/eps-nested_xmp_ai-3-lev3.xmp
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev2-bin.xmp
A    test/data/eps/eps-flat_oodraw-lev1.eps
A    test/data/eps/eps-nested_xmp_indesign-cs5-lev3-bin.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-binary-pre.eps.delxmp
A    test/data/eps/eps-flat_inkscape.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii-colorprofile.eps.newxmp
A    test/data/eps/eps-flat_photoshop-e9-win-doseps.eps.delxmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii85-pre.eps.newxmp
A    test/data/eps/eps-flat_minimal_xmp-singlequote-begin.eps.delxmp
A    test/data/eps/eps-flat_minimal_xmp-garbage-before-endmarker.eps.newxmp
A    test/data/eps/eps-flat_photoshop-cs5-ascii_failure-bigxmp.eps.delxmp
A    test/data/eps/eps-flat_minimal_irremovable-xmp-at-endpagesetup_no-adocontainsxmp.eps
A    test/data/eps/eps-flat_photoshop-cs5-ascii-pre.eps
A    test/data/eps/eps-flat_minimal-trailer.eps
A    test/data/eps/eps-flat_minimal_xmp-in-page.eps
A    test/data/eps/eps-flat_oodraw-lev1.eps.delxmp
A    test/data/eps/eps-flat_minimal_xmp-singlequote-begin.eps
A    test/data/eps/eps-nested_noxmp_indesign-cs5-lev3.xmp
A    test/data/eps/eps-flat_photoshop-cs5-binary_no-adocontainsxmp.eps.newxmp
A    test/data/eps/eps-nested_minimal_includedocument-at-page-start.eps
A    test/data/eps/eps-flat_inkscape.eps
A    test/data/iptc-psAPP13-wIPTCbeg.jpg.irgd
A    test/data/table.jpg.irgd
A    test/data/exiv2-pre-in-xmp.xmp
A    test/data/iptc-psAPP13-wIPTC-psAPP13-noIPTC.jpg.irgd
A    test/data/table.jpg.i3gd
A    test/data/write2-test.out
A    test/data/iptc-psAPP13s-wIPTCs-psAPP13s-wIPTCs.jpg.irgd
A    test/data/iptc-psAPP13-wIPTCempty-psAPP13-wIPTC.jpg.ipgd
A    test/data/iptc-psAPP13-wIPTCend.jpg.irgd
A    test/data/exiv2-bug800-PHUT.psd
A    test/data/exiv2-canon-powershot-s40.jpg
A    test/data/iptc-psAPP13-wIPTCmid1-wIPTCempty-wIPTCmid2.jpg
A    test/data/table.jpg
A    test/data/iptc-psAPP13-wIPTC-psAPP13-noIPTC.jpg
A    test/data/iptc-psAPP13-wIPTCmid1-wIPTCempty-wIPTCmid2.jpg.iagd
A    test/data/iptc-psAPP13-noIPTC-psAPP13-wIPTC.jpg.iagd
A    test/data/iptc-psAPP13-wIPTCempty-psAPP13-wIPTC.jpg.ixgd
A    test/data/glider.exv.iagd
A    test/data/conversions.out
A    test/data/iptc-psAPP13-wIPTCend.jpg
A    test/data/smiley1.jpg.c2gd
A    test/data/smiley1.jpg.ipgd
A    test/data/smiley1.jpg.i1gd
A    test/data/exiv2-panasonic-dmc-fz5.jpg
A    test/data/bug799.cmd
A    test/data/exiv2-bug495.jpg
A    test/data/iptc-psAPP13-wIPTCempty.jpg.irgd
A    test/data/iptc-psAPP13-noIPTC.jpg.egd
A    test/data/exiv2-sigma-d10.jpg
A    test/data/smiley1.jpg.ixgd
A    test/data/exiv2-bug800-PHUT.jpg
A    test/data/iptc-psAPP13s-noIPTC-psAPP13s-wIPTC.jpg.ipgd
A    test/data/exiv2-canon-eos-300d.jpg
A    test/data/smiley1.jpg
A    test/data/exiv2-canon-powershot-a520.jpg
A    test/data/iptc-psAPP13-wIPTCempty.jpg
A    test/data/iptc-psAPP13s-noIPTC-psAPP13s-wIPTC.jpg.ixgd
A    test/data/iptc-psAPP13s-noIPTC-psAPP13s-wIPTC.jpg.egd
A    test/data/modifycmd2.txt
A    test/data/exiv2-nikon-e990.jpg
A    test/data/iptc-psAPP13s-wIPTC-psAPP13s-noIPTC.jpg
A    test/data/exiv2-bug501.jpg
A    test/data/write-test.out
A    test/data/iptc-psAPP13-noIPTC.jpg.ipgd
A    test/data/exiv2-bug540.jpg
A    test/data/iptc-noAPP13.jpg.irgd
A    test/data/smiley2.jpg.c2gd
A    test/data/iptc-psAPP13-wIPTCempty-psAPP13-wIPTC.jpg.iagd
A    test/data/exiv2-fujifilm-finepix-s2pro.jpg
A    test/data/exiv2-bug426.jpg
A    test/data/table.jpg.c1gd
A    test/data/iptc-psAPP13-wIPTC1-psAPP13-wIPTC2.jpg.ipgd
A    test/data/ifd-test.out
A    test/data/smiley2.jpg.ipgd
A    test/data/smiley2.jpg.i1gd
A    test/data/iptc-psAPP13-noIPTC.jpg.ixgd
A    test/data/stringto-test.out
A    test/data/iptc-psAPP13-wIPTC1-psAPP13-wIPTC2.jpg.ixgd
A    test/data/smiley2.jpg.ixgd
A    test/data/iptc-psAPP13-wIPTCmid.jpg.ipgd
A    test/data/iptc-psAPP13-wIPTC-psAPP13-noIPTC.jpg.egd
A    test/data/table.jpg.egd
A    test/data/smiley1.jpg.iagd
A    test/data/ext.dat
A    test/data/exiv2-kodak-dc210.jpg
A    test/data/modify-test.out
A    test/data/iptc-psAPP13-wIPTCmid.jpg.ixgd
A    test/data/iptc-psAPP13-wIPTCend.jpg.egd
A    test/data/iptc-psAPP13s-wIPTCs-psAPP13s-wIPTCs.jpg
A    test/data/iptc-psAPP13s-noIPTC-psAPP13s-wIPTC.jpg.iagd
A    test/data/preview
A    test/data/preview/exiv2-nikon-d70-preview1.jpg
A    test/data/preview/eps-flat_photoshop-e9-win_exiv2-preview1.jpg
A    test/data/preview/eps-nested_noxmp_ai-cs5-lev3-preview2.jpg
A    test/data/preview/exiv2-nikon-d70-preview2.jpg
A    test/data/preview/exiv2-bug443-preview1.jpg
A    test/data/preview/exiv2-bug528-preview1.jpg
A    test/data/preview/exiv2-bug447-preview1.jpg
A    test/data/preview/eps-nested_xmp_indesign-cs5-lev3_failure-exiftool-8.56-preview1.tif
A    test/data/preview/eps-flat_oodraw_ai-cs-lev2-preview2.jpg
A    test/data/preview/eps-flat_photoshop-cs5-ascii85-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs5-lev3_exiftool-8.56-preview1.pnm
A    test/data/preview/eps-flat_photoshop-e9-win-doseps-preview1.jpg
A    test/data/preview/eps-nested_noxmp_indesign-cs5-lev3-bin-preview1.tif
A    test/data/preview/eps-nested_xmp_ai-8-lev3-preview1.tif
A    test/data/preview/eps-flat_oodraw_ai-cs5-lev3-pre-preview3.jpg
A    test/data/preview/eps-flat_oodraw_ai-10-lev2-preview2.jpg
A    test/data/preview/exiv2-gc-preview1.jpg
A    test/data/preview/exiv2-canon-powershot-a520-preview1.jpg
A    test/data/preview/iptc-psAPP13-wIPTCbeg-preview1.jpg
A    test/data/preview/eps-flat_photoshop-cs5-ascii_failure-bigxmp-preview1.jpg
A    test/data/preview/iptc-psAPP13-wIPTC-psAPP13-noIPTC-preview1.jpg
A    test/data/preview/eps-flat_photoshop-cs5-ascii-colorprofile-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs2-lev2-preview2.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs4-lev2-preview2.jpg
A    test/data/preview/eps-flat_photoshop-cs5-ascii85-pre-preview1.jpg
A    test/data/preview/exiv2-bug501-preview1.jpg
A    test/data/preview/imagemagick-preview1.jpg
A    test/data/preview/iptc-psAPP13-wIPTCend-preview1.jpg
A    test/data/preview/exiv2-canon-eos-20d-preview1.jpg
A    test/data/preview/iptc-psAPP13-wIPTCempty-psAPP13-wIPTC-preview1.jpg
A    test/data/preview/exiv2-canon-eos-d30-preview1.jpg
A    test/data/preview/eps-nested_xmp_oodraw-lev2-pre-preview1.tif
A    test/data/preview/exiv2-bug444-preview1.jpg
A    test/data/preview/exiv2-bug444-preview2.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs3-lev2-preview1.pnm
A    test/data/preview/eps-nested_xmp_ai-cs5-lev3-preview3.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs5-lev2-preview1.pnm
A    test/data/preview/eps-flat_photoshop-cs5-binary_no-adocontainsxmp-preview1.jpg
A    test/data/preview/eps-nested_noxmp_ai-cs5-lev2-preview1.pnm
A    test/data/preview/eps-flat_oodraw_ai-9-lev2-preview2.jpg
A    test/data/preview/eps-flat_coreldraw-x3-lev2-preview1.tif
A    test/data/preview/eps-flat_coreldraw-x5-lev2-preview1.tif
A    test/data/preview/eps-flat_photoshop-e9-win-doseps-preview2.tif
A    test/data/preview/eps-flat_oodraw_ai-8-lev2-preview1.pnm
A    test/data/preview/eps-flat_oodraw_ai-cs5-lev3-pre-preview2.tif
A    test/data/preview/eps-nested_noxmp_ai-8-lev2-preview1.pnm
A    test/data/preview/iptc-psAPP13-wIPTCempty-preview1.jpg
A    test/data/preview/eps-flat_photoshop-cs5-binary-preview1.jpg
A    test/data/preview/eps-nested_xmp_ai-8-lev3-preview2.pnm
A    test/data/preview/eps-flat_photoshop-cs5-ascii-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs5-lev3_ns-xapGImg-preview1.pnm
A    test/data/preview/exiv2-fujifilm-finepix-s2pro-preview1.jpg
A    test/data/preview/exiv2-bug445-preview1.jpg
A    test/data/preview/eps-flat_photoshop-cs5-binary_exiv2-preview1.jpg
A    test/data/preview/eps-nested_xmp_ai-cs5-lev3-preview1.tif
A    test/data/preview/eps-flat_oodraw_ai-cs5-lev3-preview1.pnm
A    test/data/preview/eps-nested_noxmp_indesign-cs5-lev2-preview1.tif
A    test/data/preview/eps-nested_noxmp_ai-cs5-lev3-preview1.pnm
A    test/data/preview/eps-flat_photoshop-cs5-binary-pre-preview1.jpg
A    test/data/preview/eps-nested_xmp_indesign-cs5-lev3-preview1.tif
A    test/data/preview/eps-nested_xmp_ai-3-lev3-preview1.tif
A    test/data/preview/iptc-psAPP13-noIPTC-preview1.jpg
A    test/data/preview/eps-flat_photoshop-cs5-ascii-pre-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs-lev2-preview1.pnm
A    test/data/preview/eps-flat_photoshop-cs5-binary_exiv2_missing-begin-xml-packet-preview1.jpg
A    test/data/preview/iptc-psAPP13-wIPTC1-psAPP13-wIPTC2-preview1.jpg
A    test/data/preview/smiley2-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-8-lev3-preview1.pnm
A    test/data/preview/exiv2-canon-powershot-s40-preview1.jpg
A    test/data/preview/preview-test.out
A    test/data/preview/eps-nested_noxmp_ai-8-lev3-preview1.pnm
A    test/data/preview/exiv2-pre-in-xmp-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs3-lev2-preview2.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs5-lev3-pre-preview1.pnm
A    test/data/preview/eps-flat_oodraw_ai-10-lev2-preview1.pnm
A    test/data/preview/eps-flat_oodraw_ai-cs5-lev2-preview2.jpg
A    test/data/preview/eps-nested_noxmp_ai-cs5-lev2-preview2.jpg
A    test/data/preview/iptc-psAPP13-wIPTCmid-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs2-lev2-preview1.pnm
A    test/data/preview/eps-flat_oodraw_ai-cs4-lev2-preview1.pnm
A    test/data/preview/glider-preview1.jpg
A    test/data/preview/eps-nested_noxmp_indesign-cs5-lev3-preview1.tif
A    test/data/preview/exiv2-panasonic-dmc-fz5-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-8-lev2-preview2.jpg
A    test/data/preview/exiv2-sigma-d10-preview1.jpg
A    test/data/preview/eps-nested_xmp_ai-cs5-lev3-preview2.pnm
A    test/data/preview/eps-nested_noxmp_indesign-cs5-lev2-bin-preview1.tif
A    test/data/preview/exiv2-photoshop-preview1.jpg
A    test/data/preview/exiv2-canon-eos-300d-preview1.jpg
A    test/data/preview/eps-nested_xmp_indesign-cs5-lev3-bin-preview1.tif
A    test/data/preview/eps-flat_photoshop-e9-win-preview1.jpg
A    test/data/preview/exiv2-olympus-c8080wz-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-9-lev2-preview1.pnm
A    test/data/preview/exiv2-sony-dsc-w7-preview1.jpg
A    test/data/preview/iptc-psAPP13-wIPTCmid1-wIPTCempty-wIPTCmid2-preview1.jpg
A    test/data/preview/iptc-psAPP13-noIPTC-psAPP13-wIPTC-preview1.jpg
A    test/data/preview/eps-flat_photoshop-cs5-binary_exiv2-bigxmp-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs5-lev3_ns-xapGImg-preview2.jpg
A    test/data/preview/exiv2-nikon-e950-preview1.jpg
A    test/data/preview/exiv2-kodak-dc210-preview1.tif
A    test/data/preview/exiv2-nikon-e990-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs5-lev3-nodocthumb-preview1.jpg
A    test/data/preview/eps-nested_noxmp_oodraw-lev2-pre-preview1.tif
A    test/data/preview/eps-flat_photoshop-cs5-binary_exiftool-8.56-preview1.jpg
A    test/data/preview/eps-flat_oodraw_ai-cs5-lev3-preview2.jpg
A    test/data/smiley1.jpg.c3gd
A    test/data/exiv2-bug800-8BIM.psd
A    test/data/StaffPhotographer-Example.xmp
A    test/data/smiley1.jpg.i2gd
A    test/data/path-test.txt
A    test/data/iptc-psAPP13-wIPTCmid1-wIPTCempty-wIPTCmid2.jpg.irgd
A    test/data/iptc-psAPP13-noIPTC-psAPP13-wIPTC.jpg.irgd
A    test/data/glider.exv.irgd
A    test/data/iptc-psAPP13-noIPTC.jpg
A    test/data/iptc-psAPP13s-wIPTC-psAPP13s-noIPTC.jpg.ipgd
A    test/data/iptc-psAPP13-noIPTC.jpg.iagd
A    test/data/smiley1.jpg.egd
A    test/data/iptc-psAPP13-wIPTC1-psAPP13-wIPTC2.jpg.egd
A    test/data/smiley2.jpg.egd
A    test/data/iptc-psAPP13-wIPTCbeg.jpg.egd
A    test/data/iptc-psAPP13-wIPTCempty.jpg.egd
A    test/data/iptc-psAPP13-wIPTC1-psAPP13-wIPTC2.jpg.iagd
A    test/data/iptc-psAPP13-noIPTC-psAPP13-wIPTC.jpg
A    test/data/iptc-psAPP13s-wIPTC-psAPP13s-noIPTC.jpg.ixgd
A    test/data/smiley2.jpg.iagd
A    test/data/iptc-psAPP13s-wIPTC-psAPP13s-noIPTC.jpg.egd
A    test/data/BlueSquare.xmp
A    test/data/exiv2-bug800-8BIM.jpg
A    test/data/exiv2-bug800-DCSR.psd
A    test/data/crw-test.out
A    test/exifdata-test.sh
A    test/modify-test.sh
A    test/eps-test.sh
A    test/Makefile
A    test/tiff-test.sh
A    msvc64
A    msvc64/expat
A    msvc64/expat/expat.vcproj
A    msvc64/include
A    msvc64/include/exv_msvc.h
A    msvc64/exiv2lib
A    msvc64/exiv2lib/exiv2lib.vcproj
A    msvc64/zlib123
A    msvc64/zlib123/zlib.vcproj
A    msvc64/runner.txt
A    msvc64/src
A    msvc64/zlib125
A    msvc64/zlib125/zlib.vcproj
A    msvc64/exiv2.sln
A    msvc64/buildall.bat
A    msvc64/exiv2
A    msvc64/exiv2/exiv2.vcproj
A    msvc64/exiv2/cleaner.bat
A    msvc64/runner.py
A    msvc64/tools
A    msvc64/tools/depends
A    msvc64/tools/depends/stdafx.h
A    msvc64/tools/depends/include
A    msvc64/tools/depends/include/DEPENDENCYLIST.H
A    msvc64/tools/depends/include/MEMORYMAPPEDFILE.H
A    msvc64/tools/depends/include/EXEFILE.H
A    msvc64/tools/depends/include/modulefileinfo.h
A    msvc64/tools/depends/include/PEEXE.H
A    msvc64/tools/depends/depends.vcproj
A    msvc64/tools/depends/src
A    msvc64/tools/depends/src/MEMORYMAPPEDFILE.CPP
A    msvc64/tools/depends/src/EXEFILE.CPP
A    msvc64/tools/depends/src/modulefileinfo.cpp
A    msvc64/tools/depends/src/depends.cpp
A    msvc64/tools/depends/src/PEEXE.CPP
A    msvc64/tools/depends/src/DEPENDENCYLIST.CPP
A    msvc64/tools/depends/Depends2.suo
A    msvc64/tools/depends/targetver.h
A    msvc64/tools/depends/stdafx.cpp
A    msvc64/tools/depends/ReadMe.txt
A    msvc64/tools/depends/depends.sln
A    msvc64/tools/bin
A    msvc64/tools/bin/depends32.exe
A    msvc64/tools/bin/depends64.exe
A    msvc64/zlib
A    msvc64/zlib/zlib.vcproj
A    msvc64/setbuild.py
A    msvc64/testimages
A    msvc64/testimages/test.png
A    msvc64/testimages/test.tiff
A    msvc64/testimages/test.jpg
A    msvc64/xmpsdk
A    msvc64/xmpsdk/xmpsdk.vcproj
A    msvc64/ReadMe.txt
A    src
A    src/iptc.cpp
A    src/tiffimage.hpp
A    src/olympusmn.cpp
A    src/mrwthumb.cpp
A    src/futils.cpp
A    src/mrwimage.cpp
A    src/sigmamn_int.hpp
A    src/exiv2.1
A    src/value.cpp
A    src/utiltest.cpp
A    src/tgaimage.cpp
A    src/rcsid_int.hpp
A    src/crwparse.cpp
A    src/metacopy.hpp
A    src/pngimage.cpp
A    src/exif.cpp
A    src/properties.hpp
A    src/exiv2.hpp
A    src/sonymn_int.hpp
A    src/types.cpp
A    src/utils.hpp
A    src/orfimage_int.hpp
A    src/tifffwd_int.hpp
A    src/xmp.hpp
A    src/basicio.cpp
A    src/pngchunk.cpp
A    src/pgfimage.cpp
A    src/metadatum.cpp
A    src/i18n.h
A    src/error.cpp
A    src/psdimage.hpp
A    src/tags.cpp
A    src/crwimage.cpp
A    src/epsimage.hpp
A    src/xmpsidecar.cpp
A    src/iptc.hpp
A    src/gifimage.cpp
A    src/tiffimage_int.hpp
A    src/futils.hpp
A    src/tags_int.hpp
A    src/rw2image.cpp
A    src/crwimage_int.hpp
A    src/mrwimage.hpp
A    src/convert.cpp
A    src/value.hpp
A    src/preview.cpp
A    src/tgaimage.hpp
A    src/jpgimage.cpp
A    src/version.cpp
A    src/nikonmn_int.hpp
A    src/fujimn.cpp
A    src/cr2image.cpp
A    src/tiffcomposite_int.hpp
A    src/pngimage.hpp
A    src/exif.hpp
A    src/actions.cpp
A    src/crwedit.cpp
A    src/exiv2app.hpp
A    src/fujimn_int.hpp
A    src/samsungmn.cpp
A    src/datasets.cpp
A    src/types.hpp
A    src/rafimage.cpp
A    src/basicio.hpp
A    src/image.cpp
A    src/easyaccess.cpp
A    src/pgfimage.hpp
A    src/metadatum.hpp
A    src/samsungmn_int.hpp
A    src/xmpdump.cpp
A    src/sigmamn.cpp
A    src/jp2image.cpp
A    src/error.hpp
A    src/crwimage.hpp
A    src/tags.hpp
A    src/xmpsidecar.hpp
A    src/makernote_int.hpp
A    src/canonmn_int.hpp
A    src/path-test.cpp
A    src/gifimage.hpp
A    src/olympusmn_int.hpp
A    src/rw2image.hpp
A    src/sonymn.cpp
A    src/convert.hpp
A    src/preview.hpp
A    src/timegm.h
A    src/jpgimage.hpp
A    src/orfimage.cpp
A    src/version.hpp
A    src/Makefile
A    src/cr2image.hpp
A    src/actions.hpp
A    src/taglist.cpp
A    src/datasets.hpp
A    src/rafimage.hpp
A    src/bmpimage.cpp
A    src/getopt_win32.c
A    src/image.hpp
A    src/easyaccess.hpp
A    src/getopt_win32.h
A    src/tiffimage.cpp
A    src/pngchunk_int.hpp
A    src/jp2image.hpp
A    src/tiff-test.cpp
A    src/nikonmn.cpp
A    src/tiffcomposite.cpp
A    src/private.h
A    src/metacopy.cpp
A    src/pentaxmn.cpp
A    src/CMakeLists.txt
A    src/properties.cpp
A    src/rw2image_int.hpp
A    src/exiv2.cpp
A    src/minoltamn.cpp
A    src/orfimage.hpp
A    src/tiffmn-test.cpp
A    src/utils.cpp
A    src/tzfile.h
A    src/xmp.cpp
A    src/panasonicmn.cpp
A    src/cr2image_int.hpp
A    src/tiffvisitor.cpp
A    src/localtime.c
A    src/pentaxmn_int.hpp
A    src/minoltamn_int.hpp
A    src/TODO
A    src/makernote.cpp
A    src/panasonicmn_int.hpp
A    src/bmpimage.hpp
A    src/tiffvisitor_int.hpp
A    src/doxygen.hpp.in
A    src/psdimage.cpp
A    src/canonmn.cpp
A    src/epsimage.cpp
A    contrib
A    contrib/diffeps
A    contrib/buildForMac
A    contrib/createEpsTestfiles
A    contrib/organize
A    contrib/organize/organize.cpp
A    contrib/organize/helpers.cpp
A    contrib/organize/MD5.cpp
A    contrib/organize/helpers.hpp
A    contrib/organize/MD5.h
A    contrib/organize/boost.mk
A    contrib/organize/Makefile
A    contrib/organize/README
A    samples
A    samples/xmpparser-test.cpp
A    samples/xmpparse.cpp
A    samples/iptctest.cpp
A    samples/easyaccess-test.cpp
A    samples/exifdata-test.cpp
A    samples/tiff-test.cpp
A    samples/key-test.cpp
A    samples/xmpsample.cpp
A    samples/write-test.cpp
A    samples/iotest.cpp
A    samples/mmap-test.cpp
A    samples/exifprint.cpp
A    samples/iptcprint.cpp
A    samples/prevtest.cpp
A    samples/addmoddel.cpp
A    samples/exifcomment.cpp
A    samples/iptceasy.cpp
A    samples/stringto-test.cpp
A    samples/largeiptc-test.cpp
A    samples/write2-test.cpp
A    samples/tiffaddpath-test.cpp
A    samples/Makefile
A    samples/CMakeLists.txt
A    samples/convert-test.cpp
A    samples/werror-test.cpp
A    config
A    config/mkinstalldirs
A    config/config.mk.in
A    config/ConfigureChecks.cmake
A    config/config.make
A    config/Makefile.in
A    config/config.rpath
A    config/Doxyfile
A    config/config.guess
A    config/ltmain.sh
A    config/config.sub
A    config/FindIconv.cmake
A    config/exv_msvc.h.cmake
A    config/config.h.in
A    config/FindEXPAT.cmake
A    config/exiv2.pc.in
A    config/configure.ac
A    config/exiv2_uninstall.cmake
A    config/exiv2.lsm.cmake
A    config/config.h.cmake
A    config/aclocal.m4
A    config/FindMSGFMT.cmake
A    config/exiv2.pc.cmake
A    config/install-sh
A    doc
A    doc/README-XMP
A    doc/cmd.txt
A    doc/include
A    doc/include/exiv2-components.png
A    doc/include/descending.png
A    doc/include/blank.png
A    doc/include/sortabletable.css
A    doc/include/ascending.png
A    doc/include/sortabletable.js
A    doc/cmdxmp.txt
A    doc/ChangeLog
A    doc/index.html
A    doc/COPYING-XMPSDK
A    doc/Makefile
A    doc/templates
A    doc/templates/tags-nikon.html.in
A    doc/templates/__maintitle__
A    doc/templates/exiv2.dot
A    doc/templates/tags-xmp-xmpTPg.html.in
A    doc/templates/xmp.awk
A    doc/templates/tags-xmp-photoshop.html.in
A    doc/templates/tags-xmp-plus.html.in
A    doc/templates/tags-sony.html.in
A    doc/templates/makernote.html.in
A    doc/templates/tags-xmp-tiff.html.in
A    doc/templates/tags-exif.html.in
A    doc/templates/tags-xmp-exif.html.in
A    doc/templates/tags-xmp-aux.html.in
A    doc/templates/tags-pentax.html.in
A    doc/templates/__CrwMapping__
A    doc/templates/__doctype__
A    doc/templates/tags-xmp-xmpMM.html.in
A    doc/templates/tags-minolta.html.in
A    doc/templates/xmp.xsl
A    doc/templates/tags-xmp-xmp.html.in
A    doc/templates/gpl-license.html.in
A    doc/templates/Makefile
A    doc/templates/tags.awk
A    doc/templates/tags-xmp-pdf.html.in
A    doc/templates/tags-panasonic.html.in
A    doc/templates/iptc.awk
A    doc/templates/tags-samsung.html.in
A    doc/templates/__index1__
A    doc/templates/__index2__
A    doc/templates/tags-xmp-MicrosoftPhoto.html.in
A    doc/templates/tags-xmp-iptcExt.html.in
A    doc/templates/__index3__
A    doc/templates/tags-xmp-xmpBJ.html.in
A    doc/templates/__intro__
A    doc/templates/tags-xmp-xmpDM.html.in
A    doc/templates/tags-xmp-xmpRights.html.in
A    doc/templates/crw-mapping.html.in
A    doc/templates/tags-xmp-dc.html.in
A    doc/templates/tags-xmp-crs.html.in
A    doc/templates/gen.py
A    doc/templates/tags-canon.html.in
A    doc/templates/tags-xmp-kipi.html.in
A    doc/templates/tags-iptc.html.in
A    doc/templates/tags.xsl
A    doc/templates/tags-sigma.html.in
A    doc/templates/iptc.xsl
A    doc/templates/__makernotes__
A    doc/templates/tags-xmp-expressionmedia.html.in
A    doc/templates/tags-xmp-iptc.html.in
A    doc/templates/__header2__
A    doc/templates/tags-xmp-mediapro.html.in
A    doc/templates/tags-fujifilm.html.in
A    doc/templates/tags-xmp-digiKam.html.in
A    doc/templates/tags-olympus.html.in
A    doc/templates/getting-started.html.in
A    xmpsdk
A    xmpsdk/include
A    xmpsdk/include/TXMPUtils.hpp
A    xmpsdk/include/XMP_Version.h
A    xmpsdk/include/XMP_Const.h
A    xmpsdk/include/TXMPMeta.hpp
A    xmpsdk/include/TXMPIterator.hpp
A    xmpsdk/include/client-glue
A    xmpsdk/include/client-glue/TXMPUtils.incl_cpp
A    xmpsdk/include/client-glue/WXMPUtils.hpp
A    xmpsdk/include/client-glue/WXMPFiles.hpp
A    xmpsdk/include/client-glue/TXMPMeta.incl_cpp
A    xmpsdk/include/client-glue/TXMPIterator.incl_cpp
A    xmpsdk/include/client-glue/WXMPMeta.hpp
A    xmpsdk/include/client-glue/WXMP_Common.hpp
A    xmpsdk/include/client-glue/WXMPIterator.hpp
A    xmpsdk/include/XMP.incl_cpp
A    xmpsdk/include/MD5.h
A    xmpsdk/include/XMPSDK.hpp
A    xmpsdk/include/XMP_Environment.h
A    xmpsdk/src
A    xmpsdk/src/XMPCore_Impl.cpp
A    xmpsdk/src/XMPMeta-Serialize.cpp
A    xmpsdk/src/WXMPMeta.cpp
A    xmpsdk/src/XMPCore_Impl.hpp
A    xmpsdk/src/XMP_BuildInfo.h
A    xmpsdk/src/XMPMeta-GetSet.cpp
A    xmpsdk/src/WXMPIterator.cpp
A    xmpsdk/src/XML_Node.cpp
A    xmpsdk/src/ParseRDF.cpp
A    xmpsdk/src/XMPMeta.cpp
A    xmpsdk/src/WXMPUtils.cpp
A    xmpsdk/src/UnicodeInlines.incl_cpp
A    xmpsdk/src/XMPUtils-FileInfo.cpp
A    xmpsdk/src/XMPIterator.cpp
A    xmpsdk/src/UnicodeConversions.cpp
A    xmpsdk/src/XMPMeta.hpp
A    xmpsdk/src/ExpatAdapter.cpp
A    xmpsdk/src/XMLParserAdapter.hpp
A    xmpsdk/src/XMPIterator.hpp
A    xmpsdk/src/XMPMeta-Parse.cpp
A    xmpsdk/src/UnicodeConversions.hpp
A    xmpsdk/src/MD5.cpp
A    xmpsdk/src/XMPUtils.cpp
A    xmpsdk/src/ExpatAdapter.hpp
A    xmpsdk/src/XMPUtils.hpp
A    xmpsdk/src/Makefile
A    xmpsdk/CMakeLists.txt
A    msvc
A    msvc/iptceasy
A    msvc/iptceasy/iptceasy.vcproj
A    msvc/README-MSVC.txt
A    msvc/exiv2lib
A    msvc/exiv2lib/exiv2lib.vcproj
A    msvc/exivsimple
A    msvc/exivsimple/stdafx.h
A    msvc/exivsimple/exivsimple.cpp
A    msvc/exivsimple/exivsimple.vcproj
A    msvc/exivsimple/stdafx.cpp
A    msvc/exivsimple/exivsimple.h
A    msvc/src
A    msvc/runner.txt
A    msvc/largeiptc-test
A    msvc/largeiptc-test/largeiptc-test.vcproj
A    msvc/diff.exe
A    msvc/convert-test
A    msvc/convert-test/convert-test.vcproj
A    msvc/test.jpg
A    msvc/exifdata-test
A    msvc/exifdata-test/exifdata-test.vcproj
A    msvc/test.png
A    msvc/tiff-test
A    msvc/tiff-test/tiff-test.vcproj
A    msvc/xmpsdk
A    msvc/xmpsdk/xmpsdk.vcproj
A    msvc/write-test
A    msvc/write-test/write-test.vcproj
A    msvc/mmap-test
A    msvc/mmap-test/mmap-test.vcproj
A    msvc/iotest
A    msvc/iotest/iotest.vcproj
A    msvc/exifprint
A    msvc/exifprint/exifprint.vcproj
A    msvc/utiltest
A    msvc/utiltest/utiltest.vcproj
A    msvc/addmoddel
A    msvc/addmoddel/addmoddel.vcproj
A    msvc/exifcomment
A    msvc/exifcomment/exifcomment.vcproj
A    msvc/cleaner.bat
A    msvc/organize
A    msvc/organize/organize.vcproj
A    msvc/metacopy
A    msvc/metacopy/metacopy.vcproj
A    msvc/include
A    msvc/include/exv_msvc.h
A    msvc/depends2.exe
A    msvc/stringto-test
A    msvc/stringto-test/stringto-test.vcproj
A    msvc/exiv2.sln
A    msvc/d.bat
A    msvc/write2-test
A    msvc/write2-test/write2-test.vcproj
A    msvc/editor.bat
A    msvc/exiv2
A    msvc/exiv2/exiv2.vcproj
A    msvc/xmpparser-test
A    msvc/xmpparser-test/xmpparser-test.vcproj
A    msvc/iptctest
A    msvc/iptctest/iptctest.vcproj
A    msvc/xmpparse
A    msvc/xmpparse/xmpparse.vcproj
A    msvc/exiv2+organize.sln
A    msvc/test.tiff
A    msvc/xmpsample
A    msvc/xmpsample/xmpsample.vcproj
A    msvc/taglist
A    msvc/taglist/taglist.vcproj
A    msvc/updater.bat
A    msvc/prevtest
A    msvc/prevtest/prevtest.vcproj
A    msvc/iptcprint
A    msvc/iptcprint/iptcprint.vcproj
A    msvc/runner7.txt
A    msvc/runner.bat
A    po
A    po/Rules-quot
A    po/insert-header.sin
A    po/es.po
A    po/fr.po
A    po/remove-potcdate.sin
A    po/ChangeLog
A    po/Makefile.in.in
A    po/pl.po
A    po/sk.po
A    po/POTFILES.in
A    po/exiv2.pot
A    po/quot.sed
A    po/LINGUAS
A    po/en@quot.header
A    po/boldquot.sed
A    po/en@boldquot.header
A    po/ru.po
A    po/de.po
A    po/Makevars
A    po/fi.po
A    po/CMakeLists.txt
Actualisé à la révision 2667.

[gilles@localhost exiv2]$ cmake .
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for iconv_open
-- Looking for iconv_open - found
-- Performing Test ICONV_COMPILES
-- Performing Test ICONV_COMPILES - Success
-- Found ICONV: In glibc 
-- Performing Test ICONV_ACCEPTS_NONCONST_INPUT
-- Performing Test ICONV_ACCEPTS_NONCONST_INPUT - Success
-- Performing Test ICONV_ACCEPTS_CONST_INPUT
-- Performing Test ICONV_ACCEPTS_CONST_INPUT - Failed
-- Found ZLIB: /usr/include (found version "1.2.5")
-- Found EXPAT: /usr/lib/libexpat.so 
-- ICONV_LIBRARIES : 
-- Program msgfmt found (/usr/bin/msgfmt)
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for libintl.h
-- Looking for libintl.h - found
-- Looking for malloc.h
-- Looking for malloc.h - found
-- Looking for memory.h
-- Looking for memory.h - found
-- Looking for iconv.h
-- Looking for iconv.h - found
-- Looking for stdbool.h
-- Looking for stdbool.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stdlib.h
-- Looking for stdlib.h - found
-- Looking for string.h
-- Looking for string.h - found
-- Looking for strings.h
-- Looking for strings.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for wchar.h
-- Looking for wchar.h - found
-- Looking for sys/stat.h
-- Looking for sys/stat.h - found
-- Looking for sys/time.h
-- Looking for sys/time.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for sys/mman.h
-- Looking for sys/mman.h - found
-- Looking for process.h
-- Looking for process.h - not found
-- Looking for alarm
-- Looking for alarm - found
-- Looking for gmtime_r
-- Looking for gmtime_r - found
-- Looking for malloc
-- Looking for malloc - found
-- Looking for memset
-- Looking for memset - found
-- Looking for mmap
-- Looking for mmap - found
-- Looking for munmap
-- Looking for munmap - found
-- Looking for realloc
-- Looking for realloc - found
-- Looking for strchr
-- Looking for strchr - found
-- Looking for strchr_r
-- Looking for strchr_r - not found
-- Looking for strerror
-- Looking for strerror - found
-- Looking for strerror_r
-- Looking for strerror_r - found
-- Looking for strtol
-- Looking for strtol - found
-- Looking for timegm
-- Looking for timegm - found
-- Looking for vprintf
-- Looking for vprintf - found
-- None:              
-- Debug:             -g
-- Release:           -O3 -DNDEBUG
-- RelWithDebInfo:    -O2 -g
-- MinSizeRel:        -Os -DNDEBUG
-- Looking for _Bool
-- Looking for _Bool - not found.
-- Performing Test TM_IN_SYS_TIME
-- Performing Test TM_IN_SYS_TIME - Failed
-- Performing Test STRERROR_R_CHAR_P
-- Performing Test STRERROR_R_CHAR_P - Success
-- Performing Test TIME_WITH_SYS_TIME
-- Performing Test TIME_WITH_SYS_TIME - Success
-- ------------------------------------------------------------------
-- exiv2 0.22 configure results        <http://www.exiv2.org>
-- Building PNG support:               YES
-- Building shared library:            YES
-- XMP metadata support:               YES
-- Building static libxmp:             NO
-- Native language support:            YES
-- Conversion of Windows XP tags:      YES
-- Nikon lens database:                YES
-- Commercial build:                   NO
-- Build the unit tests:               NO
-- Building translations files:        NO
-- ------------------------------------------------------------------
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/data/Devel/SVN/trunk/exiv2

[gilles@localhost exiv2]$ make
Scanning dependencies of target exiv2
[  1%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/ExpatAdapter.cpp.o                                                       
[  2%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/MD5.cpp.o                                                                
[  4%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/ParseRDF.cpp.o                                                           
[  5%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/UnicodeConversions.cpp.o                                                 
[  7%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/WXMPIterator.cpp.o                                                       
[  8%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/WXMPMeta.cpp.o                                                           
[  9%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/WXMPUtils.cpp.o                                                          
[ 11%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/XML_Node.cpp.o                                                           
[ 12%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/XMPCore_Impl.cpp.o                                                       
[ 14%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/XMPIterator.cpp.o                                                        
[ 15%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/XMPMeta-GetSet.cpp.o                                                     
[ 16%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/XMPMeta-Parse.cpp.o                                                      
[ 18%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/XMPMeta-Serialize.cpp.o                                                  
[ 19%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/XMPMeta.cpp.o                                                            
[ 21%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/XMPUtils-FileInfo.cpp.o                                                  
[ 22%] Building CXX object src/CMakeFiles/exiv2.dir/__/xmpsdk/src/XMPUtils.cpp.o                                                           
[ 23%] Building CXX object src/CMakeFiles/exiv2.dir/basicio.cpp.o                                                                          
[ 25%] Building CXX object src/CMakeFiles/exiv2.dir/bmpimage.cpp.o                                                                         
[ 26%] Building CXX object src/CMakeFiles/exiv2.dir/canonmn.cpp.o                                                                          
[ 28%] Building CXX object src/CMakeFiles/exiv2.dir/convert.cpp.o                                                                          
[ 29%] Building CXX object src/CMakeFiles/exiv2.dir/cr2image.cpp.o                                                                         
[ 30%] Building CXX object src/CMakeFiles/exiv2.dir/crwedit.cpp.o                                                                          
[ 32%] Building CXX object src/CMakeFiles/exiv2.dir/crwimage.cpp.o                                                                         
[ 33%] Building CXX object src/CMakeFiles/exiv2.dir/datasets.cpp.o                                                                         
[ 35%] Building CXX object src/CMakeFiles/exiv2.dir/easyaccess.cpp.o                                                                       
[ 36%] Building CXX object src/CMakeFiles/exiv2.dir/epsimage.cpp.o                                                                         
[ 38%] Building CXX object src/CMakeFiles/exiv2.dir/error.cpp.o                                                                            
[ 39%] Building CXX object src/CMakeFiles/exiv2.dir/exif.cpp.o                                                                             
[ 40%] Building CXX object src/CMakeFiles/exiv2.dir/futils.cpp.o                                                                           
[ 42%] Building CXX object src/CMakeFiles/exiv2.dir/fujimn.cpp.o                                                                           
[ 43%] Building CXX object src/CMakeFiles/exiv2.dir/gifimage.cpp.o                                                                         
[ 45%] Building CXX object src/CMakeFiles/exiv2.dir/image.cpp.o                                                                            
[ 46%] Building CXX object src/CMakeFiles/exiv2.dir/iptc.cpp.o                                                                             
[ 47%] Building CXX object src/CMakeFiles/exiv2.dir/jp2image.cpp.o                                                                         
[ 49%] Building CXX object src/CMakeFiles/exiv2.dir/jpgimage.cpp.o                                                                         
[ 50%] Building CXX object src/CMakeFiles/exiv2.dir/makernote.cpp.o                                                                        
[ 52%] Building CXX object src/CMakeFiles/exiv2.dir/metadatum.cpp.o                                                                        
[ 53%] Building CXX object src/CMakeFiles/exiv2.dir/minoltamn.cpp.o
[ 54%] Building CXX object src/CMakeFiles/exiv2.dir/mrwimage.cpp.o
[ 56%] Building CXX object src/CMakeFiles/exiv2.dir/nikonmn.cpp.o
[ 57%] Building CXX object src/CMakeFiles/exiv2.dir/olympusmn.cpp.o
[ 59%] Building CXX object src/CMakeFiles/exiv2.dir/orfimage.cpp.o
[ 60%] Building CXX object src/CMakeFiles/exiv2.dir/panasonicmn.cpp.o
[ 61%] Building CXX object src/CMakeFiles/exiv2.dir/pentaxmn.cpp.o
[ 63%] Building CXX object src/CMakeFiles/exiv2.dir/pgfimage.cpp.o
[ 64%] Building CXX object src/CMakeFiles/exiv2.dir/preview.cpp.o
[ 66%] Building CXX object src/CMakeFiles/exiv2.dir/properties.cpp.o
[ 67%] Building CXX object src/CMakeFiles/exiv2.dir/psdimage.cpp.o
[ 69%] Building CXX object src/CMakeFiles/exiv2.dir/rafimage.cpp.o
[ 70%] Building CXX object src/CMakeFiles/exiv2.dir/rw2image.cpp.o
[ 71%] Building CXX object src/CMakeFiles/exiv2.dir/samsungmn.cpp.o
[ 73%] Building CXX object src/CMakeFiles/exiv2.dir/sigmamn.cpp.o
[ 74%] Building CXX object src/CMakeFiles/exiv2.dir/sonymn.cpp.o
[ 76%] Building CXX object src/CMakeFiles/exiv2.dir/tags.cpp.o
[ 77%] Building CXX object src/CMakeFiles/exiv2.dir/tgaimage.cpp.o
[ 78%] Building CXX object src/CMakeFiles/exiv2.dir/tiffcomposite.cpp.o
[ 80%] Building CXX object src/CMakeFiles/exiv2.dir/tiffimage.cpp.o
[ 81%] Building CXX object src/CMakeFiles/exiv2.dir/tiffvisitor.cpp.o
[ 83%] Building CXX object src/CMakeFiles/exiv2.dir/types.cpp.o
[ 84%] Building CXX object src/CMakeFiles/exiv2.dir/value.cpp.o
[ 85%] Building CXX object src/CMakeFiles/exiv2.dir/version.cpp.o
[ 87%] Building CXX object src/CMakeFiles/exiv2.dir/xmp.cpp.o
[ 88%] Building CXX object src/CMakeFiles/exiv2.dir/xmpsidecar.cpp.o
[ 90%] Building CXX object src/CMakeFiles/exiv2.dir/pngchunk.cpp.o
[ 91%] Building CXX object src/CMakeFiles/exiv2.dir/pngimage.cpp.o
Linking CXX shared library libexiv2.so
[ 91%] Built target exiv2
Scanning dependencies of target exiv2bin
[ 92%] Building CXX object src/CMakeFiles/exiv2bin.dir/exiv2.cpp.o
[ 94%] Building CXX object src/CMakeFiles/exiv2bin.dir/actions.cpp.o
[ 95%] Building CXX object src/CMakeFiles/exiv2bin.dir/utils.cpp.o
Linking CXX executable exiv2
[ 95%] Built target exiv2bin
Scanning dependencies of target metacopy
[ 97%] Building CXX object src/CMakeFiles/metacopy.dir/metacopy.cpp.o
[ 98%] Building CXX object src/CMakeFiles/metacopy.dir/utils.cpp.o
Linking CXX executable metacopy
[ 98%] Built target metacopy
Scanning dependencies of target taglist
[100%] Building CXX object src/CMakeFiles/taglist.dir/taglist.cpp.o
Linking CXX executable taglist
[100%] Built target taglist
Comment 37 Ananta Palani 2012-03-09 15:22:11 UTC
(In reply to comment #36)
> Exiv2 compile fine using cmake on my computer under Linux:

Looks like the CMakeFile.txts is only in SVN repository? I was looking at the source tar.gz for 0.22 and they are not inside there.

Andreas, is there a reason these aren't in the source archive? In light of this, I'll may change KDE Windows build system to use SVN which would make prep a little simpler.

Also, I will attach a patch with some minor changes to the CMakeFile.txts in SVN. Most of the MSVC additions in SVN are unnecessary, so it appears someone was doing some debugging, but committed it to the repository. Without the changes in the patch compilation in KDE Windows is not possible.

-Ananta
Comment 38 Ananta Palani 2012-03-09 15:24:04 UTC
Created attachment 69428 [details]
Patch against SVN trunk to fix compilation on MSVC with KDE Windows
Comment 39 caulier.gilles 2012-03-09 15:28:15 UTC
Yes Ananta, CMakeLists.txt file is only on SVN

Thanks for the patch

Gilles
Comment 40 caulier.gilles 2012-03-09 15:29:55 UTC
Ananta,

Patch sound fine for me. Do you tested with both compiler : MSVC and MinGW ?

Gilles Caulier
Comment 41 Ananta Palani 2012-03-09 15:32:34 UTC
(In reply to comment #40)
> Patch sound fine for me. Do you tested with both compiler : MSVC and MinGW ?

Only with MSVC, I don't have MinGW.. the only difference between the one CMakeLists.txt files that KDE Windows from SVN (with the patches I gave) is the portion that changes the target lib/executable directory for MSVC depending on build type, which won't affect MinGW. So I think that it should build with MinGW just fine.

Out of curiosity, why is cmake support in svn only?

-Ananta
Comment 42 Ananta Palani 2012-03-09 15:38:01 UTC
(In reply to comment #33)
> To show Exiv2 debug messages, Ananta need to turn on debug message of
> libkexiv2, through kdebugdialog program from KDE desktop.

Gilles,

Do you mean 51003 KEXIV2? That is the only exiv2 related item in kdebugdialog that I can see.

-Ananta
Comment 43 caulier.gilles 2012-03-09 15:44:15 UTC
Ananta,

Yes, it's right debug sapce for libkexiv2

Gilles Caulier
Comment 44 Andreas Huggel 2012-03-10 06:13:55 UTC
(In reply to comment #38)
> Created attachment 69428 [details]
> Patch against SVN trunk to fix compilation on MSVC with KDE Windows

Thanks for the patch. I've checked it in.

Andreas
Comment 45 Andreas Huggel 2012-03-10 06:22:29 UTC
Cmake is still not officially supported, that's why I remove it from the releases.
First, we have no maintainer for it and I can't currently maintain it myself. Second, it still needs considerable work: at least a lot of testing and checking if all the subtleties from the current build process are satisfactorily mapped. The one thing I remember is that it doesn't build the sample programs the same way as the automake process.
Eventually the plan is still to switch to cmake and remove all other build environments.

Andreas
Comment 46 caulier.gilles 2012-03-27 07:27:26 UTC
What still to do with this entry ? Ic an be closed now ?

Philipe, can you check if current git/master implementation fix your problem please ?

Thanks in advance

Gilles Caulier
Comment 47 philippe.quaglia 2012-03-30 09:03:05 UTC
Hello,
I'm not skilled enough to compile Digikam from Git to run tests for this 
bug.
I propose to make some additionnal tests and report their results as 
soon as Digikam 2.6 is released.
Is that ok for you ?
Regards.
Philippe

Le 27/03/2012 09:27, Gilles Caulier a écrit :
> https://bugs.kde.org/show_bug.cgi?id=286611
>
> --- Comment #46 from Gilles Caulier<caulier.gilles@gmail.com>  ---
> What still to do with this entry ? Ic an be closed now ?
>
> Philipe, can you check if current git/master implementation fix your problem
> please ?
>
> Thanks in advance
>
> Gilles Caulier
>
Comment 48 caulier.gilles 2012-12-21 10:45:48 UTC
Philipe,

I need to know if you can reproduce the original problem with last stable 2.9.0 ?

Thanks in advance

Gilles Caulier
Comment 49 caulier.gilles 2014-09-01 11:14:34 UTC
Philippe,
What's new about this file using last digiKam 4.2.0 ?

Gilles Caulier
Comment 50 philippe.quaglia 2014-09-01 16:57:56 UTC
Hello Gilles, sorry but for now, Digikam 4.2 is just a crash machine under Ubuntu, so I'm not able to perform any tests. It should be solved with the next Ubuntu release, late october, that will update the sqlite library.
Comment 51 philippe.quaglia 2014-12-02 18:05:28 UTC
Hello, this last days, I have done massive transform of .tiff to .png, with Digikam 4.5.0, and I did not notice any problem. I guess this bug is now solved and can be closed. Sorry for not having performed some tests previously.
Regards.
Philippe.