FFe and sync request for exiv2 0.18 from Debian Experimental

Bug #309684 reported by Pascal de Bruijn on 2008-12-19
14
Affects Status Importance Assigned to Milestone
exiv2 (Ubuntu)
Wishlist
Luka Renko
geeqie (Ubuntu)
Undecided
Luka Renko
gnome-commander (Ubuntu)
Undecided
Luka Renko
gpscorrelate (Ubuntu)
Undecided
Luka Renko
hugin (Ubuntu)
Undecided
Luka Renko
kdegraphics (Ubuntu)
Undecided
Jonathan Riddell
koffice2 (Ubuntu)
Undecided
Luka Renko
kphotoalbum (Ubuntu)
Undecided
Luka Renko
libkexiv2 (Ubuntu)
Undecided
Luka Renko
merkaartor (Ubuntu)
Undecided
Luka Renko
pyexiv2 (Ubuntu)
Undecided
Luka Renko
qtpfsgui (Ubuntu)
Undecided
Luka Renko
rawstudio (Ubuntu)
Undecided
Luka Renko
strigi (Ubuntu)
Undecided
Jonathan Riddell
ufraw (Ubuntu)
Undecided
Luka Renko

Bug Description

Please sync the latest exiv2-0.18 from Debian Experimental.

exiv2-0.18 has great new features such as TIFF+EXIF write support. Read support for more filetypes including Photoshop PSD, and JPEG2000 (JP2).

It can also detect Canon Lenstype strings, which with previous version worked only for Nikon.

http://packages.debian.org/changelogs/pool/main/e/exiv2/exiv2_0.18-1/changelog

For example the new UFRaw package can use the new TIFF+EXIV2 write support. Others like digikam/phatch could benefit as well...

Related branches

Pascal de Bruijn (pmjdebruijn) wrote :

Is there any chance of getting exiv2-0.18 into Jaunty, since the merge window will be closing soon?

Stefan Ebner (sebner) wrote :

Unsubscribing Ubuntu Universe Sponsors and subscribing Ubuntu Main Sponsors since exiv2 is in main.

Changed in exiv2:
importance: Undecided → Wishlist
Daniel Holbach (dholbach) wrote :

It seems like a bunch of applications will need to be rebuilt / transitioned to a new API(?) Who's going to take care of that?

Pascal de Bruijn (pmjdebruijn) wrote :

There are some changes in the API, but aren't most apps already adjusted?

Patrice Vetsel (vetsel-patrice) wrote :

aptitude search ~D~n^libexiv2-4$

report these packages :

exiv2
geeqie
gimp-ufraw
gnome-commander
gpscorrelate
gpscorrelate-gui
gwenview
hugin-tools
kphotoalbum
libexiv2-dev
libkexiv2-3
libkexiv2-6
python-pyexiv2
qtpfsgui
ufraw

Daniel Holbach (dholbach) wrote :

Who's going to take care of fixing these up? Did anybody attempt to build them with the new exiv2?

I'm unsubscribing the Sponsors' Team for now. Please re-subscribe when ready.

Will test build in my PPA.

Changed in exiv2:
assignee: nobody → lure
status: New → In Progress
Pascal de Bruijn (pmjdebruijn) wrote :

I've already built exiv2 in my PPA, although I've only built UFRaw against it.

Luka Renko (lure) wrote :

You can see the results in my PPA:
https://launchpad.net/~lure/+archive/ppa

Build fails for the following rdepends:
- gequie: uses old/private API - need to check it upstream has never version
- koffice2: minor change required due to API change - will talk with upstream to fix for next beta
- libkexiv2: this package should be dropped as all rdepends of it now depends on newer version from kdegraphics
- pyexiv2: API change - need to check if upstream has newer version/fix

Perhaps a more complete list of packages depending on the existing libexiv2-4 API is (obviously including ones provided by the exiv2 package):

$ apt-cache rdepends libexiv2-4
libexiv2-4
Reverse Depends:
  libexiv2-4-dbgsym
  ufraw
  rawstudio
  qtpfsgui
  python-pyexiv2
  merkaartor
  libkexiv2-3
  krita-kde4
  kphotoalbum
  hugin-tools
  gpscorrelate-gui
  gpscorrelate
  gnome-commander
  gimp-ufraw
  geeqie
  libstreamanalyzer0
  libkexiv2-7
  libexiv2-dev
  gwenview
  exiv2

Luka Renko (lure) wrote :

