Wednesday, 8 February 2017

Re: liblockfile cross compilation guidance

FYI - resolved.

Doko replied on IRC [1] and we could sort it out to be a valid sync these days.

They build fine - the old issue was that cross build "worked" but created binaries of the wrong architecture.
But I verified that the new package is fine in that regard, doing a few more tests now.

P.S. I just see that Steve replied with about the same content - thanks as well.


On Wed, Feb 8, 2017 at 10:40 AM, Christian Ehrhardt <[email protected]> wrote:
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 <[email protected]com>
Date: Wed, Jan 25, 2017 at 4:17 PM
Subject: liblockfile cross compilation guidance
To: Adam Conrad <[email protected]>
Cc: Matthias Klose <[email protected]>, Jon Grimm <[email protected]>


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 [email protected]

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



--
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd