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

Re: [VAC] now - undefined (was Re: ICU transition status)



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/
slangasek@ubuntu.com                                     vorlon@debian.org
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 <pkg-boost-devel@lists.alioth.debian.org>
 Uploaders: Steve M. Robbins <smr@debian.org>, Domenico Andreoli <cavok@debian.org>, Christophe Prud'homme <prudhomm@debian.org>
-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 <vorlon@debian.org>  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 ;"
 

Reply to: