Source: clickhouse
Version: 18.16.1+ds-4
Severity: important
Tags: ftbfs patch
Justification: fails to build from source (but built successfully in the past)

d/rules has the following:

#exclude with_server test on archs other than listed ones
ifeq (,$(filter $(DEB_HOST_ARCH),amd64 arm64 ppc64el))
        TEST_ARGS+="-E with_server"
endif

and later

override_dh_auto_test:
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
        dh_auto_test -- ARGS+=$(TEST_ARGS)
endif

As dh_auto_test invokes "make test <ARGS>", which does not
to work, as the -E syntax is ctest syntax.
On targets with GNU make, the builldlogs show a "make syntax"
error prompt.

Looking at buildd logs, this was already in seen in 18.16.1+ds-4,
so marking this version as found version.

Manually calling ctest will resolve this. (See attached patch.)

-- 
tobi

diff --git a/debian/rules b/debian/rules
index bb6b3de..cf9c8f7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -59,6 +59,11 @@ ifeq (,$(filter $(DEB_HOST_ARCH),amd64 arm64 ppc64el))
 	TEST_ARGS+="-E with_server"
 endif
 
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+    NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+    TEST_ARGS+="--parallel $(NUMJOBS)"
+endif
+
 CMAKE_FLAGS = -DUNBUNDLED=1 -DUSE_STATIC_LIBRARIES=0 USE_UNWIND=0 -DCLICKHOUSE_SPLIT_BINARY=1 -DVERSION_DESCRIBE=$(shell dpkg-parsechangelog -S Version)
 
 ifeq ($(DEB_HOST_ARCH),amd64)
@@ -73,5 +78,5 @@ override_dh_auto_configure:
 
 override_dh_auto_test:
 ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
-	dh_auto_test -- ARGS+=$(TEST_ARGS)
+	(cd obj-* ; ctest ARGS+=$(TEST_ARGS) )
 endif

Attachment: signature.asc
Description: PGP signature

Reply via email to