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

Bug#998169: transition: unixodbc



Hi Hugh

On 2021-11-10 23:31:08 +1100, Hugh McMaster wrote:
> On Wed, 10 Nov 2021 at 06:49, Sebastian Ramacher wrote:
> >
> > On 2021-11-03 21:23:20, Hugh McMaster wrote:
> > > Note that libodbc1 and odbcinst1debian2 (currently in Sid) contain
> > > symlinks for library version 1 to library version 2, but the existing
> > > packages are named for the old soversion.
> >
> > What? Why? How did that happen? Are libodbc1 and libodbc2 actually ABI
> > compatible?
> 
> This is the result of a decision made by the previous maintainer in
> 2013. From the changelog for unixodbc 2.3.1-1:
> 
> - Drop libgtrtst library from libodbc1; this is technically an ABI
> change, but nothing has ever used this library so we're not changing
> the package name.
> - Since the library ABI has not changed in Debian (ever), keep the
> package names the same and provide backwards-compatible symlinks to
> avoid an unnecessary library transition; and update the symbols/shlibs
> to make it clear the old versions of the library don't satisfy these
> dependencies any longer.
> 
> At that time, the upstream libraries moved to soversion 2, with Debian
> packaging that new version plus symlinks named for the old soversion 1
> library (but linking to the new version).
> 
> This transition, package rename and file redistribution will clean all
> of this up.

We had some discussions on this transition on #debian-release some days
ago. From what I understand (please correct me in case I misunderstood
something): there is no ABI break involved, so this is solely a
"transition" to clean up the packaging bits. This is not what
transitions are for.

Without ABI break, libodbc1 and odbcinst1debian2 need to stay.

If you want to clean up the packaging, you can probably move
libodbc2.so.2 to libodbc2, libodbccr.so.2 to libodbccr2, and
libodbcinst.so.2 to libodbcinst2. libodbc1 and odbcinst1debian2 could
then be transitional packages with the compat symlinks that stay around
at least for bookworm. Be aware of the usual pitfalls when moving files
between packages.

In general, I would just not touch that at all and wait for the next ABI
break to perform the clean up. Especially if one considers the reverse
dependencies of unixodbc. One will want mariadb-10.5 (from bullseye) and
maridb-10.x (from bookworm) co-installed after the upgrade so that one
can migrate all the databases. I can imagine similar issues with php-7.4
and php-8.x. With the current state in experimental, this won't be
possible.

Cheers
-- 
Sebastian Ramacher

Attachment: signature.asc
Description: PGP signature


Reply to: