Source: efl Version: 1.23.3-7 Tags: patch User: debian-cr...@lists.debian.org Usertags: ftcbfs
Hi Ross, Thank you for improving upon my previous FTCBFS patch. Especially having moved all the tools to separate lib*-bin packages proves valuable now. Unfortunately, cross building does not quite work yet. The immediate failure is the cross tool version check. It turns out that nothing ever set up the DEB_VERSION variable. In the qt example it comes from dpkg's pkg-info.mk. I suggest that you include it here as well. Beyond eolian_gen, we also need a few more tools here. The attached patch adds them to Build-Depends and adds the relevant version check to debian/rules. The patch also marks the relevant lib*-bin packages Multi-Arch: foreign on the grounds that upstream uses them during build. I have not checked in detail whether the marking really is correct. For libedje-bin, I'm unsure about the role of /usr/lib/x86_64-linux-gnu/edje/utils/v-1.23/epp. If that is part of the package interface, Multi-Arch: foreign is incorrect. That said, the harm done by a wrong Multi-Arch: foreign marking is quite limited, because these tools seem to have little use beyond (cross) building. For native builds Multi-Arch annotations are entirely irrelevant. If they turn out to be wrong, we can refine later. So with this second patch, efl cross builds successfully here. Please consider applying it and thanks for bearing with me. Helmut
diff --minimal -Nru efl-1.23.3/debian/changelog efl-1.23.3/debian/changelog --- efl-1.23.3/debian/changelog 2020-02-05 06:02:37.000000000 +0100 +++ efl-1.23.3/debian/changelog 2020-02-16 07:11:25.000000000 +0100 @@ -1,3 +1,13 @@ +efl (1.23.3-7.1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix FTCBFS: (Closes: #-1) + + Missing include pkg-info.mk. + + Add required cross build depends on lib*-bin from efl. + + Mark relevant lib*-bin packages Multi-Arch: foreign. + + -- Helmut Grohne <hel...@subdivi.de> Sun, 16 Feb 2020 07:11:25 +0100 + efl (1.23.3-7) unstable; urgency=medium [ Helmut Grohne ] diff --minimal -Nru efl-1.23.3/debian/control efl-1.23.3/debian/control --- efl-1.23.3/debian/control 2020-02-05 06:02:37.000000000 +0100 +++ efl-1.23.3/debian/control 2020-02-16 07:11:25.000000000 +0100 @@ -13,6 +13,9 @@ libbullet-dev, libcurl4-gnutls-dev, libdbus-1-dev, + libedje-bin <cross>, + libeet-bin <cross>, + libelementary-bin <cross>, libeolian-bin <cross>, libfontconfig1-dev, libfreetype6-dev, @@ -154,6 +157,7 @@ Package: libeet-bin Architecture: any +Multi-Arch: foreign Depends: ${misc:Depends}, ${shlibs:Depends} Description: EFL file chunk reading/writing - utilities Eet is a tiny library designed to write an arbitrary set of chunks of data to a @@ -782,6 +786,7 @@ Package: libedje-bin Architecture: any +Multi-Arch: foreign Section: devel Depends: libembryo-bin (>= 0.9.9.050+svn20090204), @@ -1061,6 +1066,7 @@ Package: libelementary-bin Architecture: any +Multi-Arch: foreign Depends: ${misc:Depends}, ${shlibs:Depends} Description: EFL widget set - helper programs Elementary is a widget set based on the Enlightenment Foundation diff --minimal -Nru efl-1.23.3/debian/rules efl-1.23.3/debian/rules --- efl-1.23.3/debian/rules 2020-02-05 06:02:37.000000000 +0100 +++ efl-1.23.3/debian/rules 2020-02-16 07:11:25.000000000 +0100 @@ -1,6 +1,7 @@ #!/usr/bin/make -f include /usr/share/dpkg/architecture.mk +include /usr/share/dpkg/pkg-info.mk export DEB_BUILD_MAINT_OPTIONS = hardening=+all @@ -32,6 +33,9 @@ override_dh_auto_configure: # cross-builds need host eolian_gen, but ensure the versions match ifneq (,$(filter cross,$(DEB_BUILD_PROFILES))) + test "`dpkg-query -f '$${Version}' -W libedje-bin`" = "$(DEB_VERSION)" + test "`dpkg-query -f '$${Version}' -W libeet-bin`" = "$(DEB_VERSION)" + test "`dpkg-query -f '$${Version}' -W libelementary-bin`" = "$(DEB_VERSION)" test "`dpkg-query -f '$${Version}' -W libeolian-bin`" = "$(DEB_VERSION)" endif