Your message dated Tue, 12 Sep 2017 21:19:35 +0000
with message-id <[email protected]>
and subject line Bug#859177: fixed in meson 0.42.1-1
has caused the Debian Bug report #859177,
regarding meson is unuseable for package cross compilation
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)
--
859177: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=859177
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: meson
Severity: wishlist
Control: block -1 by 859173
Mchael Biebl (Cced) asked me to look into cross compilation with
`meson`. I already filed a related bug #859173 for the underlying
`ninja-build`, but `meson` itself also poses problems for cross
compilation.
For starters, any package that `Build-Depends: meson` cannot satisfy its
cross build dependencies, because `meson` is `Architecture: all` and
implicitly `Multi-Arch: no`. Such packages can never satisfy cross build
dependencies. There are essentially two approaches for solving this
problem. One involves changing the `Architecture` (makes little sense
here) and the other involves adding `Multi-Arch: foreign`, but it is not
clear to me that the latter is correct.
When running `meson` on a project without supplying a `--cross-file`,
`meson` will pick default system compilers. Those compilers will produce
architecture-dependent output, which `meson` inherits. Thus `meson`'s
interfaces certainly are not architecture-independent (and therefore
suitable for `Multi-Arch: foreign`) in the obvious way. That said, the
same problem holds for `make` and `cmake`. `make` was originally marked
`Multi-Arch: foreign` until Jakub Wilk noticed that its handling of
filesystem paths is architecture-dependent and it is now `Multi-Arch:
allowed` (and considered architecture independent through
build-essential unless one explicitly `Build-Depends: make`). `cmake` is
marked `Multi-Arch: foreign`. So we need to define a "reasonable use" of
meson and evaluate whether such use is indeed architecture-independent.
To ease such use and to simplify adding a `meson` buildsystem to
`debhelper` (#795253), I propose that `meson` gains a supporting script.
For `autotools`, it is customary, that one specifies the build, host and
target architectures as GNU triplets at configure time. No further cross
configuration is necessary and that makes cross building
`autotools`-based projects essentially just work. Contrast that with
`meson`, where the user has to supply an elaborate `--cross-file`.
`meson`'s approach adds a lot of flexibility over `autotools`' ones at
the cost of complexity. Thus I propose that we (or even upstream) adds
a shell script which takes three additional parameters (build, host and
target architectures in GNU triplet format) and produces a suitable
`--cross-file` before invoking `meson`. We might call it `cross-meson`.
Thus `debhelper` would simply call `cross-meson` with the appropriate
GNU triplets (that it can easily derive using `dpkg-architecture`) and
skip any cross compilation specific complexity for `meson`. Such a
script would be useful beyond Debian as GNU triplets are a very common
thing during cross compilation. Rather than having each and every Linux
distribution produce its own `--cross-file` generator, why not have this
upstream? Of course I am not proposing to abolish the more flexible
`--cross-file` approach: It does server actual use cases beyond
well-maintained Linux distributions. But maybe we can have a wrapper to
handle the common case?
No code for the `cross-meson` idea has materialized at the time of this
writing. Normally, I'd only file such a bug with a patch, but Michael
asked me to get the discussion going as soon as possible. Discussion
will be necessary as the `meson` maintainers will likely know little
about cross compilation and `[email protected]` members such
as myself have little knowledge of `meson`. Only joining forces will
lead to success (as has happened e.g. in a fruitful discussion with
TeXlive maintainer Norbert Preining).
Hope this helps
Helmut
--- End Message ---
--- Begin Message ---
Source: meson
Source-Version: 0.42.1-1
We believe that the bug you reported is fixed in the latest version of
meson, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Jussi Pakkanen <[email protected]> (supplier of updated meson package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Tue, 12 Sep 2017 19:37:59 +0300
Source: meson
Binary: meson
Architecture: source all
Version: 0.42.1-1
Distribution: unstable
Urgency: medium
Maintainer: Jussi Pakkanen <[email protected]>
Changed-By: Jussi Pakkanen <[email protected]>
Description:
meson - high-productivity build system
Closes: 859177
Changes:
meson (0.42.1-1) unstable; urgency=medium
.
* New upstream version.
* Marked the package multi-arch foreign
* Ship non-public helper script to generate cross files
from architecture info to aid in cross builds. Closes: #859177.
Checksums-Sha1:
aa1f7c5a445794174ac906e9e582ec188d6e4a7a 2941 meson_0.42.1-1.dsc
109203ca08a9d2d00649cf24dcc20bdac1fb1608 1044794 meson_0.42.1.orig.tar.gz
e7d57b7addfde13aa1edd5b261df9b621a2afcd5 11504 meson_0.42.1-1.debian.tar.xz
b323dc6a6070e3d3892bf561046d36d060ba16bd 192928 meson_0.42.1-1_all.deb
5dd244044da8e35306fedaf5bf12e4cf7816d2e3 29343 meson_0.42.1-1_amd64.buildinfo
Checksums-Sha256:
2ca1aaab4e5eece81b9911dba205d960a377831c7e8a9958b648f80e7bf1bd52 2941
meson_0.42.1-1.dsc
30bdded6fefc48211d30818d96dd34aae56ee86ce9710476f501bd7695469c4b 1044794
meson_0.42.1.orig.tar.gz
e14186d50808b4c8b92c6533c969410f1628a197eed2a68f87df986234f0b311 11504
meson_0.42.1-1.debian.tar.xz
d04ef2dd4b28556d4b01342b0c2b3a37f0bfe4d55fcd85dd68c35cdd018e85b2 192928
meson_0.42.1-1_all.deb
44e832d60fe50a113765f6b7e3d104a5bed071a628f0fafe4b6efe9e44247495 29343
meson_0.42.1-1_amd64.buildinfo
Files:
442cdeb25452292601fba436335ac212 2941 devel optional meson_0.42.1-1.dsc
a8ff06ab5e138dec64cbfa249ff4f8bb 1044794 devel optional
meson_0.42.1.orig.tar.gz
d9c92726d3ec1b45abc716605e6f7056 11504 devel optional
meson_0.42.1-1.debian.tar.xz
dcfcea04602cee65caa6c3d207754438 192928 devel optional meson_0.42.1-1_all.deb
b6345d9c8c4b3f1d4462e409b3441fdc 29343 devel optional
meson_0.42.1-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEExkOAo1eT0DvBz+1oxrkYDUvYt64FAlm4OqUACgkQxrkYDUvY
t64xWg//SE+wMGA4FxTQvc3dkANkT+DFrKXs2Ej54kYBcRLykL1rA5/2RGfm4Aq1
ZRJcT0Z6NiyWtGbltqB4vPr9pzOj+tcGiBAE3RRHXe070NcleqVa90gzekeIhvgL
4ABv0Dyzj5VVxPJ4YV8ucxhIu2XFbWJq1QEPNODeutpoNSQ6FahE4LYrmPZhQ60Y
ZdNVNXiLRidfXcROWIv2yd16D77lFyBdzlQUDhsRcK5ubu1o8o7295PAHi18Axsz
uZZxQl8hAVdbrKeMI1g/GhOvzgcTetg/2qg8/4aTpZ5pQa+m104jqr92+sPqun91
mjSomBKeCJHO89lVLw9nc4NvezGmGBv7zDBdh6Tm3P0U00Sbs7dxbW/zE9JvFBP6
Ea1ikwGS7691VwWba3EWOA1i9FT3VBc0V6agL9TWMbQPa24U8wXChBmEsdodNIGr
NegfBEQupc1Wb8G6waPhT9hxfYUCZoev7BwmuyZgYYdBGo8AXkxmvtQjfw1AlfB/
FbF9Pgbp0nalC0LWMppsDaO2Wl0Sg/Yq2Is1v6PQ7RmSiZTfJMTy8XB/UbuwlepT
+xBmwgK4xMJiJaWfK2B0nNtKPOVw+aPqQI6Z8UKSO7D08Wjel9SGqmImYKUheecW
3BTM8ICo1mLFLwla/HzroS1QTzufavabv6X1OJA/30maPMbgsP4=
=WKYf
-----END PGP SIGNATURE-----
--- End Message ---