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

Re: ICU transition status



On Mon, Dec 17, 2007 at 02:28:50AM -0800, Steve Langasek wrote:
> On Sun, Dec 16, 2007 at 05:45:05PM -0800, Steve Langasek wrote:
> > The attached patch works quite a bit better, and is what I'll upload if it
> > finishes checking out here.

> Nope, that patch was also total crap.  But this patch gets me a package that
> builds successfully, *and* the binaries contain what they're supposed to.

> I'll let this one sit for a while for people to comment on, and if there are
> no objections I'll upload the NMU tomorrow.

That one's buggy too. :)  Adding the shlibs to the -dbg package was subtly
broken because DH_OPTIONS overrides -p.  Hurray for lintian, at least.

This patch works, is as lintian-clean as the previous build, and is on its
way to incoming now.

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,18 @@
+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.
+  * Add shlibs to libboost-dbg package, for compatibility with new
+    dpkg-shlibdeps behavior.
+
+ -- 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.$(SOVERSION) >> $(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 ;"
 
@@ -117,6 +119,7 @@
 	rm -rf debian/libboost-*$(SOVERSION).install
 	rm -rf debian/libboost-*-dev.install
 	rm -rf debian/libboost-*-dev.links
+	rm -rf debian/libboost-*$(SOVERSION).links
 	rm -rf debian/libboost-dbg.install
 	rm -rf debian/libboost-dbg.links
 
@@ -318,6 +321,7 @@
 			echo DH_OPTIONS=-p$${lib} dh_makeshlibs -V"$${lib} $(SHLIBS_VERSION)"; \
 			DH_OPTIONS=-p$${lib} dh_makeshlibs -V"$${lib} $(SHLIBS_VERSION)"; \
 		done; \
+		DH_OPTIONS=-plibboost-dbg dh_makeshlibs -V"libboost-dbg $(SHLIBS_VERSION)"; \
 	fi
 
 	dh_installdeb

Reply to: