Bug#998169: transition: unixodbc

2021-11-17 Thread Sebastian Ramacher
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

2021-11-09 Thread Sebastian Ramacher
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

2021-11-03 Thread Hugh McMaster
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

2021-11-02 Thread Debian Bug Tracking System
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

2021-11-02 Thread Sebastian Ramacher
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

2021-10-31 Thread Hugh McMaster
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";