Didier 'OdyX' Raboud wrote: > Hi, > > as I noticed new apiextractor tarballs, I launched "new upstream" builds > of apiextractor. > > Very unfortunately, I noticed the following : apiextractor 0.5.0 breaks > the public API with regards to apiextractor 0.4.0. Although that might not > be a problem per se (and I very much understand the possible reasons > behind the breakage), from a distributor point of view it is a very > serious issue: > > libapiextractor0 (SONAME: 0) was shipped in its 0.4.0 version with certain > symbols: binaries dynamically linking against libapiextractor0 are now > expecting that same set of symbols, no matter what further version they > might get, which is not the case with 0.5.0. > > The symbols of 0.4.0: > > http://git.debian.org/?p=collab- > maint/apiextractor.git;a=blob;f=debian/libapiextractor0.symbols;hb=debian/0.4.0-3 > > (there were already some "optional" symbols appearing on some arches and > not on others) > > The symbols of 0.5.0: > http://pastebin.com/y9eu8ixt (the diff is from line 1520) > > The only reasonable thing to do seems to be to bump the SONAME from 0 to 1 > and by such, releasing apiextractor 0.5.0 which would be shipping > libapiextractor1 . > > Thanks for considering, > > OdyX, Debian packager for PySide
FYI, the attached patch solves this by forcing the SONAME to be 0.5 (which is fine for me). Cheers, OdyX
Description: Forces a SONAME bump to libapiextractor as upstream broke the API Author: Didier Raboud <[email protected]> Origin: vendor Last-Update: 2010-05-04 Index: apiextractor/CMakeLists.txt =================================================================== --- apiextractor.orig/CMakeLists.txt 2010-05-04 12:15:54.000000000 +0200 +++ apiextractor/CMakeLists.txt 2010-05-04 12:16:16.000000000 +0200 @@ -23,6 +23,7 @@ set(apiextractor_MICRO_VERSION 0) set(apiextractor_VERSION "${apiextractor_MAJOR_VERSION}.${apiextractor_MINOR_VERSION}.${apiextractor_MICRO_VERSION}") configure_file(apiextractorversion.h.in ${CMAKE_CURRENT_BINARY_DIR}/apiextractorversion.h @ONLY) +set(apiextractor_SOVERSION ${apiextractor_MAJOR_VERSION}.${apiextractor_MINOR_VERSION}) set(QT_USE_QTCORE 1) set(QT_USE_QTXML 1) include(${QT_USE_FILE}) @@ -84,7 +85,7 @@ add_library(apiextractor SHARED ${apiextractor_SRC} ${apiextractor_RCCS_SRC}) target_link_libraries(apiextractor ${LIBXSLT_LIBRARIES} ${LIBXML2_LIBRARIES} ${QT_QTCORE_LIBRARY} ${QT_QTXMLPATTERNS_LIBRARY} ${QT_QTXML_LIBRARY}) -set_target_properties(apiextractor PROPERTIES VERSION ${apiextractor_VERSION} SOVERSION ${apiextractor_MAJOR_VERSION}) +set_target_properties(apiextractor PROPERTIES VERSION ${apiextractor_VERSION} SOVERSION ${apiextractor_SOVERSION}) # create pkg-config file configure_file("${CMAKE_CURRENT_SOURCE_DIR}/apiextractor.pc.in"
_______________________________________________ PySide mailing list [email protected] http://lists.openbossa.org/listinfo/pyside
