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

Re: intention for tiff packages



Julien Cristau <jcristau@debian.org> wrote:

Okay, I basically have to admit that I agree with everything you said.

>> Proposed new state:
>>
>>  * Upgrade the tiff package to 4.0.0-1 and upload to unstable.  No other
>>    changes would be made to the package.
>>
>>  * Create source package tiff3 in section oldlibs at initial version
>>    3.9.5-3.  Have it include libtiff4, libtiffxx0c2, and libtiff4-dev,
>>    and still have libtiff4-dev provide libtiff-dev for now.  Drop
>>    libtiff-doc, libtiff-opengl, and libtiff-tools.  (The libtiff-doc
>>    package from 4.x includes the older documentation as well.)
>>    Basically this would just be a copy of the existing package minus the
>>    duplicated packages.
>>
> I think that's a bad plan.  There are packages in the archive right now,
> including shared libraries, that build-depend on the unversioned
> libtiff-dev package.  They'd pick up a dependency on libtiff5 on a
> rebuild, which is not a good thing if we're not going to move the whole
> archive to it.

Yes, you're right.

>> As a reminder, there are ABI changes between libtiff4 and libtiff5, and
>> there are very few source API changes, and they are clearly documented.
>> The tiff libraries do not use versioned symbols, and there is no one
>> right now how has time time and inclination to tackle this.  It's
>> basically not going to happen.  Anyway, it's extremely unlikely that
>> there will be any more ABI changes in the next many years.
>>
> As I said previously, if versioned symbols don't happen (in both the old
> and new versions), then the transition is unlikely to happen too.  It
> was done for png and jpeg, so it's not like it'd be a first.

I have the skills to do this and understand the concept, but I don't
have the specific knowledge of exactly how to do it.  I can figure it
out by looking at png or jpeg, reading documentation, searching the web,
etc., but if you have any specific pointers, email threads, or other
references that might save me some time, I would be most grateful.

I've got my hands full with one-year-old twins, and my debian time is
extremely limited.  While I acknowledge that the only "right" answer is
going to be to do symbol versioning, and while I will not argue against
your insistence on doing the right thing, I just don't know when I can
do it.  I know that I'm going to have to actually figure out which
symbols are part of the public API, etc.

Once versioned symbols are done, will the plan be more or less what I
outlined: tiff3 package with versioned libtiff4 and tiff package with
versioned libtiff5, just with the difference being that it will work for
lib1 to link with libtiff4, lib2 to link with libtiff5, and program1 to
link with both lib1 and lib2, or will there be some other solution?

Thanks for keeping us on the right path, even if it means that getting
tiff 4.0 into unstable will take a long time.  I wish I had never
suggested doing anything else.  Just my realization that no one really
has time to do this forced me down the dark path of looking for an easy
solution.

-- 
Jay Berkenbilt <qjb@debian.org>


Reply to: