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

Bug#791205: movit: library transition may be needed when GCC 5 is the default



Am 03.07.2015 um 23:54 schrieb Steinar H. Gunderson:
> tags 791205 patch
> user release.debian.org@packages.debian.org
> usertag 791205 + transition
> block 791205 by 790756
> reassign 791205 release.debian.org
> thanks
> 
> On Fri, Jul 03, 2015 at 01:12:53PM +0000, Matthias Klose wrote:
>> Package: src:movit
>> Version: 1.1.3-1
>> Severity: important
>> Tags: sid stretch
>> User: debian-gcc@lists.debian.org
>> Usertags: libstdc++-cxx11
>>
>> Background [1]: libstdc++6 introduces a new ABI to conform to the
>> C++11 standard, but keeps the old ABI to not break existing binaries.
>> Packages which are built with g++-5 from experimental (not the one
>> from testing/unstable) are using the new ABI.  Libraries built from
>> this source package export some of the new __cxx11 or B5cxx11 symbols,
>> and dropping other symbols.  If these symbols are part of the API of
>> the library, then this rebuild with g++-5 will trigger a transition
>> for the library.
>>
>> What is needed:
>>
>>  - Rebuild the library using g++/g++-5 from experimental. Note that
>>    most likely all C++ libraries within the build dependencies need
>>    a rebuild too. You can find the log for a rebuild in
>>      https://people.debian.org/~doko/logs/gcc5-20150701/
>>    Search for "BEGIN GCC CXX11" in the log.
>>
>>  - Decide if the symbols matching __cxx11 or B5cxx11 are part of the
>>    library API, and are used by the reverse dependencies of the
>>    library.
>>
>>  - If there are no symbols matching __cxx11 or B5cxx11 in the symbols
>>    forming the library API, you should close this issue with a short
>>    explanation.
>>  
>>  - If there are no reverse dependencies, it should be the package
>>    maintainers decision if a transition is needed.  However this might
>>    break software which is not in the Debian archive, and built
>>    against these packages.
>>
>>  - If a library transition is needed, please prepare for the change.
>>    Rename the library package, append "v5" to the name of the package
>>    (e.g. libfoo2 -> libfoo2v5). Such a change can be avoided, if you
>>    have a soversion bump and you upload this version instead of the
>>    renamed package.  Prepare a patch and attach it to this issue (mark
>>    this issue with patch), so that it is possible to NMU such a
>>    package. We'll probably have more than hundred transitions
>>    triggered. Then reassign the issue to release.debian.org and
>>    properly tag it as a transition issue, by sending an email to
>>    control@bugs.debian.org:
>>    
>>      user release.debian.org@packages.debian.org
>>      usertag <this issue> + transition
>>      block <this issue> by 790756
>>      reassign <this issue> release.debian.org
>>    
>>  - If unsure if a transition is needed, please tag the issue with help
>>    to ask for feedback from other Debian developers.
>>
>> The libstdc++6 transition will be a large one, and it will come with a
>> lot of pain.  Please help it by preparing the follow-up transitions.
>>
>> [1] https://wiki.debian.org/GCC5#libstdc.2B-.2B-_ABI_transition
> 

I might be missing something here, but if you are going to rename the
library package, don't you also have to enforce a build against g++-5?
Otherwise you might end up with a libfoov5 package which was built
against gcc < 5.

-- 
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: