Package: re2c
Version: 0.16-2
Tags: patch
User: [email protected]
Usertags: rebootstrap
Control: affects -1 + src:ninja-build

ninja-build fails to execute re2c during a cross build. It simply says
"Build-Depends: re2c" and since re2c has no Multi-Arch header, that will
default to using the host architecture re2c, which usually is not
executable during cross builds. It seems that the correct solution is to
use the build architecture re2c. Either ninja-build can annotate its
re2c dependency with :native or re2c can mark itself as Multi-Arch:
foreign. A cursory look at re2c tells, that it only contains one
executable, no libraries, and a few text files. /usr/bin/re2c appears to
be a compiler compiling the re2c language to C. It seems that the
transformation is entirely independent of the architecture of the re2c
binary. Thus the Multi-Arch: foreign marking seems to be correct and
thus preferable. Please consider applying the attached patch.

Helmut
diff --minimal -Nru re2c-0.16/debian/changelog re2c-0.16/debian/changelog
--- re2c-0.16/debian/changelog  2017-01-10 11:23:58.000000000 +0100
+++ re2c-0.16/debian/changelog  2017-06-18 19:51:30.000000000 +0200
@@ -1,3 +1,10 @@
+re2c (0.16-2.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Mark re2c Multi-Arch: foreign.
+
+ -- Helmut Grohne <[email protected]>  Sun, 18 Jun 2017 19:51:30 +0200
+
 re2c (0.16-2) unstable; urgency=medium
 
   * Control: switch Vcs-Git url to https.
diff --minimal -Nru re2c-0.16/debian/control re2c-0.16/debian/control
--- re2c-0.16/debian/control    2017-01-10 11:23:58.000000000 +0100
+++ re2c-0.16/debian/control    2017-06-18 19:51:27.000000000 +0200
@@ -10,6 +10,7 @@
 
 Package: re2c
 Architecture: any
+Multi-Arch: foreign
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: tool for generating fast C-based recognizers
  re2c is a great tool for writing fast and flexible lexers. Unlike 

Reply via email to