[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: JPEG 8 transition

On 2010-02-14, Andreas Barth <aba@not.so.argh.org> wrote:
>> So I will state it a last time:
>> I propose to upload the libjpeg6b source package that generate 
>> libjpeg62 and libjpeg6b-dev (*not* libjpeg62-dev) and to upload 
>> libjpeg8 source package that generate a libjpeg8-dev that provides
>> both libjpeg62-dev and libjpeg-dev. 
>> Do the release team want me to do that ?
> We first want to have the crashes fixed. Which even might be an
> rollback. After we have found out what do do, we can continue
> discussing that.

I got a plan.

The plan will fail dependening on the following question:

  Can apt figure out to upgrade a virtual package to a real package if

The major issue is:
if libjpeg62 and libjpeg8 gets loaded into the same process, things
will start crashing horribly.
In order for things to not break horribly *both* libraries need to have
versioned symbols.

This plan involves 2 rebuildings of everything and a couple of sourceful
uploads of both versions of libjpeg, and maybe sourceful uploads of
packages requiring libjpeg8-dev either for running or building.

The plan goes as follows:

first upload of libjpeg6b
 * Add symbol versioning to libjpeg62 library
 * make libjpeg62 provide libjpeg62-versioned (name is up for discussion)
 * rename -dev package to libjpeg6b-dev and make it provide libjpeg62-dev
   and libjpeg-dev
 * make shlib file of libjpeg62 say libjpeg62-versioned unversioned and
   no mentioning of libjpeg62. 

first upload of libjpeg8, at the same time as first upload of libjpeg6b
 * add symbol versioning to libjpeg8 library
 * make -dev package not provide libjpeg-dev

get libjpeg6b into testing very fast
binNMU everything depending on libjpeg62 and let it migrate to testing
*maybe* upload everything build-depending on libjpeg8-dev an replace it
with a unversioned dependency|build-dependency.

2nd upload of libjpeg6b:
 * rename libjpeg62 to libjpeg62-versioned
 * make libjpeg62-versioned conflict with libjpeg62

Get this into testing.

3rd upload of libjpeg6b:
 * drop the libjpeg62-dev and libjpeg-dev provides from the -dev package

2nd upload of libjpeg8 (at the same time as  3rd upload of libjpeg6b)
 * make -dev package provide libjpeg62-dev and libjpeg-dev

Let everything migrate to testing
slowly binNMU things and let it trickle into testing at its own pace

Teach people about libraries.


Any comments?

> This is the worst (or one of the worst) transitions I've ever seen
> since I joined Debian.

there is definately room for improvement here.


Reply to: