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

Re: Bug#790979: apt: library transition may be needed when GCC 5 is the default



Control: user release.debian.org@packages.debian.org
Control: usertag -1 + transition
Control: block -1 by 790756
Control: reassign -1 release.debian.org


Hi,

On Fri, Jul 03, 2015 at 01:08:53PM +0000, Matthias Klose wrote:
>  - If a library transition is needed, please prepare for the change.

(Michael isn't around next week I was told and couldn't finish the job
himself, so I end up having the joy to work on this… oh well.)

std::string is omni-present in libapt-pkg and it is practically
impossible to do anything without hitting at least one symbol using it,
so rdeps are absolutely effected.

SONAME in /sid is currently 4.12, we bump it up to 4.16 as /experimental
has burned through 4.13, 4.14 and 4.15 and reusing those is probably not
a good idea… (and 4.12v5 would have its own issues).
libapt-inst is bumped as well from 1.5 to 1.7.
In other words: binary-NEW.
The apt version containing them will be called 1.0.10.

The API is changed (beside the std::string and std::list change in gcc)
in a small detail: As std::string doesn't do copy-on-write anymore and
it turns out that we depended on this behavior: so we have to change
debTranslationsIndex from using char* to std::string in constructor and
member, but do not fear, this class isn't and actually can't be used by
anyone expect libapt itself (but is used for everything involving
Translation-* files, so you will end up noticing strange behavior if
unfixed).

All other abi changes are still confined to /experimental to avoid any
additional risk for the gcc transition.

apt has no c++ library build-dependencies (expect libstdc++6 of course) btw.

I have made some test rebuilds, so that seems all well as far as I could
test, but the biggest "test" in this regard aptitude hasn't a public
patch (or at least I couldn't find it) for building with gcc5 yet.


For the record: I tested and build everything on an UNCLEAN system with
gcc5 from experimental (gcc version 5.2.1 20150723 (Debian 5.2.1-12)).
You can find the results at: https://kalnischkies.de/tmp/unclean/apt/
Again, build on an UNCLEAN system, so I wouldn't upload it. Mainly there
in case you want to compare with your results or whatever.

Gory diff details can be found online at:
https://anonscm.debian.org/cgit/apt/apt.git/log/?id=refs/heads/debian/sid-gcc5
Or of course in a git checkout, look for the 'debian/sid-gcc5' branch or
the (signed by me) 1.0.10 tag.
As usual no patch attached as the po-rebuilds kill it.

Feel free to drop me a line by mail/irc if there is more I can/should do.


Best regards

David Kalnischkies

Attachment: signature.asc
Description: Digital signature


Reply to: