[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#1110345: lomiri-location-service FTCBFS: Multiple reasons



Hi Nilesh,

thanks for sending cross build patches.

On Mon, Aug 04, 2025 at 12:54:25AM +0530, Nilesh Patra wrote:
> > > 2. The lomiri-location-service-tests package misses a !nocheck build profile due
> > > to which cross-builds were trying to build for test package as well

<!nocheck> generally should never be used in Build-Profiles to disable
the building of certain packages. To inhibit the building of installed
tests, please use the noinsttest build profile.

That may mean that some of the Build-Depends must move their <!nocheck>
annotations to <!noinsttest> annotations. Since that profile is not
enabled by default for cross builds, that may result in failing to
satisfy cross build depends.

> --- a/debian/control
> +++ b/debian/control
> @@ -69,6 +69,7 @@ Package: lomiri-location-service-tests
>  Architecture: any
>  Depends: ${misc:Depends},
>           ${shlibs:Depends},
> +Build-Profiles: <!nocheck>
>  Description: Lomiri Location Service test executables
>   Aggregates position/velocity/heading updates and exports them over DBus.
>   .

This is the hunk I'm complaining about.

> diff --git a/debian/rules b/debian/rules
> index dbdb92e..ef527e0 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -14,12 +14,20 @@ NULL =
>  export DEB_BUILD_MAINT_OPTIONS = hardening=+all
>  DPKG_EXPORT_BUILDFLAGS = 1
>  include /usr/share/dpkg/buildflags.mk
> +-include /usr/share/dpkg/buildtools.mk

The buildtools.mk file is present since quite a long time now.
Initially, I started using it with "-include" to facilitate backports,
but we no longer need to cover that case and plain "include" is more
sensible these days.

>  DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
>  
>  export DPKG_GENSYMBOLS_CHECK_LEVEL=4
> +EXTRA_CMAKE_OPTS =
>  
>  include /usr/share/dpkg/default.mk
> +ifneq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))

There is a lomiri-location-service-doc package. Do you happen to know
whether BUILD_DOCS affects other packages beyond this? (You may check
using reproducible builds, e.g. manual pages may go away.) If only that
one package is affected, a better check would be:

ifeq (,$(filter lomiri-location-service-doc,$(shell dh_listpackages)))

If doing an arch-only build or a nodoc build, debhelper will not list
the package in dh_listpackages.

> +EXTRA_CMAKE_OPTS += -DBUILD_DOCS=OFF
> +endif
> +ifneq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))

This should likely be matching noinsttest.

> +EXTRA_CMAKE_OPTS += -DBUILD_TESTS=OFF
> +endif
>  
>  %:
>  	dh $@
> @@ -33,8 +41,10 @@ override_dh_auto_install:
>  override_dh_install:
>  	rm -Rv debian/tmp/usr/lib/*/lomiri-location-service/examples/
>  	rm -Rv debian/tmp/usr/share/lomiri-location-service/examples/
> +ifeq (,$(findstring nodoc, $(DEB_BUILD_OPTIONS) $(DEB_BUILD_PROFILES)))

Also match on the package being built here if possible.

Helmut


Reply to: