Wednesday 8 February 2017

Fwd: liblockfile cross compilation guidance

Hi,
re-post - this time also reaching out to the full ubuntu-devel list so that this could be decided before the impending FF next week.

TL;DR: is just dh/dh_auto_configure cross build safe enough these days to allow liblockfile becoming a syncpackage in zesty?

Options:
  • Yes a sync should be safe for zesty
  • No, we still need the delta (adapted to new d/rules)
  • No, we want to wait until it stabilized again in Debian and only consider it in zesty+1 (I have never touched any of the reverse-depends to this so it is hard for me to decide)

Details:

---------- Forwarded message ----------
From: Christian Ehrhardt <christian.ehrhardt@canonical.com>
Date: Wed, Jan 25, 2017 at 4:17 PM
Subject: liblockfile cross compilation guidance
To: Adam Conrad <adam.conrad@canonical.com>
Cc: Matthias Klose <matthias.klose@canonical.com>, Jon Grimm <jon.grimm@canonical.com>


Hi,
I asked on IRC before [1] but it might have been lost.
TL;DR: is just dh/dh_auto_configure cross build safe enough these days?

I need your advise and experience on general packaging and cross compilation on that.
The old change is from you Adam, so I wanted to ask you.
Similar (to me) changes I've seen often are from Doko, so I set him on CC for an extra pack of experience.

Background:
The package liblockfile was all-the-same for quite a while.
Recently there seems to be an influx of upstream and Debian packaging activity.

Our only Delta is "Explicitly set CC with DEB_HOST_GNU_TYPE if we're cross-compiling."
 DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
+
+ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
+       export CC = $(DEB_HOST_GNU_TYPE)-gcc
+       INSTALL += --strip-program=$(DEB_HOST_GNU_TYPE)-strip
+endif



But the new d/rules dropped almost all and uses almost only dh defaults in the more recent packaging:
%:
        dh $@

override_dh_auto_configure:
        dh_auto_configure -- --enable-shared --with-mailgroup

The older Delta is 5 years old since the package didn't change at all.
But the question that I can't answer alone is, if just dh/dh_auto_configure would be cross build safe enough these days?
And if so if this shall just become a sync then, because that was the only delta that is left


-- 
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd