Hi!

On Wed, 2015-01-21 at 20:07:54 +0100, Helmut Grohne wrote:
> Source: expat
> Version: 2.1.0-6
> Tags: patch
> User: helm...@debian.org
> Usertags: rebootstrap

> Trying to cross build expat for e.g. powerpc results in a build failure
> during dh_strip. It built lib64expat1 using "gcc -m64" which produced
> amd64 objects instead of ppc64 objects which powerpc-linux-gnu-strip
> does not understand.
> 
> I am attaching a patch that changes the build inject a suitable CC
> variable which makes cross building expat work.

Alternatively, the multilib packages could just be dropped (at least in
experimental), given that the only package currently Build-Depending on
them in the archive (gdb for its gdb64 package) has now stopped building
the package and I expect should stop Build-Depending on it soon in
experimental. This way we simplify our build processes, and move
further into using proper multiarch.

Attached patch does exactly that (only build tested).

(See #775948 for the progress on this.)

Thanks,
Guillem
From da7d62885bdae71742dc670c9c040b6873912391 Mon Sep 17 00:00:00 2001
From: Guillem Jover <guil...@debian.org>
Date: Sat, 24 Jan 2015 19:39:30 +0100
Subject: [PATCH] Remove now unused multilib packages

Closes: #775942
---
 debian/control                 | 31 +------------------------------
 debian/lib64expat1-dev.install |  2 --
 debian/lib64expat1.install     |  1 -
 debian/lib64expat1.shlibs      |  2 --
 debian/rules                   | 41 +++--------------------------------------
 5 files changed, 4 insertions(+), 73 deletions(-)
 delete mode 100644 debian/lib64expat1-dev.install
 delete mode 100644 debian/lib64expat1.install
 delete mode 100644 debian/lib64expat1.shlibs

diff --git a/debian/control b/debian/control
index ec558f5..315ade5 100644
--- a/debian/control
+++ b/debian/control
@@ -4,40 +4,11 @@ Priority: optional
 Maintainer: Laszlo Boszormenyi (GCS) <g...@debian.org>
 Standards-Version: 3.9.5
 Build-Depends: debhelper (>= 9), docbook-to-man, dh-autoreconf,
- dpkg-dev (>= 1.16.0),
- gcc-multilib [i386 powerpc sparc s390]
+ dpkg-dev (>= 1.16.0)
 Homepage: http://expat.sourceforge.net
 Vcs-Browser: http://svn.debian.org/wsvn/debian-xml-sgml/packages/expat/trunk/
 Vcs-Svn: svn://svn.debian.org/svn/debian-xml-sgml/packages/expat/trunk/
 
-Package: lib64expat1-dev
-Section: libdevel
-Architecture: i386 powerpc sparc s390
-Depends: ${misc:Depends}, lib64expat1 (= ${binary:Version}), libexpat1-dev, gcc-multilib
-Description: XML parsing C library - development kit (64bit)
- This package contains the header file and development libraries of
- expat, the C library for parsing XML.  Expat is a stream oriented XML
- parser.  This means that you register handlers with the parser prior
- to starting the parse.  These handlers are called when the parser
- discovers the associated structures in the document being parsed.  A
- start tag is an example of the kind of structures for which you may
- register handlers.
- .
- This package includes the development support files for building 64 bit
- applications.
-
-Package: lib64expat1
-Section: libs
-Architecture: i386 powerpc sparc s390
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: XML parsing C library - runtime library (64bit)
- This package contains the runtime, shared library of expat, the C
- library for parsing XML. Expat is a stream-oriented parser in
- which an application registers handlers for things the parser
- might find in the XML document (like start tags).
- .
- This package includes the 64 bit version of the shared library.
-
 Package: libexpat1-dev
 Section: libdevel
 Architecture: any
diff --git a/debian/lib64expat1-dev.install b/debian/lib64expat1-dev.install
deleted file mode 100644
index 34c5ecb..0000000
--- a/debian/lib64expat1-dev.install
+++ /dev/null
@@ -1,2 +0,0 @@
-usr/lib64/*.a
-usr/lib64/*.so
diff --git a/debian/lib64expat1.install b/debian/lib64expat1.install
deleted file mode 100644
index 2c53d54..0000000
--- a/debian/lib64expat1.install
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib64/*.so.*
diff --git a/debian/lib64expat1.shlibs b/debian/lib64expat1.shlibs
deleted file mode 100644
index ed55770..0000000
--- a/debian/lib64expat1.shlibs
+++ /dev/null
@@ -1,2 +0,0 @@
-libexpat 1 lib64expat1 (>= 2.0.1)
-libexpatw 1 lib64expat1 (>= 2.0.1)
diff --git a/debian/rules b/debian/rules
index 31909df..0fe365b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -11,27 +11,12 @@ DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
 
-BUILD64 = $(filter $(DEB_HOST_ARCH), i386 powerpc sparc s390)
-
 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),i386)
-	HOST64FLAG = --host=x86_64-linux-gnu
-endif
-ifeq ($(DEB_HOST_ARCH),powerpc)
-	HOST64FLAG = --host=ppc64-linux-gnu
-endif
-ifeq ($(DEB_HOST_ARCH),sparc)
-	HOST64FLAG = --host=sparc64-linux-gnu
-endif
-ifeq ($(DEB_HOST_ARCH),s390)
-	HOST64FLAG = --host=s390x-linux-gnu
-endif
-
 # -pthread -D_REENTRANT #551079
 CFLAGS  = `dpkg-buildflags --get CFLAGS`
 CFLAGS  += -Wall
@@ -63,22 +48,10 @@ buildw/config.status: config-common-stamp
 	(mkdir -p $(@D); cd $(@D); CFLAGS="$(CFLAGS) -DXML_UNICODE" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
 	 ../configure $(CONFFLAGS) --prefix=/usr --mandir=\$${prefix}/share/man --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH))
 
-build64/config.status: config-common-stamp
-	dh_testdir
-	(mkdir -p $(@D); cd $(@D); CFLAGS="-m64 $(CFLAGS)" CPPFLAGS="$(CPPFLAGS)"  LDFLAGS="$(LDFLAGS)" \
-	 ../configure $(CONFFLAGS) $(HOST64FLAG) --prefix=/usr --mandir=\$${prefix}/share/man \
-	 --libdir=\$${prefix}/lib64)
-
-buildw64/config.status: config-common-stamp
-	dh_testdir
-	(mkdir -p $(@D); cd $(@D); CFLAGS="-m64 $(CFLAGS) -DXML_UNICODE" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
-	 ../configure $(CONFFLAGS) $(HOST64FLAG) --prefix=/usr --mandir=\$${prefix}/share/man \
-	 --libdir=\$${prefix}/lib64)
-
 clean:
 	dh_testdir
 	dh_testroot
-	rm -rf build/ build64/ buildw/ buildw64/
+	rm -rf build/ buildw/
 	rm -rf debian/tmp/
 	dh_autoreconf_clean
 	dh_clean config-common-stamp build-stamp debian/xmlwf.1
@@ -86,14 +59,10 @@ clean:
 build: build-stamp
 build-arch: build-stamp
 build-indep: build-stamp
-build-stamp: build/config.status buildw/config.status $(if $(BUILD64), build64/config.status buildw64/config.status)
+build-stamp: build/config.status buildw/config.status
 	dh_testdir
 	$(MAKE) $(NJOBS) -C build/
 	$(MAKE) $(NJOBS) -C buildw/ buildlib LIBRARY=libexpatw.la
-ifneq ($(BUILD64),)
-	$(MAKE) $(NJOBS) -C build64/ buildlib
-	$(MAKE) $(NJOBS) -C buildw64/ buildlib LIBRARY=libexpatw.la
-endif
 	docbook-to-man doc/xmlwf.sgml > debian/xmlwf.1
 	touch $@
 
@@ -104,10 +73,6 @@ install: build
 	dh_installdirs
 	$(MAKE) -C build/ install DESTDIR=$(CURDIR)/debian/tmp
 	$(MAKE) -C buildw/ installlib LIBRARY=libexpatw.la DESTDIR=$(CURDIR)/debian/tmp APIHEADER=
-ifneq ($(BUILD64),)
-	$(MAKE) -C build64/ installlib DESTDIR=$(CURDIR)/debian/tmp
-	$(MAKE) -C buildw64/ installlib LIBRARY=libexpatw.la DESTDIR=$(CURDIR)/debian/tmp APIHEADER=
-endif
 	# Move libexpat.so.* to /lib so that zfsutils can use it.
 	mkdir -p $(CURDIR)/debian/tmp/lib/$(DEB_HOST_MULTIARCH)
 	mv $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libexpat.so.* \
@@ -137,7 +102,7 @@ binary-arch: build install
 	          $(CURDIR)/debian/libexpat1-dev/usr/share/aclocal/*
 	dh_makeshlibs -s -V --add-udeb=$(UPACKAGE)
 	dh_installdeb -s
-	dh_shlibdeps -s -l $(CURDIR)/debian/libexpat1/usr/lib/$(DEB_HOST_MULTIARCH):$(CURDIR)/debian/lib64expat1/usr/lib64
+	dh_shlibdeps -s -l $(CURDIR)/debian/libexpat1/usr/lib/$(DEB_HOST_MULTIARCH)
 	dh_gencontrol -s
 	dh_md5sums -s
 	dh_builddeb -s
-- 
2.2.1.209.g41e5f3a

Reply via email to