Package: zlib
Version: 1:1.2.3-13
Severity: normal
Tags: patch

Hi,

Please find attached a patch to support biarch on GNU/kFreeBSD amd64.
The 32-bit libraries directory is /usr/lib32 on this architecture, that
explains some of the changes. Note that it is also the case on ppc64,
though it does not seems to be handled in zlib currently.

Could you please apply this patch in the next upload?

Thanks in advance,
Aurelien

-- System Information:
Debian Release: 4.0
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-3-amd64
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
diff -u zlib-1.2.3/debian/rules zlib-1.2.3/debian/rules
--- zlib-1.2.3/debian/rules
+++ zlib-1.2.3/debian/rules
@@ -34,7 +34,7 @@
 DOBINARY       := binary-lib64z1 binary-lib64z1-dev
 endif
 
-32-ARCHS=amd64 ppc64
+32-ARCHS=amd64 kfreebsd-amd64 ppc64
 ifneq (,$(findstring $(DEB_HOST_ARCH), $(32-ARCHS)))
 DOBUILD                += $(STAMP_DIR)/build-32 $(STAMP_DIR)/build-32-nopic
 DOBINARY       := binary-lib32z1 binary-lib32z1-dev
@@ -111,11 +111,22 @@
 $(STAMP_DIR)/build-32-nopic: $(STAMP_DIR)/source.make
        dh_testdir
        mkdir -p debian/nopic-tmp
+ifeq ($(DEB_HOST_ARCH), amd64)
        cd $(BUILD_TREE) && CC="$(CC32)" CFLAGS="$(CFLAGS) -D_REENTRANT" 
./configure --libdir=\$${prefix}/emul/ia32-linux/usr/lib/
+else
+       cd $(BUILD_TREE) && CC="$(CC32)" CFLAGS="$(CFLAGS) -D_REENTRANT" 
./configure --libdir=\$${prefix}/usr/lib32/
+endif
        $(MAKE) -C $(BUILD_TREE) clean
        $(MAKE) -C $(BUILD_TREE) all libz.a $(TESTS)
        $(MAKE) -C $(BUILD_TREE) install prefix=$(CURDIR)/debian/nopic-tmp
+ifeq ($(DEB_HOST_ARCH), amd64)
+       mkdir -p debian/nopic-tmp/emul/ia32-linux/usr/lib/
        install -m 644 $(BUILD_TREE)/libz.a 
debian/nopic-tmp/emul/ia32-linux/usr/lib/libz.a
+else
+       mkdir -p debian/nopic-tmp/usr/lib32/
+       install -m 644 $(BUILD_TREE)/libz.a debian/nopic-tmp/usr/lib32/libz.a
+endif
+       $(MAKE) -C $(BUILD_TREE) clean
        $(MAKE) -C $(BUILD_TREE) clean
        touch $@
 
@@ -172,18 +183,6 @@
        dh_clean -k $(DH_OPTIONS)
        dh_installdirs $(DH_OPTIONS)
        dh_link $(DH_OPTIONS)
-ifeq ($(DEB_HOST_ARCH),i386)
-       echo 'lib64:Depends=libc6-amd64' >> debian/$*.substvars
-endif
-ifeq ($(DEB_HOST_ARCH),powerpc)
-       echo 'lib64:Depends=libc6-ppc64' >> debian/$*.substvars
-endif
-ifeq ($(DEB_HOST_ARCH),s390)
-       echo 'lib64:Depends=libc6-s390x' > debian/$*.substvars
-endif
-ifeq ($(DEB_HOST_ARCH),sparc)
-       echo 'lib64:Depends=libc6-sparc64' > debian/$*.substvars
-endif
 
 post-binary-%: $(STAMP_DIR)/build
        $(nodocs)if [ "$(manpages1)" != "" ]; then cp $(manpages1) 
$(tmpdir)/usr/share/man/man1 ; fi
@@ -276,13 +275,28 @@
        ln -s libz.so.1 $(tmpdir)/usr/lib64/libz.so
 
 middle-binary-lib32z1: $(STAMP_DIR)/build-32
+ifeq ($(DEB_HOST_ARCH), amd64)
+       mkdir -p $(tmpdir)/emul/ia32-linux/usr/lib/
        install -m 644 -s $(BUILD_TREE)/libz.so.$(VERSION) 
$(tmpdir)/emul/ia32-linux/usr/lib/libz.so.$(VERSION)
        ln -s libz.so.$(VERSION) 
$(tmpdir)/emul/ia32-linux/usr/lib/libz.so.$(SONAME)
+else
+       mkdir -p $(tmpdir)/usr/lib32
+       install -m 644 -s $(BUILD_TREE)/libz.so.$(VERSION) 
$(tmpdir)/usr/lib32/libz.so.$(VERSION)
+       ln -s libz.so.$(VERSION) $(tmpdir)/usr/lib32/libz.so.$(SONAME)
+endif
 
 middle-binary-lib32z1-dev: $(STAMP_DIR)/build-32-nopic
+ifeq ($(DEB_HOST_ARCH), amd64)
+       mkdir -p $(tmpdir)/emul/ia32-linux/usr/lib/ 
        install -m 644 debian/nopic-tmp/emul/ia32-linux/usr/lib/libz.a \
                $(tmpdir)/emul/ia32-linux/usr/lib/libz.a
        ln -s libz.so.1 $(tmpdir)/emul/ia32-linux/usr/lib/libz.so
+else
+       mkdir -p $(tmpdir)/usr/lib32
+       install -m 644 debian/nopic-tmp/usr/lib32/libz.a \
+               $(tmpdir)/usr/lib32/libz.a
+       ln -s libz.so.1 $(tmpdir)/usr/lib32/libz.so
+endif
 
 # Below here is fairly generic really
 
diff -u zlib-1.2.3/debian/control zlib-1.2.3/debian/control
--- zlib-1.2.3/debian/control
+++ zlib-1.2.3/debian/control
@@ -3,7 +3,7 @@
 Priority: optional
 Maintainer: Mark Brown <[EMAIL PROTECTED]>
 Standards-Version: 3.6.2
-Build-Depends: debhelper (>= 4.2), dbs (>= 0.21), libc6-dev-powerpc [ppc64], 
libc6-dev-i386 [amd64], lib64c-dev [i386 powerpc s390 sparc]
+Build-Depends: debhelper (>= 4.2), dbs (>= 0.21), lib32c-dev [amd64 
kfreebsd-amd64 ppc64], lib64c-dev [i386 powerpc s390 sparc]
 
 Package: zlib1g
 Architecture: any
@@ -68,7 +68,7 @@
  files for building 64 bit applications.
 
 Package: lib32z1
-Architecture: amd64 ppc64
+Architecture: amd64 kfreebsd-amd64 ppc64
 Depends: ${shlibs:Depends}
 Replaces: ia32-libs (<< 1.5)
 Description: compression library - 32 bit runtime
@@ -78,7 +78,7 @@
 
 Package: lib32z1-dev
 Section: libdevel
-Architecture: amd64 ppc64
+Architecture: amd64 kfreebsd-amd64 ppc64
 Depends: lib32z1 (= ${Source-Version}), zlib1g-dev (= ${Source-Version}), 
lib32c-dev
 Provides: lib32z-dev
 Replaces: ia32-libs-dev (<< 1.5)
--- zlib-1.2.3/debian/lib32z1.dirs
+++ zlib-1.2.3.orig/debian/lib32z1.dirs
@@ -1 +0,0 @@
-emul/ia32-linux/usr/lib/
--- zlib-1.2.3/debian/lib32z1-dev.dirs
+++ zlib-1.2.3.orig/debian/lib32z1-dev.dirs
@@ -1 +0,0 @@
-emul/ia32-linux/usr/lib/

Reply via email to