Daniel: correct, and all these are included in my PPA. I have added additional tasks for packages that need work, so if somebody would like to help it would be appreciated.

Luka Renko (lure) wrote :

I have finally found some time to push this a bit forward:
- new koffice2 beta (1.9.98.7-0ubuntu1) builds fine with 0.18
- requested removal of libkexiv2 from the archive - bug 341399
- requested sync/FFe for geeqie 1.0~alpha3-4 that builds with 0.18 - bug 341415

The only remaining problem (besides waiting for approvals from motu-release and ubuntu-archive teams) remains pyexiv2 package which seems to use some internal APIs. Will look into this in next days.

Changed in koffice2:
assignee: nobody → lure
status: New → Fix Released
Changed in libkexiv2:
assignee: nobody → lure
status: New → In Progress
status: In Progress → Fix Committed
Changed in geeqie:
status: New → Fix Committed
Changed in pyexiv2:
assignee: nobody → lure
status: New → In Progress
Changed in geeqie:
assignee: nobody → lure
Luka Renko (lure) wrote :

As suspected, pyexiv2 transition is painful: it is very tightly linked to current version of exiv2 (0.17) and there is no newer release that would support exiv2. There is 2.0 branch in LP, but does not look to be near release:
https://launchpad.net/pyexiv2/

Also note that it has two rdepends, that might also need changes if we upgrade:
python-pyexiv2
Reverse Depends:
  phatch
  lazygal

Olivier Tilloy (osomon) wrote :

I'm working on pyexiv2 0.2, compiled against libexiv2 0.18. Unfortunately I'm not anywhere near a release and won't make it for Jaunty. I will of course in time build packages in my PPA.

Luka Renko (lure) on 2009-03-13
Changed in libkexiv2:
status: Fix Committed → Fix Released
Changed in pyexiv2:
assignee: lure → nobody
status: In Progress → Incomplete
Olivier Tilloy (osomon) wrote :

After giving it a quick look, I realized porting the current pyexiv2 0.1.2 to libexiv2 0.18 was not that much work, so I got it done. The changes are small and not really intrusive, they were affecting EXIF thumbnail related code only.
I now have a 0.1.3 branch (lp:~osomon/pyexiv2/pyexiv2-0.1.3) that compiles against libexiv2 0.18 and provides exactly the same functionality as 0.1.2.

@Luka: I'm going to release a tarball, should I assign the bug to you?

Changed in pyexiv2 (Ubuntu):
status: Incomplete → In Progress
Olivier Tilloy (osomon) wrote :

Note that I integrated one of the two patches to the package in the branch (http://patch-tracking.debian.net/patch/series/view/pyexiv2/0.1.2-4/02_noscript), that should one patch less to maintain.

I had a look at the sources of the two rdepends, phatch and lazygal, and none of them makes use of the thumbnailing facilities provided by pyexiv2, so the packages shouldn't need any change (contrary to what I stated in my previous comment, there is one small change in the API of pyexiv2.Image.getThumbnailData).

Luka Renko (lure) wrote :

Olivier: great news! If you can provide the tarball, I will take care to package/test it and try to get FeatureFreeze exception for it.

Olivier Tilloy (osomon) wrote :

I've uploaded the tarball at https://launchpad.net/pyexiv2/0.1.x/0.1.3.
Please let me know if anything is missing.

Luka Renko (lure) wrote :

I put together package, but for some reason it did not compile with 0.18 in PPA - need to investigate these further:
http://launchpadlibrarian.net/22891119/buildlog_ubuntu-jaunty-amd64.pyexiv2_0.1.2-4build2~ppa~lure1_FAILEDTOBUILD.txt.gz

For transition, it would be helpful if pyexiv2 would be still supporting 0.17 version. Would it be possible to make it conditionally compile 0.17 or 0.18 Thumbnail code?
Koffice2/Krita does exactly this, by checking:

#if EXIV2_MAJOR_VERSION == 0 && EXIV2_MINOR_VERSION <= 17
    Exiv2::DataBuf rawData = exifData.copy();
    ioDevice->write((const char*) rawData.pData_, rawData.size_);
#else
    Exiv2::Blob rawData;
    Exiv2::ExifParser::encode( rawData, Exiv2::littleEndian, exifData );
    ioDevice->write((const char*) &*rawData.begin(), rawData.size() );
#endif

That way, it would be possible to use pyexiv2 with both.

Luka Renko (lure) wrote :

Ups, build of 0.1.3 did not even start, as my PPA is Full. Please ignore my first comment about build failure.
Having conditional compiling would be still great.

Olivier Tilloy (osomon) wrote :

Luka, I don't really see the point of conditional compilation in that case.
As commented earlier, no rdepends make use of this thumbnailing code.
Moreover, pyexiv2 being a python module, no compilation process is involved for rdepends, so as long as the API doesn't change, clients don't care about which version of libexiv2 is behind the scenes.

Luka Renko (lure) wrote :

Oliver: OK, will then ensure that new 0.1.3 version is uploaded after transition to exiv2 0.18.
it compiles fine now when I have enough space in my PPA:
https://launchpad.net/~lure/+archive/ppa

Will open FFe bug for pyexiv2 today (needs motu-release approval) and then ask ubuntu-release team for exiv2 FF exception too.
Thanks again for your work, which I hope it was just in time to get this in before Jaunty beta.

Changed in pyexiv2 (Ubuntu):
assignee: nobody → lure
status: In Progress → Fix Committed
Olivier Tilloy (osomon) wrote :

If it makes it to Jaunty that will be thanks to you Luka, thanks again.

Luka Renko (lure) wrote :

pyexiv2 FFe submitted as bug 343549. We need to wait for motu-release approval.

geeqie sync request (bug 341415) is also approved and is just waiting for archive admin to do it.

Luka Renko (lure) wrote :
Download full text (11.4 KiB)

I would like to request FFe for exiv2 0.18. This version, released in Dec 2008, provides major improvements in the area of write support (added support for TIFF, DNG, NEF, PEF, PNG and JP2 images) and can properly detect Canon lens types (before only Nikon). It would be really good to have this version in Jaunty, as otherwise users will have to wait for almost a year after release (Keramic) to have access to these features.

This request for sync was requested before FF, but transition of all rdepends took a bit of time. All rdepends issues have been resolved (pyexiv2 is still pending FFe from motu-release - see previous comment).
Since January, I have also extensively tested exiv2 0.18 with two major rdepends: digikam and ufraw. No regression was observed.

Complete ChangeLog:
--- exiv2-0.17.1/doc/ChangeLog 2008-06-18 17:51:31.000000000 +0200
+++ exiv2-0.18/doc/ChangeLog 2008-12-17 19:21:48.000000000 +0100
@@ -1,3 +1,120 @@
+Changes from version 0.18-pre2 to 0.18
+--------------------------------------
+
+* Exiv2 utility
+ - 0000580: [tools] -M option fails and reports success.
+ (Reported by Daniel Blueman)
+ - [tools] Added options -pp and -ep to list and extract preview
+ images.
+ - [tools] Added option -pa to print all metadata, added control
+ for the type of metadata in option -P.
+
+* Exiv2 library
+ - 0000591: [build environment] Added missing #includes for g++ 4.4.
+ (Debian bug 505023, patch from Martin Michlmayr)
+ - 0000586: [metadata] ValueType<T> constructor makes assumptions of the
+ endianness of the machine. (Reported by Dimitri)
+ - 0000584: [build environment] Linking fails for PreviewImage::pData().
+ (Reported by Joakim Rosqvist)
+ - 0000583: [build environment] Linking fails when compiling.
+ (Reported by Joakim Rosqvist)
+ - 0000542: [exif] Exiv2 doesn't find exif data in attached file.
+ (Reported by Paolo Benvenuto)
+ - [exif] Updated Nikon lens info to v3.25 of Robert Rottmerhusen's
+ lens database.
+ - [exif] Fixed adjustment of invalid tag data.
+ (digiKam bug 177457) ...

Luka Renko (lure) wrote :

Link to debian-release discussion about migration:
http://lists.debian.org/debian-release/2009/03/msg00062.html

Luka Renko (lure) on 2009-03-16
Changed in geeqie (Ubuntu):
status: Fix Committed → Fix Released

Previously with exiv2 0.17, users of exiv2 such as ufraw, would silently write a significantly-reduced subset of EXIF tags to files they export, at least on newer cameras such as the Nikon D90. I found exiv2 0.18 corrects this, transferring almost all EXIF tags. Let me know if you'd like numbers, if it proves informative.

This is core functionality, and from a user PoV, is a compelling argument to get exiv2 into jaunty.

Martin Pitt (pitti) wrote :

The changes look quite important to me, and it seems that this was extensively tested by both Daniel and Luka. Thanks for the thorough preparation wrt. the reverse dependencies!

FFE approved. Please let's get this in for the beta, to receive maximum testing. Please subscribe ubuntu-main-sponsors when you need help with uploading. Thank you!

Martin Pitt (pitti) wrote :

To clarify, wrt. sponsoring I was referring to bug 343549 (the now approved pyexiv2 upgrade). This bug itself is just a sync, so I subscribe ubuntu-archive.

Martin Pitt (pitti) wrote :

Luka, please also re-add open tasks for the reverse dependency rebuilds, since they need to be done after the new libexiv2 goes into the archive.

Luka Renko (lure) wrote :

Martin, thanks for approval. Have marked bug as Confirmed.

Will add/re-open tasks for all rdepends when sync of exiv2 is done.

Changed in exiv2 (Ubuntu):
status: In Progress → Confirmed
Jonathan Riddell (jr) wrote :

Getting binaries for jaunty...
[Updating] exiv2 (0.17.1-1 [Ubuntu] < 0.18-1 [Debian])
 * Trying to add exiv2...
  - <exiv2_0.18-1.dsc: downloading from http://ftp.debian.org/debian/>
  - <exiv2_0.18-1.diff.gz: downloading from http://ftp.debian.org/debian/>
  - <exiv2_0.18.orig.tar.gz: downloading from http://ftp.debian.org/debian/>

Changed in exiv2 (Ubuntu):
status: Confirmed → Fix Released
Luka Renko (lure) wrote :

Reopen/add new tasks for transition uploads for all rdepends.

Changed in geeqie (Ubuntu):
status: Fix Released → In Progress
Changed in koffice2 (Ubuntu):
status: Fix Released → In Progress
Luka Renko (lure) wrote :

Universe packages uploaded.
Asked Jonathan to sponsor kdegraphics and strigi.

Changed in gnome-commander (Ubuntu):
assignee: nobody → lure
status: New → Fix Committed
Changed in geeqie (Ubuntu):
status: In Progress → Fix Committed
Changed in gpscorrelate (Ubuntu):
assignee: nobody → lure
status: New → Fix Committed
Changed in hugin (Ubuntu):
assignee: nobody → lure
status: New → Fix Committed
Changed in koffice2 (Ubuntu):
status: In Progress → Fix Committed
Changed in kphotoalbum (Ubuntu):
assignee: nobody → lure
status: New → Fix Committed
Changed in merkaartor (Ubuntu):
assignee: nobody → lure
status: New → Fix Committed
Changed in qtpfsgui (Ubuntu):
assignee: nobody → lure
status: New → Fix Committed
Changed in rawstudio (Ubuntu):
assignee: nobody → lure
status: New → Fix Committed
Changed in ufraw (Ubuntu):
assignee: nobody → lure
status: New → Fix Committed
Changed in kdegraphics (Ubuntu):
assignee: nobody → jr
status: New → In Progress
Changed in strigi (Ubuntu):
assignee: nobody → jr
status: New → In Progress
Luka Renko (lure) on 2009-03-17
Changed in strigi (Ubuntu):
milestone: none → ubuntu-9.04-beta
Changed in kdegraphics (Ubuntu):
status: In Progress → Fix Committed
Luka Renko (lure) on 2009-03-17
Changed in geeqie (Ubuntu):
status: Fix Committed → Fix Released
Changed in gnome-commander (Ubuntu):
status: Fix Committed → Fix Released
Changed in hugin (Ubuntu):
status: Fix Committed → Fix Released
Changed in kdegraphics (Ubuntu):
status: Fix Committed → Fix Released
Changed in kphotoalbum (Ubuntu):
status: Fix Committed → Fix Released
Changed in merkaartor (Ubuntu):
status: Fix Committed → Fix Released
Changed in pyexiv2 (Ubuntu):
status: Fix Committed → Fix Released
Changed in qtpfsgui (Ubuntu):
status: Fix Committed → Fix Released
Changed in rawstudio (Ubuntu):
status: Fix Committed → Fix Released
Changed in ufraw (Ubuntu):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package strigi - 0.6.4-0ubuntu2

---------------
strigi (0.6.4-0ubuntu2) jaunty; urgency=low

  * No-change rebuild for exiv2 0.18 (closes LP: #309684)

 -- Jonathan Riddell <email address hidden> Wed, 18 Mar 2009 12:31:29 +0000

Changed in strigi:
status: In Progress → Fix Released
Luka Renko (lure) wrote :

All packages in the archive. Closed!

Changed in koffice2 (Ubuntu):
status: Fix Committed → Fix Released
Changed in gpscorrelate (Ubuntu):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers