From 8fc5e1bb0e4947f4fbb74f560b4fa570a985052f Mon Sep 17 00:00:00 2001
From: Julien Cristau <jcristau@debian.org>
Date: Sat, 30 Jul 2011 15:27:46 +0200
Subject: [PATCH] Split libx11-6.symbols between the common symbols and 64bit-specific ones

Pick the right file based on DEB_HOST_ARCH_BITS.
---
 debian/changelog                                 |    7 +++++++
 debian/{libx11-6.symbols => libx11-6.symbols.32} |    5 -----
 debian/libx11-6.symbols.64                       |    6 ++++++
 debian/rules                                     |    5 ++++-
 4 files changed, 17 insertions(+), 6 deletions(-)
 rename debian/{libx11-6.symbols => libx11-6.symbols.32} (98%)
 create mode 100644 debian/libx11-6.symbols.64

diff --git a/debian/changelog b/debian/changelog
index 497aa7f..8d76e96 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+libx11 (2:1.4.3-4) UNRELEASED; urgency=low
+
+  * Split libx11-6.symbols between the common symbols and 64bit-specific ones,
+    and pick the right one based on DEB_HOST_ARCH_BITS.
+
+ -- Julien Cristau <jcristau@debian.org>  Sat, 30 Jul 2011 15:26:08 +0200
+
 libx11 (2:1.4.3-3) unstable; urgency=low
 
   [ Julien Cristau ]
diff --git a/debian/libx11-6.symbols b/debian/libx11-6.symbols.32
similarity index 98%
rename from debian/libx11-6.symbols
rename to debian/libx11-6.symbols.32
index 34e673c..36b2dd4 100644
--- a/debian/libx11-6.symbols
+++ b/debian/libx11-6.symbols.32
@@ -791,7 +791,6 @@ libX11.so.6 libx11-6 #MINVER#
  _XCopyEventCookie@Base 2:1.2.99.901
  (optional)_XCopyToArg@Base 0 1
  _XCreateMutex_fn@Base 0
- (arch=alpha amd64 kfreebsd-amd64 ia64 s390x sparc64)_XData32@Base 0
  _XDefaultError@Base 0
  _XDefaultIOError@Base 0
  (optional)_XDefaultOpenIM@Base 0 1
@@ -852,7 +851,6 @@ libX11.so.6 libx11-6 #MINVER#
  _XProcessInternalConnection@Base 0
  _XProcessWindowAttributes@Base 0
  _XPutBackEvent@Base 0
- (arch=alpha amd64 kfreebsd-amd64 ia64 s390x sparc64)_XRead32@Base 0
  _XRead@Base 0
  _XReadEvents@Base 0
  _XReadPad@Base 0
@@ -1100,9 +1098,7 @@ libX11.so.6 libx11-6 #MINVER#
  (optional)_XkbInternAtomFunc@Base 0 1
  (optional)_XkbNoteCoreMapChanges@Base 0 1
  (optional)_XkbPeekAtReadBuffer@Base 0 1
- (optional|arch=alpha amd64 kfreebsd-amd64 ia64 s390x sparc64)_XkbReadBufferCopy32@Base 0 1
  (optional)_XkbReadBufferCopyKeySyms@Base 0 1
- (optional|arch=alpha amd64 kfreebsd-amd64 ia64 s390x sparc64)_XkbReadCopyData32@Base 0 1
  (optional)_XkbReadCopyKeySyms@Base 0 1
  (optional)_XkbReadGetCompatMapReply@Base 0 1
  (optional)_XkbReadGetGeometryReply@Base 0 1
@@ -1111,7 +1107,6 @@ libX11.so.6 libx11-6 #MINVER#
  (optional)_XkbReadGetNamesReply@Base 0 1
  (optional)_XkbReloadDpy@Base 0 1
  (optional)_XkbSkipReadBufferData@Base 0 1
- (optional|arch=alpha amd64 kfreebsd-amd64 ia64 s390x sparc64)_XkbWriteCopyData32@Base 0 1
  (optional)_XkbWriteCopyKeySyms@Base 0 1
  (optional)_XkeyTable@Base 0 1
  (optional)_XlcAddCT@Base 0 1
diff --git a/debian/libx11-6.symbols.64 b/debian/libx11-6.symbols.64
new file mode 100644
index 0000000..ac90152
--- /dev/null
+++ b/debian/libx11-6.symbols.64
@@ -0,0 +1,6 @@
+#include "libx11-6.symbols.32"
+ _XData32@Base 0
+ _XRead32@Base 0
+ (optional)_XkbReadBufferCopy32@Base 0 1
+ (optional)_XkbReadCopyData32@Base 0 1
+ (optional)_XkbWriteCopyData32@Base 0 1
diff --git a/debian/rules b/debian/rules
index 8252735..8fe08b0 100755
--- a/debian/rules
+++ b/debian/rules
@@ -37,6 +37,7 @@ DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
 DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+DEB_HOST_ARCH_BITS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_BITS)
 
 ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
 	confflags += --build=$(DEB_HOST_GNU_TYPE)
@@ -118,7 +119,9 @@ binary-arch: build install
 	dh_strip -Nlibx11-6 -Nlibx11-xcb1
 	dh_compress -s
 	dh_fixperms -s
-	dh_makeshlibs -s -plibx11-6 --add-udeb=libx11-6-udeb -- -c4
+	ln -sf libx11-6.symbols.$(DEB_HOST_ARCH_BITS) debian/libx11-6.symbols
+	dh_makeshlibs -s -plibx11-6 --add-udeb=libx11-6-udeb -c4
+	rm debian/libx11-6.symbols
 	dh_makeshlibs -s -Nlibx11-6 -- -c4
 	dh_shlibdeps -s
 	dh_installdeb -s
-- 
1.7.2.5

