MIR for libjpeg-turbo

Bug #907113 reported by Matthias Klose
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libjpeg-turbo (Ubuntu)
Undecided
Unassigned
libjpeg8 (Ubuntu)
High
Unassigned
libjpeg8-empty (Ubuntu)
Undecided
Unassigned

Bug Description

libjpeg-turbo is an ABI compatible, faster implementation for libjpeg8; it was packaged by Linaro, and is part of the linaro-overlays for the Linaro 11.11 release.

 - The packaging looks ok, the code is maintained upstream.
 - The source code looks fine, no binaries run as suid.
 - There are currently no bugs reported
 - The package is not yet found in Debian
 - The packaging is done in a way that the change to replace libjpeg8 can be
   easily reverted by an libjpeg8 upload, just in case that some unexpected
   issues are found with libjpeg-turbo.
 - performance tests done: https://wiki.linaro.org/TomGall/LibJpeg8
 - test rebuild of main with the replacement done.

this implements
https://blueprints.launchpad.net/ubuntu/+spec/replace-libjpeg-by-libjpeg-turbo

Matthias Klose (doko)
description: updated
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

Review:

My biggest concern was maintenance, as this is a fork of libjpeg8. Looking at the code, the changes are substantial, but not as much as I initially thought. Notably, turbo has java support where libjpeg8 does not.

The packaging contains a test suite: libjpeg-turbo-test. It would be nice if this could be run in the build (seems we just need to run tjunittest?). It would also be good if this was in Debian as well, so we could share the maintenance burden.

I definitely would like libjpeg8 removed (demoted would be 'ok' but not preferred) with this promotion because as it is now we have several supported JPEG libraries (libjpeg6b, libjpeg8, jasper (which itself is embedded in ghostscript)) in Ubuntu. If the test rebuild of main goes ok and this stays in main, can a bug be opened to demote/remove libjpeg8?

As for packaging, when I tried to install libjpeg-turbo-progs, it fails with:
dpkg: dependency problems prevent configuration of libjpeg-turbo-progs:
 libjpeg-turbo-progs depends on libjpeg8 (>= 8c); however:
  Package libjpeg8 is not installed.

There are also 2 lintian warnings:
W: libturbojpeg: shlib-without-versioned-soname usr/lib/x86_64-linux-gnu/libturbojpeg.so libturbojpeg.so
W: libjpeg-turbo-test: binary-without-manpage usr/bin/tjunittest

As for security support, libjpeg didn't require a lot of maintenance (the last CVEs were 5 years ago) so hopefully the same will go for libjpeg-turbo.

I don't see any reason why this can't be in main, but the following should be fixed:
 * packaging issues mentioned above are addressed
 * libjpeg-turbo pushed to Debian (not a blocker for the MIR)
 * the testsuite enabled in the build (ideally done on next upload, but not a blocker for the MIR)
 * libjpeg8 demoted/removed (not a blocker for the MIR)

Changed in libjpeg-turbo (Ubuntu):
status: New → In Progress
Revision history for this message
Matthias Klose (doko) wrote : Re: [Bug 907113] Re: MIR for libjpeg-turbo

)> initially thought. Notably, turbo has java support where libjpeg8 does
> not.

which is not yet enabled.

> The packaging contains a test suite: libjpeg-turbo-test. It would be
> nice if this could be run in the build (seems we just need to run
> tjunittest?).

the tests rely on test data which is not part of the package. Tom, please could
you evaluate if we can package and distribute the test data (maybe packaged
separately)?

> It would also be good if this was in Debian as well, so we
> could share the maintenance burden.

yes, planned to submit this to Debian.

> I definitely would like libjpeg8 removed (demoted would be 'ok' but not
> preferred) with this promotion because as it is now we have several
> supported JPEG libraries (libjpeg6b, libjpeg8, jasper (which itself is
> embedded in ghostscript)) in Ubuntu. If the test rebuild of main goes ok
> and this stays in main, can a bug be opened to demote/remove libjpeg8?

it first will be demoted once libjpeg8-empty is in the archive.

> As for packaging, when I tried to install libjpeg-turbo-progs, it fails with:
> dpkg: dependency problems prevent configuration of libjpeg-turbo-progs:
> libjpeg-turbo-progs depends on libjpeg8 (>= 8c); however:
> Package libjpeg8 is not installed.

built from libjpeg8-empty.

> There are also 2 lintian warnings:
> W: libturbojpeg: shlib-without-versioned-soname usr/lib/x86_64-linux-gnu/libturbojpeg.so libturbojpeg.so

this is a legacy version of the library, for software which expects this soname.

> As for security support, libjpeg didn't require a lot of maintenance
> (the last CVEs were 5 years ago) so hopefully the same will go for
> libjpeg-turbo.
>
> I don't see any reason why this can't be in main, but the following should be fixed:
> * packaging issues mentioned above are addressed

already fixed with libjpeg8-empty.

Revision history for this message
Matthias Klose (doko) wrote :

2011-12-21 19:09:11 INFO Override Component to: 'universe'
2011-12-21 19:09:11 INFO 'libjpeg8 - 8c-2ubuntu4/main/graphics' source overridden
Confirm this transaction? [yes, no] yes
2011-12-21 19:09:14 INFO Transaction committed.

Revision history for this message
Matthias Klose (doko) wrote :

now promoted, including the libjpeg8-empty dependency package. the libjpeg8 source package should be removed once the libjpeg-turbo implementation prooves stable.

Changed in libjpeg-turbo (Ubuntu):
status: In Progress → Fix Released
Changed in libjpeg8-empty (Ubuntu):
status: New → Fix Released
Changed in libjpeg8 (Ubuntu):
importance: Undecided → High
milestone: none → precise-alpha-2
status: New → Triaged
Revision history for this message
Matthias Klose (doko) wrote :

2012-01-31 10:10:18 INFO Removing candidates:
2012-01-31 10:10:18 INFO libjpeg8 8c-2ubuntu4 in precise
2012-01-31 10:10:18 INFO Removed-by: Matthias Klose
2012-01-31 10:10:18 INFO Comment: libjpeg8 replaced by libjpeg8-empty and libjpeg-turbo, blacklisted
2012-01-31 10:10:18 INFO 1 package successfully removed.
2012-01-31 10:10:18 INFO Transaction committed.

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

Other bug subscribers