Source: geany-plugins Version: 2.0-4 Tags: patch User: debian-cr...@lists.debian.org Usertags: ftcbfs X-Debbugs-Cc: debian-cr...@lists.debian.org
Hi, geany-plugins fails to cross build from source. I think this actually is a relatively, exciting bug so I'm Ccing d-cross@l.d.o. Ultimately, debian/rules compiles and runs a dumpabiver thing to get the value of a C macro. That running part cannot work at all. Hence, I am proposing to use AC_COMPUTE_INT from autoconf to determine the relevant values. In a native build, it'll do much the same thing as before (running stuff to print the value) albeit wrapped up in autoconf. In a cross build, it'll automatically degrade to bisecting the value. This takes a little longer, but it makes things just work. I'm attaching a patch for your convenience. Helmut
diff --minimal -Nru geany-plugins-2.0/debian/autoreconf geany-plugins-2.0/debian/autoreconf --- geany-plugins-2.0/debian/autoreconf 1970-01-01 01:00:00.000000000 +0100 +++ geany-plugins-2.0/debian/autoreconf 2023-12-05 19:30:01.000000000 +0100 @@ -0,0 +1,2 @@ +. +debian/dumpabiver diff --minimal -Nru geany-plugins-2.0/debian/changelog geany-plugins-2.0/debian/changelog --- geany-plugins-2.0/debian/changelog 2023-11-18 10:29:26.000000000 +0100 +++ geany-plugins-2.0/debian/changelog 2023-12-05 19:30:01.000000000 +0100 @@ -1,3 +1,10 @@ +geany-plugins (2.0-4.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix FTCBFS: Use AC_COMPUTE_INT to determine ABI version. (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Tue, 05 Dec 2023 19:30:01 +0100 + geany-plugins (2.0-4) unstable; urgency=medium * Acknowledge NMUs (2.0-2.1 and 2.0-2.2) diff --minimal -Nru geany-plugins-2.0/debian/clean geany-plugins-2.0/debian/clean --- geany-plugins-2.0/debian/clean 2023-11-18 10:29:26.000000000 +0100 +++ geany-plugins-2.0/debian/clean 2023-12-05 19:30:01.000000000 +0100 @@ -1,2 +1,5 @@ -debian/dumpabiver -debian/abiversion.sh +debian/dumpabiver/aclocal.m4 +debian/dumpabiver/autom4te.cache +debian/dumpabiver/config.cache +debian/dumpabiver/config.log +debian/dumpabiver/configure diff --minimal -Nru geany-plugins-2.0/debian/dumpabiver/configure.ac geany-plugins-2.0/debian/dumpabiver/configure.ac --- geany-plugins-2.0/debian/dumpabiver/configure.ac 1970-01-01 01:00:00.000000000 +0100 +++ geany-plugins-2.0/debian/dumpabiver/configure.ac 2023-12-05 19:30:01.000000000 +0100 @@ -0,0 +1,17 @@ +AC_INIT([abidumper],[0.0]) +AC_PROG_CC +PKG_CHECK_MODULES([GEANY],[geany]) +CFLAGS="$CFLAGS $GEANY_CFLAGS" +AC_COMPUTE_INT([GEANY_ABI_VERSION],[GEANY_ABI_VERSION],[ +#include <geany/geany.h> +#include <geany/plugindata.h> +]) +AC_COMPUTE_INT([GEANY_API_VERSION],[GEANY_API_VERSION],[ +#include <geany/geany.h> +#include <geany/plugindata.h> +]) +cat >config.cache <<EOF +GEANY_ABI_VERSION=$GEANY_ABI_VERSION +GEANY_API_VERSION=$GEANY_API_VERSION +EOF + diff --minimal -Nru geany-plugins-2.0/debian/dumpabiver.c geany-plugins-2.0/debian/dumpabiver.c --- geany-plugins-2.0/debian/dumpabiver.c 2023-11-18 10:29:26.000000000 +0100 +++ geany-plugins-2.0/debian/dumpabiver.c 1970-01-01 01:00:00.000000000 +0100 @@ -1,9 +0,0 @@ -#include <geany/geany.h> -#include <geany/plugindata.h> - -int main() -{ - printf("GEANY_ABI=geany-abi-%d\nGEANY_API=geany-api-%d\n", - GEANY_ABI_VERSION, GEANY_API_VERSION); - return 0; -} diff --minimal -Nru geany-plugins-2.0/debian/rules geany-plugins-2.0/debian/rules --- geany-plugins-2.0/debian/rules 2023-11-18 10:29:26.000000000 +0100 +++ geany-plugins-2.0/debian/rules 2023-12-05 19:30:01.000000000 +0100 @@ -1,10 +1,12 @@ #!/usr/bin/make -f include /usr/share/dpkg/buildflags.mk +-include /usr/share/dpkg/buildtools.mk +PKG_CONFIG ?= pkg-config export LDFLAGS += -Wl,--as-needed -Wl,-z,defs -GEANY_VERSION = $(shell pkg-config --modversion geany) +GEANY_VERSION = $(shell $(PKG_CONFIG) --modversion geany) override_dh_autoreconf: rm -rf build/cache @@ -74,18 +76,15 @@ dh_installchangelogs # add geany:Version substvar to debian/*.substvars -debian/dumpabiver: debian/dumpabiver.c - $(CC) -o $@ $< $(shell pkg-config --cflags geany) - -debian/abiversion.sh: debian/dumpabiver - $< > $@ +debian/dumpabiver/config.cache: debian/dumpabiver/configure.ac + dh_auto_configure --sourcedirectory=debian/dumpabiver -override_dh_gencontrol: debian/abiversion.sh - . debian/abiversion.sh && \ +override_dh_gencontrol: debian/dumpabiver/config.cache + . debian/dumpabiver/config.cache && \ dh_gencontrol -- \ "-Vgeany:Version=$(GEANY_VERSION)" \ - "-Vgeany:API=$${GEANY_ABI}" \ - "-Vgeany:ABI=$${GEANY_ABI}" + "-Vgeany:API=geany-api-$${GEANY_ABI_VERSION}" \ + "-Vgeany:ABI=geany-abi-$${GEANY_ABI_VERSION}" # Don't make shlibs (false positive on pretty-printer.so override_dh_makeshlibs: