Source: neon27
Version: 0.30.1-5
Tags: patch
User: [email protected]
Usertags: rebootstrap

neon27 fails to cross build from source for a fair number of reasons.

It starts out with having its versioned binutils dependency
unsatisfiable, because it would need cross translation. It turns out
that the dependency is satisfied even in wheezy and thus can be dropped.

Next up, the package is configured for the build architecture due to
lack of any --host flags. Switching to dh_auto_configure fixes that.

It also runs tests despite being given DEB_BUILD_OPTIONS=nocheck.

When it searches for a pkg-config executable, it ignores $ac_tool_prefix
and picks the build architecture pkg-config again. Thus it fails to find
gnutls.

All of the above are fixed in the attached patch. Please consider
applying it as it makes a cross build succeed.

Helmut
diff --minimal -Nru neon27-0.30.1/debian/changelog 
neon27-0.30.1/debian/changelog
--- neon27-0.30.1/debian/changelog      2016-08-11 06:57:23.000000000 +0200
+++ neon27-0.30.1/debian/changelog      2016-10-22 14:50:18.000000000 +0200
@@ -1,3 +1,14 @@
+neon27 (0.30.1-5.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: (Closes: #-1)
+    + Drop versioned binutils from Build-Depends: satisfied in wheezy.
+    + Let dh_auto_configure pass --host as necessary.
+    + Support DEB_BUILD_OPTIONS=nocheck.
+    + Force triplet-prefixed pkg-config.
+
+ -- Helmut Grohne <[email protected]>  Sat, 22 Oct 2016 13:12:58 +0200
+
 neon27 (0.30.1-5) unstable; urgency=low
 
   * Skip racy test instead of ignore the whole testsuite result, patch by
diff --minimal -Nru neon27-0.30.1/debian/control neon27-0.30.1/debian/control
--- neon27-0.30.1/debian/control        2016-08-10 22:44:03.000000000 +0200
+++ neon27-0.30.1/debian/control        2016-10-22 13:13:22.000000000 +0200
@@ -2,7 +2,7 @@
 Section: net
 Priority: optional
 Maintainer: Laszlo Boszormenyi (GCS) <[email protected]>
-Build-Depends: debhelper (>= 9), pkg-config, libxml2-dev, libssl-dev (>= 
0.9.8c), libgnutls28-dev, krb5-multidev, libz-dev, dh-autoreconf, binutils (>= 
2.14.90.0.7), ca-certificates, chrpath
+Build-Depends: debhelper (>= 9), pkg-config, libxml2-dev, libssl-dev (>= 
0.9.8c), libgnutls28-dev, krb5-multidev, libz-dev, dh-autoreconf, 
ca-certificates, chrpath
 Homepage: http://www.webdav.org/neon/
 Standards-Version: 3.9.8
 
diff --minimal -Nru neon27-0.30.1/debian/rules neon27-0.30.1/debian/rules
--- neon27-0.30.1/debian/rules  2016-08-11 06:57:23.000000000 +0200
+++ neon27-0.30.1/debian/rules  2016-10-22 14:57:35.000000000 +0200
@@ -9,20 +9,18 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
-DEB_HOST_MULTIARCH := $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+include /usr/share/dpkg/architecture.mk
+
+export PKG_CONFIG=$(shell which $(DEB_HOST_GNU_TYPE)-pkg-config)
 
 BUILDDIR=$(CURDIR)/debian/build-tree/
 DESTDIR=$(CURDIR)/debian/
 CONFIG_COMMON=  --enable-shared                        \
                --enable-static                 \
-               --prefix=/usr                   \
-               --sysconfdir=/etc               \
-               --infodir=/usr/share/info       \
-               --mandir=/usr/share/man         \
                --enable-threadsafe-ssl=posix   \
                --with-gssapi                   \
                --with-libxml2                  \
-               --with-libdir="\$${prefix}/lib/$(DEB_HOST_MULTIARCH)"
+               $(NULL)
 
 CPPFLAGS=$(shell dpkg-buildflags --get CPPFLAGS)
 CFLAGS=$(shell dpkg-buildflags --get CFLAGS)
@@ -34,15 +32,13 @@
        touch build-autoreconf
 
 ${BUILDDIR}/neon-openssl/config.status: build-autoreconf
-       install -d $(BUILDDIR)/neon-openssl
-       cd $(BUILDDIR)/neon-openssl/ && \
-                       CPPFLAGS='$(CPPFLAGS)' CFLAGS='$(CFLAGS)' 
LDFLAGS='$(LDFLAGS)' $(CURDIR)/configure ${CONFIG_COMMON} \
+       CPPFLAGS='$(CPPFLAGS)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' \
+               dh_auto_configure --builddirectory=$(BUILDDIR)/neon-openssl -- 
${CONFIG_COMMON} \
                        --with-ssl=openssl
 
 ${BUILDDIR}/neon-gnutls/config.status: build-autoreconf
-       install -d $(BUILDDIR)/neon-gnutls
-       cd $(BUILDDIR)/neon-gnutls/ && \
-                       CPPFLAGS='$(CPPFLAGS)' CFLAGS='$(CFLAGS)' 
LDFLAGS='$(LDFLAGS)' $(CURDIR)/configure ${CONFIG_COMMON} \
+       CPPFLAGS='$(CPPFLAGS)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' \
+                dh_auto_configure --builddirectory=$(BUILDDIR)/neon-gnutls -- 
${CONFIG_COMMON} \
                        --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt \
                        --with-ssl=gnutls
 
@@ -53,7 +49,9 @@
 build-openssl: ${BUILDDIR}/neon-openssl/config.status
        dh_testdir
        cd $(BUILDDIR)/neon-openssl/ && $(MAKE)
+ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
        cd $(BUILDDIR)/neon-openssl/ && $(MAKE) check
+endif
        touch build-openssl
 
 build-gnutls: ${BUILDDIR}/neon-gnutls/config.status
@@ -65,7 +63,9 @@
                sed -i "s/libneon\./libneon-gnutls\./g" \
                neon-config neon.pc Makefile src/Makefile test/Makefile
        cd $(BUILDDIR)/neon-gnutls/ && $(MAKE)
+ifeq ($(filter nocheck,$(DEB_BUILD_OPTIONS)),)
        cd $(BUILDDIR)/neon-gnutls/ && $(MAKE) check || true
+endif
 
        touch build-gnutls
 

Reply via email to