Source: cgsi-gsoap
Version: 1.3.11-1
Tags: patch
User: debian-cr...@lists.debian.org
Usertags: ftcbfs

cgsi-gsoap fails to cross build from source for multiple reasons. The
first issue is hard coding the build architecture pkg-config in
debian/rules to discover gsoap. dpkg's buildtools.mk gives the
appropriate pkg-config. Next, it does not pass cross tools to make. The
easiest way to fix this is using dh_auto_build. Finally, the upstream
build system uses the CPP variable - which is normally used for the C
preprocessor - to locate the C++ compiler. I recommend renaming it to
CXX, which is was dh_auto_build passes. Please consider applying the
attached patch to make cgsi-gsoap cross buildable.

Helmut
diff --minimal -Nru cgsi-gsoap-1.3.11/debian/changelog 
cgsi-gsoap-1.3.11/debian/changelog
--- cgsi-gsoap-1.3.11/debian/changelog  2018-06-12 09:40:13.000000000 +0200
+++ cgsi-gsoap-1.3.11/debian/changelog  2020-12-24 21:37:30.000000000 +0100
@@ -1,3 +1,13 @@
+cgsi-gsoap (1.3.11-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: (Closes: #-1)
+    + Use the host architecture pkg-config.
+    + Let dh_auto_build pass cross tools to make.
+    + cross.patch: Rename CPP variable to CXX.
+
+ -- Helmut Grohne <hel...@subdivi.de>  Thu, 24 Dec 2020 21:37:30 +0100
+
 cgsi-gsoap (1.3.11-1) unstable; urgency=medium
 
   * Update to version 1.3.11
diff --minimal -Nru cgsi-gsoap-1.3.11/debian/patches/cross.patch 
cgsi-gsoap-1.3.11/debian/patches/cross.patch
--- cgsi-gsoap-1.3.11/debian/patches/cross.patch        1970-01-01 
01:00:00.000000000 +0100
+++ cgsi-gsoap-1.3.11/debian/patches/cross.patch        2020-12-24 
21:37:30.000000000 +0100
@@ -0,0 +1,69 @@
+--- cgsi-gsoap-1.3.11.orig/src/Makefile
++++ cgsi-gsoap-1.3.11/src/Makefile
+@@ -13,7 +13,7 @@
+ ## implicit rule flags ##
+ SHELL = /bin/sh
+ CC = gcc
+-CPP = g++
++CXX = g++
+ CFLAGS = -Wall -g -fPIC
+ LDFLAGS =
+ RANLIB = ranlib
+@@ -174,14 +174,14 @@
+ 
+ ifneq ($(WITH_CPP_LIBS), $(EMPTY))
+ cgsi_plugin_cpp.o: cgsi_plugin.c cgsi_plugin.h cgsi_plugin_int.h
+-      $(CPP) $(CFLAGS) $(GLOBUS_INCLUDE)  -c -o $@ $<
++      $(CXX) $(CFLAGS) $(GLOBUS_INCLUDE)  -c -o $@ $<
+ 
+ libcgsi_plugin$(GSOAP_VERSION)_cpp.a: cgsi_plugin_cpp.o
+       $(AR) $(ARFLAGS) $@ $?
+       $(RANLIB) $@
+ 
+ libcgsi_plugin$(GSOAP_VERSION)_cpp.so: cgsi_plugin_cpp.o
+-      $(CPP) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? 
$(SHLIBREQLIBS) $(GLOBUS_LIBS)
++      $(CXX) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? 
$(SHLIBREQLIBS) $(GLOBUS_LIBS)
+ endif
+ 
+ ifneq ($(USE_VOMS), $(EMPTY))
+@@ -217,34 +217,34 @@
+ 
+ ifneq ($(WITH_CPP_LIBS), $(EMPTY))
+ cgsi_plugin_voms_cpp.o: cgsi_plugin.c cgsi_plugin.h cgsi_plugin_int.h
+-      $(CPP) $(CFLAGS) $(VOMS_FLAGS)  $(GLOBUS_INCLUDE) -c -o $@ $<
++      $(CXX) $(CFLAGS) $(VOMS_FLAGS)  $(GLOBUS_INCLUDE) -c -o $@ $<
+ 
+ libcgsi_plugin_voms$(GSOAP_VERSION)_cpp.a: cgsi_plugin_voms_cpp.o
+       $(AR) $(ARFLAGS) $@ $?
+       $(RANLIB) $@
+ 
+ libcgsi_plugin_voms$(GSOAP_VERSION)_cpp.so: cgsi_plugin_voms_cpp.o
+-      $(CPP) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? 
$(SHLIBREQLIBS) $(GLOBUS_LIBS) $(VOMS_LIBS)
++      $(CXX) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? 
$(SHLIBREQLIBS) $(GLOBUS_LIBS) $(VOMS_LIBS)
+ 
+ cgsi_plugin_voms_$(GLOBUS_FLAVOUR)_cpp.o: cgsi_plugin.c cgsi_plugin.h 
cgsi_plugin_int.h
+-      $(CPP) $(CFLAGS) $(VOMS_FLAGS)  $(GLOBUS_INCLUDE) -c -o $@ $<
++      $(CXX) $(CFLAGS) $(VOMS_FLAGS)  $(GLOBUS_INCLUDE) -c -o $@ $<
+ 
+ libcgsi_plugin_voms$(GSOAP_VERSION)_$(GLOBUS_FLAVOUR)_cpp.a: 
cgsi_plugin_voms_$(GLOBUS_FLAVOUR)_cpp.o
+       $(AR) $(ARFLAGS) $@ $?
+       $(RANLIB) $@
+ 
+ libcgsi_plugin_voms$(GSOAP_VERSION)_$(GLOBUS_FLAVOUR)_cpp.so: 
cgsi_plugin_voms_$(GLOBUS_FLAVOUR)_cpp.o
+-      $(CPP) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? 
$(SHLIBREQLIBS) $(GLOBUS_LIBS) $(VOMS_LIBS)
++      $(CXX) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? 
$(SHLIBREQLIBS) $(GLOBUS_LIBS) $(VOMS_LIBS)
+ 
+ cgsi_plugin_voms_$(GLOBUS_FLAVOUR_PTHR)_cpp.o: cgsi_plugin.c cgsi_plugin.h 
cgsi_plugin_int.h
+-      $(CPP) $(CFLAGS) $(VOMS_FLAGS_PTHR)  $(GLOBUS_INCLUDE_PTHR) -c -o $@ $<
++      $(CXX) $(CFLAGS) $(VOMS_FLAGS_PTHR)  $(GLOBUS_INCLUDE_PTHR) -c -o $@ $<
+ 
+ libcgsi_plugin_voms$(GSOAP_VERSION)_$(GLOBUS_FLAVOUR_PTHR)_cpp.a: 
cgsi_plugin_voms_$(GLOBUS_FLAVOUR_PTHR)_cpp.o
+       $(AR) $(ARFLAGS) $@ $?
+       $(RANLIB) $@
+ 
+ libcgsi_plugin_voms$(GSOAP_VERSION)_$(GLOBUS_FLAVOUR_PTHR)_cpp.so: 
cgsi_plugin_voms_$(GLOBUS_FLAVOUR_PTHR)_cpp.o
+-      $(CPP) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? 
$(SHLIBREQLIBS) $(GLOBUS_LIBS_PTHR) $(VOMS_LIBS)
++      $(CXX) $(SHLIBLDFLAGS) -Wl,-soname,$@.$(VMAJOR) -o $@ $? 
$(SHLIBREQLIBS) $(GLOBUS_LIBS_PTHR) $(VOMS_LIBS)
+ endif
+ 
+ endif
diff --minimal -Nru cgsi-gsoap-1.3.11/debian/patches/series 
cgsi-gsoap-1.3.11/debian/patches/series
--- cgsi-gsoap-1.3.11/debian/patches/series     2018-06-12 09:40:13.000000000 
+0200
+++ cgsi-gsoap-1.3.11/debian/patches/series     2020-12-24 21:37:30.000000000 
+0100
@@ -1 +1,2 @@
 CGSI-gSOAP-library-linking.patch
+cross.patch
diff --minimal -Nru cgsi-gsoap-1.3.11/debian/rules 
cgsi-gsoap-1.3.11/debian/rules
--- cgsi-gsoap-1.3.11/debian/rules      2018-02-23 17:19:45.000000000 +0100
+++ cgsi-gsoap-1.3.11/debian/rules      2020-12-24 21:37:26.000000000 +0100
@@ -7,6 +7,8 @@
        $(shell date -d "$$(dpkg-parsechangelog -c 1 -S Date)" +%s)
 
 -include /usr/share/dpkg/buildflags.mk
+-include /usr/share/dpkg/buildtools.mk
+PKG_CONFIG ?= pkg-config
 
 INSTALLDIR = $(CURDIR)/debian/tmp
 
@@ -45,8 +47,8 @@
        dh_testdir
 
        . ./VERSION && \
-       cd src && \
-       $(MAKE) CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `pkg-config --cflags 
gsoap`" \
+       dh_auto_build --sourcedirectory=src --buildsystem=makefile -- \
+               CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `$(PKG_CONFIG) --cflags 
gsoap`" \
                SHLIBLDFLAGS="$(LDFLAGS) -shared" \
                USE_VOMS=yes WITH_EMI=yes WITH_CPP_LIBS=yes \
                LIBDIR=lib/$(DEB_HOST_MULTIARCH) VERSION=$$VERSION all doc
@@ -59,7 +61,7 @@
 
        . ./VERSION && \
        cd src && \
-       $(MAKE) CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `pkg-config --cflags 
gsoap`" \
+       $(MAKE) CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `$(PKG_CONFIG) --cflags 
gsoap`" \
                SHLIBLDFLAGS="$(LDFLAGS) -shared" \
                USE_VOMS=yes WITH_EMI=yes WITH_CPP_LIBS=yes \
                LIBDIR=lib/$(DEB_HOST_MULTIARCH) VERSION=$$VERSION clean
@@ -86,7 +88,7 @@
 
        . ./VERSION && \
        cd src && \
-       $(MAKE) CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `pkg-config --cflags 
gsoap`" \
+       $(MAKE) CFLAGS="$(CFLAGS) $(CPPFLAGS) -fPIC -I. `$(PKG_CONFIG) --cflags 
gsoap`" \
                SHLIBLDFLAGS="$(LDFLAGS) -shared" \
                USE_VOMS=yes WITH_EMI=yes WITH_CPP_LIBS=yes \
                LIBDIR=lib/$(DEB_HOST_MULTIARCH) VERSION=$$VERSION \

Reply via email to