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 signature.asc Description: PGP signature
Bug#998169: transition: unixodbc
On 2021-11-03 21:23:20, Hugh McMaster wrote: > Hi Sebastian, > > On Wed, 3 Nov 2021 at 10:24, Sebastian Ramacher wrote: > > > > Why do the binary packages have Breaks + Replaces on binary packages > > with the old SONAME? > > Some files are split from existing packages: > * unixodbc-common takes over some files from odbcinst and odbcinst1debian2. > * libodbcinst2 takes over the (old) library from odbcinst1debian2 > * libodbccr2 takes over the (old) library, which is split from libodbc1 > * libodbc2 takes over the library from libodbc1 > > 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? Cheers > > Breaks+Replaces ensures a smooth transition. > > On a separate note, the asterisk source package now builds and will > migrate to testing on Wednesday evening (UTC). It just needs a rebuild > during the unixodbc migration. > -- Sebastian Ramacher
Bug#998169: transition: unixodbc
Hi Sebastian, On Wed, 3 Nov 2021 at 10:24, Sebastian Ramacher wrote: > > Why do the binary packages have Breaks + Replaces on binary packages > with the old SONAME? Some files are split from existing packages: * unixodbc-common takes over some files from odbcinst and odbcinst1debian2. * libodbcinst2 takes over the (old) library from odbcinst1debian2 * libodbccr2 takes over the (old) library, which is split from libodbc1 * libodbc2 takes over the library from libodbc1 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. Breaks+Replaces ensures a smooth transition. On a separate note, the asterisk source package now builds and will migrate to testing on Wednesday evening (UTC). It just needs a rebuild during the unixodbc migration.
Processed (with 1 error): Re: Bug#998169: transition: unixodbc
Processing control commands: > tags -1 moreinfo Bug #998169 [release.debian.org] transition: unixodbc Added tag(s) moreinfo. > https://release.debian.org/transitions/html/auto-unixodbc.html Unknown command or malformed arguments to command. -- 998169: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=998169 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Bug#998169: transition: unixodbc
Control: tags -1 moreinfo Control: https://release.debian.org/transitions/html/auto-unixodbc.html On 2021-10-31 22:30:26, Hugh McMaster wrote: > Package: release.debian.org > Severity: normal > User: release.debian@packages.debian.org > Usertags: transition > > Due to various changes, unixodbc's libraries, libodbc, libodbccr and libodbccr > have a new soversion. Why do the binary packages have Breaks + Replaces on binary packages with the old SONAME? Cheers > > Test results after rebuilding all reverse dependencies and reverse-build > dependencies: > > The following packages FTBFS for reasons unrelated to unixodbc: > * asterisk; see #997136 > * libghc-hdbc-odbc-dev (src:hdbc-odbc); not in testing > * libmyodbc (src:myodbc); not in testing > * pike8.0-odbc (src:pike8.0); not in testing > * w1retap-odbc (src:w1retap); not in testing > > tdbcodbc will require a source or NMU upload; see #997057, where the > maintainer > says he will take care of this. > > grass, vtk7, mysql-workbench and saga all require rebuilds once gdal is > rebuilt. > > > Ben file: > > title = "unixodbc"; > is_affected = .depends ~ "libodbc1" | .depends ~ "odbcinst1debian2" | .depends > ~ "libodbc2" | .depends ~ "libodbccr2" | .depends ~ "libodbcinst2"; > is_good = .depends ~ "libodbc2" | .depends ~ "libodbccr2" | .depends ~ > "libodbcinst2"; > is_bad = .depends ~ "libodbc1" | .depends ~ "odbcinst1debian2"; > -- Sebastian Ramacher
Bug#998169: transition: unixodbc
Package: release.debian.org Severity: normal User: release.debian@packages.debian.org Usertags: transition Due to various changes, unixodbc's libraries, libodbc, libodbccr and libodbccr have a new soversion. Test results after rebuilding all reverse dependencies and reverse-build dependencies: The following packages FTBFS for reasons unrelated to unixodbc: * asterisk; see #997136 * libghc-hdbc-odbc-dev (src:hdbc-odbc); not in testing * libmyodbc (src:myodbc); not in testing * pike8.0-odbc (src:pike8.0); not in testing * w1retap-odbc (src:w1retap); not in testing tdbcodbc will require a source or NMU upload; see #997057, where the maintainer says he will take care of this. grass, vtk7, mysql-workbench and saga all require rebuilds once gdal is rebuilt. Ben file: title = "unixodbc"; is_affected = .depends ~ "libodbc1" | .depends ~ "odbcinst1debian2" | .depends ~ "libodbc2" | .depends ~ "libodbccr2" | .depends ~ "libodbcinst2"; is_good = .depends ~ "libodbc2" | .depends ~ "libodbccr2" | .depends ~ "libodbcinst2"; is_bad = .depends ~ "libodbc1" | .depends ~ "odbcinst1debian2";