Bug#951413: efl FTCBFS: DEB_VERSION empty, more tools missing

Helmut Grohne helmut at subdivi.de
Sun Feb 16 07:41:01 GMT 2020


Source: efl
Version: 1.23.3-7
Tags: patch
User: debian-cross at 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
-------------- next part --------------
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 <helmut at 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
 


More information about the Pkg-e-devel mailing list