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

Bug#384088: 32-bit biarch support



Package: libxau6
Version: 1:1.0.0-3
Severity: wishlist
Tags: patch

Patch attached for 32-bit biarch support (lib32xau6 and lib32xau-dev).

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.17-1-amd64-k8
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)

Versions of packages libxau6 depends on:
ii  libc6                         2.3.6-15   GNU C Library: Shared libraries
ii  x11-common                    1:7.0.22   X Window System (X.Org) infrastruc

libxau6 recommends no packages.

-- no debconf information
diff -Nur libxau-1.0.1.old/debian/control libxau-1.0.1/debian/control
--- libxau-1.0.1.old/debian/control	2006-08-21 20:22:46.000000000 +0200
+++ libxau-1.0.1/debian/control	2006-08-21 21:14:24.000000000 +0200
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
 Uploaders: David Nusinow <dnusinow@debian.org>, Branden Robinson <branden@debian.org>, Fabio M. Di Nitto <fabbione@fabbione.net>
-Build-Depends: debhelper (>= 5.0.0), pkg-config, x11proto-core-dev, quilt
+Build-Depends: debhelper (>= 5.0.0), pkg-config, x11proto-core-dev, quilt, libc6-dev-i386 [amd64]
 Standards-Version: 3.7.2.0
 
 Package: libxau6
@@ -57,3 +57,43 @@
  .
  This module can be found as the module 'lib/Xau' at
  :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg
+
+Package: lib32xau6
+Architecture: amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}, x11-common
+Description: X11 authorisation library
+ This package provides the main interface to the X11 authorisation handling,
+ which controls authorisation for X connections, both client-side and
+ server-side.
+ .
+ More information about X.Org can be found at:
+ <URL:http://xorg.freedesktop.org>
+ <URL:http://lists.freedesktop.org/mailman/listinfo/xorg>
+ .
+ This module can be found as the module 'lib/Xau' at
+ :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg
+ .
+ This package supports the 32-bit ABI variant of your system's
+ architecure.
+
+Package: lib32xau-dev
+Architecture: amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}, lib32xau6 (= ${Source-Version}), x11proto-core-dev, lib32c-dev, libxau-dev
+Pre-Depends: x11-common (>= 1:7.0.0)
+Description: X11 authorisation library (development headers)
+ This package provides the main interface to the X11 authorisation handling,
+ which controls authorisation for X connections, both client-side and
+ server-side.
+ .
+ This package contains the development headers for the library found in libxau6.
+ Non-developers likely have little use for this package.
+ .
+ More information about X.Org can be found at:
+ <URL:http://xorg.freedesktop.org>
+ <URL:http://lists.freedesktop.org/mailman/listinfo/xorg>
+ .
+ This module can be found as the module 'lib/Xau' at
+ :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg
+ .
+ This package supports the 32-bit ABI variant of your system's
+ architecure.
diff -Nur libxau-1.0.1.old/debian/lib32xau6.install libxau-1.0.1/debian/lib32xau6.install
--- libxau-1.0.1.old/debian/lib32xau6.install	1970-01-01 01:00:00.000000000 +0100
+++ libxau-1.0.1/debian/lib32xau6.install	2006-08-21 21:38:09.000000000 +0200
@@ -0,0 +1 @@
+emul/ia32-linux/usr/lib/libXau.so.6*
diff -Nur libxau-1.0.1.old/debian/lib32xau-dev.install libxau-1.0.1/debian/lib32xau-dev.install
--- libxau-1.0.1.old/debian/lib32xau-dev.install	1970-01-01 01:00:00.000000000 +0100
+++ libxau-1.0.1/debian/lib32xau-dev.install	2006-08-21 21:38:27.000000000 +0200
@@ -0,0 +1,3 @@
+emul/ia32-linux/usr/lib/libXau.a
+emul/ia32-linux/usr/lib/libXau.so
+emul/ia32-linux/usr/lib/pkgconfig/xau.pc
diff -Nur libxau-1.0.1.old/debian/rules libxau-1.0.1/debian/rules
--- libxau-1.0.1.old/debian/rules	2006-08-21 20:22:46.000000000 +0200
+++ libxau-1.0.1/debian/rules	2006-08-21 21:39:25.000000000 +0200
@@ -25,12 +25,12 @@
 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)
-ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
-	confflags += --build=$(DEB_HOST_GNU_TYPE)
-else
-	confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
-endif
 
+ifeq ($(DEB_HOST_ARCH), amd64)
+build32-target = i686-$(DEB_HOST_GNU_SYSTEM)
+lib32 = /emul/ia32-linux/lib
+usr_lib32 = /emul/ia32-linux/usr/lib
+endif
 
 build: patch build-stamp
 build-stamp: 
@@ -40,9 +40,20 @@
 	cd obj-$(DEB_BUILD_GNU_TYPE) && \
 	../configure --prefix=/usr --mandir=\$${prefix}/share/man \
 	             --infodir=\$${prefix}/share/info $(confflags) \
+	             --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) \
 	             CFLAGS="$(CFLAGS)" 
 	cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE)
 
+ifneq (, $(build32-target))
+	mkdir obj-$(build32-target)
+	cd obj-$(build32-target) && \
+	../configure --prefix=/usr --mandir=\$${prefix}/share/man \
+	             --infodir=\$${prefix}/share/info $(confflags) \
+	             --build=$(DEB_BUILD_GNU_TYPE) --host=$(build32-target) --libdir=$(usr_lib32) \
+	             CFLAGS="$(CFLAGS)" CC="gcc -m32" BUILD_CC="gcc" CXX="g++ -m32"
+	cd obj-$(build32-target) && $(MAKE)
+endif
+
 	touch build-stamp
 
 clean: xsfclean
@@ -65,6 +76,9 @@
 	dh_installdirs
 
 	cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
+ifneq (, $(build32-target))
+	cd obj-$(build32-target) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install
+endif
 
 # Build architecture-dependent files here.
 binary-arch: build install
@@ -79,7 +93,7 @@
 	dh_compress
 	dh_fixperms
 	dh_makeshlibs
-	dh_shlibdeps
+	dh_shlibdeps -l$(lib32):$(usr_lib32)
 	dh_installdeb
 	dh_gencontrol
 	dh_md5sums

Reply to: