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