Package: expat
Version: 2.1.0-4
Severity: normal
Tags: patch
Dear Maintainer,
For the ppc64el architecture in Ubuntu, since this package uses libtool,
a full autoreconf is necessary. This is because we need new libtool
macros for ppc64el.
In Ubuntu, the attached patch was applied to achieve the following:
* Use dh-autoreconf to fix FTBFS on ppc64el.
* Enable parallel builds.
Thanks for considering the patch.
Erwan Prioul.
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: ppc64el (ppc64le)
Kernel: Linux 3.13-1-powerpc64le (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,7 @@
Priority: optional
Maintainer: Laszlo Boszormenyi (GCS) <g...@debian.org>
Standards-Version: 3.9.4
-Build-Depends: debhelper (>= 8.1.3), docbook-to-man,
+Build-Depends: debhelper (>= 8.1.3), docbook-to-man, dh-autoreconf,
dpkg-dev (>= 1.16.0),
gcc-multilib [i386 powerpc sparc s390]
Homepage: http://expat.sourceforge.net
--- a/debian/rules
+++ b/debian/rules
@@ -43,23 +43,33 @@
UPACKAGE = $(shell dh_listpackages | grep -- -udeb$$)
-build/config.status: configure
+COMMA = ,
+ifneq (,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
+ NJOBS := -j $(subst parallel=,,$(filter parallel=%,$(subst $(COMMA), ,$(DEB_BUILD_OPTIONS))))
+endif
+
+config-common-stamp:
+ dh_testdir
+ dh_autoreconf
+ touch $@
+
+build/config.status: config-common-stamp
dh_testdir
(mkdir -p $(@D); cd $(@D); CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
../configure $(CONFFLAGS) --prefix=/usr --mandir=\$${prefix}/share/man --libdir=\$${prefix}/lib/$(DEB_HOST_MULTIARCH))
-buildw/config.status: configure
+buildw/config.status: config-common-stamp
dh_testdir
(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: configure
+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: configure
+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 \
@@ -70,18 +80,19 @@
dh_testroot
rm -rf build/ build64/ buildw/ buildw64/
rm -rf debian/tmp/
- dh_clean build-stamp debian/xmlwf.1
+ dh_autoreconf_clean
+ dh_clean config-common-stamp build-stamp debian/xmlwf.1
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)
dh_testdir
- $(MAKE) -C build/
- $(MAKE) -C buildw/ buildlib LIBRARY=libexpatw.la
+ $(MAKE) $(NJOBS) -C build/
+ $(MAKE) $(NJOBS) -C buildw/ buildlib LIBRARY=libexpatw.la
ifneq ($(BUILD64),)
- $(MAKE) -C build64/ buildlib
- $(MAKE) -C buildw64/ buildlib LIBRARY=libexpatw.la
+ $(MAKE) $(NJOBS) -C build64/ buildlib
+ $(MAKE) $(NJOBS) -C buildw64/ buildlib LIBRARY=libexpatw.la
endif
docbook-to-man doc/xmlwf.sgml > debian/xmlwf.1
touch $@