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

Bug#384196: 32-bit biarch support



Package: libxext6
Version: 1:1.0.1-1
Severity: wishlist
Tags: patch

Patch attached for 32-bit biarch support (lib32xext6 and lib32xext-dev).

(needs lib32x11 first)

-- 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 libxext6 depends on:
ii  libc6                         2.3.6-15   GNU C Library: Shared libraries
ii  libx11-6                      2:1.0.0-8  X11 client-side library
ii  libxau6                       1:1.0.0-3  X11 authorisation library
ii  x11-common                    1:7.0.22   X Window System (X.Org) infrastruc

libxext6 recommends no packages.

-- no debconf information
diff -Nur libxext-1.0.1.old/debian/control libxext-1.0.1/debian/control
--- libxext-1.0.1.old/debian/control	2006-08-21 20:06:12.000000000 +0200
+++ libxext-1.0.1/debian/control	2006-08-22 15:46:26.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), libx11-dev (>= 1:0.99.2-1), libxau-dev (>= 1:0.1.2-1), x11proto-core-dev (>= 6.8.99.15+cvs.20050722-1), x11proto-xext-dev, pkg-config, quilt
+Build-Depends: debhelper (>= 5.0.0), libc6-dev-i386 [amd64], libx11-dev (>= 1:0.99.2-1), lib32x11-dev (>= 1:0.99.2-1) [amd64], libxau-dev (>= 1:0.1.2-1), lib32xau-dev (>= 1:0.1.2-1) [amd64], x11proto-core-dev (>= 6.8.99.15+cvs.20050722-1), x11proto-xext-dev, pkg-config, quilt
 Standards-Version: 3.7.2.0
 
 Package: libxext6
@@ -120,3 +120,83 @@
  .
  This module can be found as the module 'lib/Xext' at
  :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg
+
+Package: lib32xext6
+Architecture: amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}, x11-common
+Description: X11 miscellaneous extension library
+ libXext provides an X Window System client interface to several extensions to
+ the X protocol.
+ .
+ The supported protocol extensions are:
+  - DOUBLE-BUFFER (DBE), the Double Buffer extension;
+  - DPMS, the VESA Display Power Management System extension;
+  - Extended-Visual-Information (EVI), an extension for gathering extra
+    information about the X server's visuals;
+  - LBX, the Low Bandwith X extension;
+  - MIT-SHM, the MIT X client/server shared memory extension;
+  - MIT-SUNDRY-NONSTANDARD, a miscellaneous extension by MIT;
+  - Multi-Buffering, the multi-buffering and stereo display extension;
+  - SECURITY, the X security extension;
+  - SHAPE, the non-rectangular shaped window extension;
+  - SYNC, the X synchronization extension;
+  - TOG-CUP, the Open Group's Colormap Utilization extension;
+  - XC-APPGROUP, the X Consortium's Application Group extension;
+  - XC-MISC, the X Consortium's resource ID querying extension;
+  - XTEST, the X test extension (this is one of two client-side
+    implementations; the other is in the libXtst library, provided by the
+    libxtst6 package);
+ .
+ libXext also provides a small set of utility functions to aid authors of
+ client APIs for X protocol extensions.
+ .
+ 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/Xext' at
+ :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg
+ .
+ This package supports the 32-bit ABI variant of your system's architecture.
+
+Package: lib32xext-dev
+Architecture: amd64
+Depends: ${shlibs:Depends}, ${misc:Depends}, lib32xext6 (= ${Source-Version}), x11proto-core-dev, x11proto-xext-dev, lib32x11-dev, lib32c-dev, libxext-dev (= ${Source-Version})
+Pre-Depends: x11-common (>= 1:7.0.0)
+Description: X11 miscellaneous extensions library (development headers)
+ libXext provides an X Window System client interface to several extensions to
+ the X protocol.
+ .
+ The supported protocol extensions are:
+  - DOUBLE-BUFFER (DBE), the Double Buffer extension;
+  - DPMS, the VESA Display Power Management System extension;
+  - Extended-Visual-Information (EVI), an extension for gathering extra
+    information about the X server's visuals;
+  - LBX, the Low Bandwith X extension;
+  - MIT-SHM, the MIT X client/server shared memory extension;
+  - MIT-SUNDRY-NONSTANDARD, a miscellaneous extension by MIT;
+  - Multi-Buffering, the multi-buffering and stereo display extension;
+  - SECURITY, the X security extension;
+  - SHAPE, the non-rectangular shaped window extension;
+  - SYNC, the X synchronization extension;
+  - TOG-CUP, the Open Group's Colormap Utilization extension;
+  - XC-APPGROUP, the X Consortium's Application Group extension;
+  - XC-MISC, the X Consortium's resource ID querying extension;
+  - XTEST, the X test extension (this is one of two client-side
+    implementations; the other is in the libXtst library, provided by the
+    libxtst6 package);
+ .
+ libXext also provides a small set of utility functions to aid authors of
+ client APIs for X protocol extensions.
+ .
+ This package contains the development headers for the library found in 
+ libxext6. 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/Xext' at
+ :pserver:anoncvs@cvs.freedesktop.org:/cvs/xorg
+ .
+ This package supports the 32-bit ABI variant of your system's architecture.
diff -Nur libxext-1.0.1.old/debian/lib32xext6.install libxext-1.0.1/debian/lib32xext6.install
--- libxext-1.0.1.old/debian/lib32xext6.install	1970-01-01 01:00:00.000000000 +0100
+++ libxext-1.0.1/debian/lib32xext6.install	2006-08-22 15:47:04.000000000 +0200
@@ -0,0 +1 @@
+emul/ia32-linux/usr/lib/libXext.so.6*
diff -Nur libxext-1.0.1.old/debian/lib32xext-dev.install libxext-1.0.1/debian/lib32xext-dev.install
--- libxext-1.0.1.old/debian/lib32xext-dev.install	1970-01-01 01:00:00.000000000 +0100
+++ libxext-1.0.1/debian/lib32xext-dev.install	2006-08-22 15:47:21.000000000 +0200
@@ -0,0 +1,3 @@
+emul/ia32-linux/usr/lib/libXext.a
+emul/ia32-linux/usr/lib/libXext.so
+emul/ia32-linux/usr/lib/pkgconfig/xext.pc
diff -Nur libxext-1.0.1.old/debian/rules libxext-1.0.1/debian/rules
--- libxext-1.0.1.old/debian/rules	2006-08-21 20:06:12.000000000 +0200
+++ libxext-1.0.1/debian/rules	2006-08-22 15:52:32.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=$(build32-target) --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: