On Mon, Dec 17, 2007 at 12:39:20AM +0100, Bernd Zeimetz wrote: > > The attached patch looks to me like it does the necessary handling of > > switching to gcc-4.2 without breaking the ABI. I'm still going through the > > QA on it, but so far it looks sane; if anyone notices a problem with it, > > please let me know, otherwise I'll plan to NMU once I have a good build and > > am happy that I haven't broken anything.
> A but offtopic now, but I jumped into my mind while looking at your > diff.... As we want to move to python2.5 at some point > I think the line > PYTHON_CONFIG="using python : 2.4 : /usr ;" > could be replaced by > PYTHON_CONFIG="using python : $(shell pyversions -dv) : /usr ;" > Which would allow to drop the build-dependency on python2.4-dev - > assuming that boost builds fine with python2.5. Yes, that would be nice. The package currently build-depends on python2.4-dev, *and* an python-dev | python-all-dev; simplifying that can only be a win. BTW, the previous patch didn't work, I made the mistake of thinking that the sonames were being set from within debian/rules when the complex logic in debian/rules was apparently just there to keep pace with upstream. So that's a factor in not dropping the explicit "g++-4.2" build-dep for now. The attached patch works quite a bit better, and is what I'll upload if it finishes checking out here. Cheers, -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ [EMAIL PROTECTED] [EMAIL PROTECTED]
diff -u boost-1.34.1/debian/control boost-1.34.1/debian/control --- boost-1.34.1/debian/control +++ boost-1.34.1/debian/control @@ -3,7 +3,7 @@ Priority: optional Maintainer: Debian Boost Team <[EMAIL PROTECTED]> Uploaders: Steve M. Robbins <[EMAIL PROTECTED]>, Domenico Andreoli <[EMAIL PROTECTED]>, Christophe Prud'homme <[EMAIL PROTECTED]> -Build-Depends: debhelper (>= 4), bison, flex, docbook-to-man, xsltproc, doxygen, zlib1g-dev, libbz2-dev, libicu36-dev, python-dev | python-all-dev, python2.4-dev, python-support (>= 0.3), g++-4.1 +Build-Depends: debhelper (>= 4), bison, flex, docbook-to-man, xsltproc, doxygen, zlib1g-dev, libbz2-dev, libicu-dev, python-dev | python-all-dev, python2.4-dev, python-support (>= 0.3), g++-4.2 Standards-Version: 3.7.2 Package: bcp diff -u boost-1.34.1/debian/changelog boost-1.34.1/debian/changelog --- boost-1.34.1/debian/changelog +++ boost-1.34.1/debian/changelog @@ -1,3 +1,16 @@ +boost (1.34.1-2.1) unstable; urgency=low + + * Non-maintainer upload. + * Build-depend on libicu-dev instead of libicu36-dev for the icu library + transition. Closes: #454605. + * Bump the Build-Depends from g++-4.1 to g++-4.2, and add + backwards-compatibility "-gcc41" symlinks for all libraries to avoid + gratuitous ABI breakage for the rebuild since the gcc version + doesn't change the ABI, contrary to upstream assertion. Bump the + shlibs to match. + + -- Steve Langasek <[EMAIL PROTECTED]> Sun, 16 Dec 2007 13:59:29 -0800 + boost (1.34.1-2) unstable; urgency=low [ Steve Robbins ] diff -u boost-1.34.1/debian/rules boost-1.34.1/debian/rules --- boost-1.34.1/debian/rules +++ boost-1.34.1/debian/rules @@ -10,12 +10,12 @@ # Boost does not guarantee any ABI, it uses the full version in SONAME SOVERSION = 1.34.1 -SHLIBS_VERSION = +SHLIBS_VERSION = (>= 1.34.1-2.1) DEBIAN_SUFFIX = # tags for library name decoration boost_version = $(subst .,_,$(SOVERSION)) -gcc_version = gcc41 +gcc_version = gcc42 # Boost libraries for which we want separate packages boost_libs := date-time filesystem graph iostreams program-options python regex serialization signals test thread wave @@ -36,6 +36,7 @@ # helpers to make basic and decorated library names mk_base_name = usr/lib/libboost_$(subst -,_,$(1))$(2) mk_full_name = usr/lib/libboost_$(subst -,_,$(1))-$(gcc_version)$(2)-$(boost_version) +mk_compat_name = usr/lib/libboost_$(subst -,_,$(1))-gcc41$(2)-$(boost_version) # helpers to make proper release/debug package names mk_pkg_lib = libboost-$(if $(findstring -d,$(2)),dbg,$(1)$(SOVERSION)$(DEBIAN_SUFFIX)) @@ -49,7 +50,8 @@ mk_ln_files = $(shell echo $(call mk_full_name,$(2),$(3)).so.$(SOVERSION) $(call mk_full_name,$(2),$(3)).so >> $(call mk_deb_dev,$(1),$(3)).links) mk_ln2_files = $(shell echo $(call mk_full_name,$(2),$(3)).so $(call mk_base_name,$(2),$(3)).so >> $(call mk_deb_dev,$(1),$(3)).links) mk_ln3_files = $(shell echo $(call mk_full_name,$(2),$(3)).a $(call mk_base_name,$(2),$(3)).a >> $(call mk_deb_dev,$(1),$(3)).links) -mk_files = $(foreach fn,a so ln ln2 ln3,$(call mk_$(fn)_files,$(1),$(2),$(3))) +mk_ln4_files = $(shell echo $(call mk_full_name,$(2),$(3)).so.$(SOVERSION) $(call mk_compat_name,$(2),$(3)).so >> $(call mk_deb_lib,$(1),$(3)).links) +mk_files = $(foreach fn,a so ln ln2 ln3 ln4,$(call mk_$(fn)_files,$(1),$(2),$(3))) # invokes mk_files of every variant of every shared library of every Boost library mk_debhelper_files = \ @@ -62,9 +64,9 @@ ) \ ) -TOOLSET_CONFIG="using gcc : 4.1 : g++-4.1 : <define>_REENTRANT ;" +TOOLSET_CONFIG="using gcc : 4.2 : g++-4.2 : <define>_REENTRANT ;" ifeq ($(DEB_BUILD_ARCH), hppa) -TOOLSET_CONFIG="using gcc : 4.1 : g++-4.1 : <define>_REENTRANT <compileflags>-mlong-calls ;" +TOOLSET_CONFIG="using gcc : 4.2 : g++-4.2 : <define>_REENTRANT <compileflags>-mlong-calls ;" endif PYTHON_CONFIG="using python : 2.4 : /usr ;"