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