On Fri, Mar 17, 2006 at 01:50:41AM +0100, Christian Hammers wrote: > There is another libmysqlclient transition coming so I like to inform > the release team about it.
> In the last month there already was one where I tried to get rid of > libmysqlclient10/12/14 in favour of libmysqlclient15. Thanks to the versioned > symbols this was no big deal and was almost finished. Then came 5.0.19... > On 2006-03-13 Steve Langasek wrote: > > On Tue, Mar 14, 2006 at 01:25:21AM +0100, Christian Hammers wrote: > > > During the last month I have build my libmysqlclient15 with > > > shared symbols that looked in "objdump -T" like: > > > 0013a154 g DO .bss 00000004 MYSQL_5.0 my_dont_interrupt > > > 00026d70 g DF .text 000002fa MYSQL_5.0 my_strntoll_8bit > > > 00015730 g DF .text 00000025 MYSQL_5.0 my_no_flags_free > > > Now MySQL finally closed my bug report to them and provides symbols > > > in their upstream source. Sadly they look like: > > > 0000f280 g DF .text 0000000b libmysqlclient_15 mysql_row_tell > > > 0000f4d0 g DF .text 00000043 libmysqlclient_15 mysql_escape_string > > > 0000da30 g DF .text 000000e1 libmysqlclient_15 > > > mysql_slave_send_query > ... > > Yes, this is a backwards-incompatible ABI change. If libmysqlclient15 had > > been present in sarge, such a change without a rename of the library > > package would be a release-critical bug for etch; since it wasn't, it's > > only severity: important, but either way all packages built against the > > previous symbol versions would have a release-critical bug requiring a > > rebuild. > > And changing the package name is actually the easiest way to make sure that > > no RC-buggy reverse-dependencies are overlooked. > Here are my plans, please comment :) > 1. Package changes: > * Change package names (without changing the library filename, of course): > libmysqlclient15 -> libmysqlclient15off > libmysqlclient15-dev -> libmysqlclient15off-dev Absolutely not. The name of the -dev package should *not* change. > * libmysqlclient15off package gets: > Conflict: libmysqlclient15 > Replaces: libmysqlclient15 > * modifying rules: > dh_makeshlibs -plibmysqlclient15off -V'libmysqlclient15off (>= 5.0.19-1)' > * Add a short NEWS.Debian and long README.Debian warning that software > which was locally build against libmysqlclient15 has to be rebuild. The rest of this seems ok. > 2. Upload now to experimental to check if all buildds eat it Why not upload directly to unstable? Is there a reason to expect build failures here? > 3. Wait for the release-teams of to start the transition > (or may I start ASAP?) If you don't change the name of the -dev package, then all of the affected packages can be uploaded with binNMUs and it should be possible to start the transition at any time -- and finish it very, very quickly. At which point the rest of the proposed plan is unnecessary. Thanks, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. [EMAIL PROTECTED] http://www.debian.org/
signature.asc
Description: Digital signature