Your message dated Mon, 23 Dec 2019 20:16:06 +0000
with message-id <[email protected]>
and subject line Bug#889925: fixed in vala 0.46.5-1.1
has caused the Debian Bug report #889925,
regarding valac is unusable for 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.)


-- 
889925: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=889925
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Source: vala
Version: 0.38.7-1
User: [email protected]
Usertags: rebootstrap

valac is presently unusable for cross-compilation. There are a number of
issues and unfortunately, this isn't going to be fixable easily.

The first issue you bump into is that executing valac gives an "Exec
format error". This is typical for build tools being installed from the
host architecture. As it happens, valac is implicitly marked Multi-Arch:
no, so it is installed for the build architecture. The simple fix for
this is to mark it Multi-Arch: foreign. Unfortunately, that is not
correct.

valac runs gcc and pkg-config. Both of these tools have
architecture-dependent behaviour and valac inherits that
architecture-dependence. Thus marking it Multi-Arch: foreign is wrong.
The typical solution to this problem is to encode the architecture into
the program name. On amd64, you can call gcc as x86_64-linux-gnu-gcc and
you can call x86_64-linux-gnu-pkg-config. However, these later
invocations also work for cross compilation. So what we need here is
adding the architecture to the valac command name.

In the simplest case, we could do:

    ln -s valac .../usr/bin/${DEB_HOST_GNU_TYPE}-valac

Unfortunately, that won't fix any cross compilation issues. What we'd
want here is to have a valac executable for the build architecture
running the tools for another architecture. Thus I propose adding the
following shell script to the valac binary package:

    #!/bin/sh
    exec valac "--cc=${CC:-@DEB_HOST_GNU_TYPE@-gcc}" 
"--pkg-config=${PKG_CONFIG:-@DEB_HOST_GNU_TYPE@-pkg-config}" "$@"

You'd interpolate @DEB_HOST_GNU_TYPE@ at package build time and install
it as /usr/bin/${DEB_HOST_GNU_TYPE}-valac. It'd run valac with the
appropriate compiler and pkg-config for the prefix it was installed as.

Now that still doesn't fix the "Exec format error". So we'd also need a
new binary package (probably called "valac-bin"), move /usr/bin/valac to
that new package, add a dependency from valac to the new package and
mark the new package Multi-Arch: foreign. That's not fully correct as
valac is still architecture-dependent, but anyone wanting a particular
architecture's behaviour can and should simply run
${DEB_HOST_GNU_TYPE}-valac. We do the same for pkg-config and that
appears to work fairly well. Consumers need to add this prefix of course
and I sent a patch for AM_PROG_VALAC (#889920) already.

Implementation plan:
 * Create a new binary package valac-bin.
 * Move /usr/bin/valac to valac-bin (add Breaks/Replaces).
 * Add a valac-bin (= ${binary:Version}) to valac's Depends.
 * The description of valac-bin should say something like "don't install
   this package directly use valac instead". It should make clear that
   valac-bin is an implementation detail.
 * Mark valac-bin Multi-Arch: foreign.
 * Add the above script as /usr/bin/${DEB_HOST_GNU_TYPE}-valac to the
   valac binary package.

Do you agree with that approach? Can you help implement it?

Helmut

--- End Message ---
--- Begin Message ---
Source: vala
Source-Version: 0.46.5-1.1

We believe that the bug you reported is fixed in the latest version of
vala, 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.
Helmut Grohne <[email protected]> (supplier of updated vala 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: SHA512

Format: 1.8
Date: Tue, 10 Dec 2019 16:34:29 +0100
Source: vala
Binary: libvala-0.46-0 libvala-0.46-0-dbgsym libvala-0.46-dev 
libvalacodegen-0.46-0 libvalacodegen-0.46-0-dbgsym libvaladoc-0.46-0 
libvaladoc-0.46-0-dbgsym libvaladoc-0.46-data libvaladoc-0.46-dev vala-0.46-doc 
valac valac-0.46-vapi valac-bin valac-bin-dbgsym valac-dbgsym valadoc 
valadoc-dbgsym
Architecture: source amd64 all
Version: 0.46.5-1.1
Distribution: experimental
Urgency: medium
Maintainer: Debian GNOME Maintainers 
<[email protected]>
Changed-By: Helmut Grohne <[email protected]>
Description:
 libvala-0.46-0 - C# like language for the GObject system - library
 libvala-0.46-dev - C# like language for the GObject system - development 
headers
 libvalacodegen-0.46-0 - internal package for C# like language for the GObject 
system
 libvaladoc-0.46-0 - API documentation generator for vala (library)
 libvaladoc-0.46-data - API documentation generator for vala (data)
 libvaladoc-0.46-dev - API documentation generator for vala (devel files)
 vala-0.46-doc - C# like language for the GObject system - documentation
 valac      - C# like language for the GObject system
 valac-0.46-vapi - C# like language for the GObject system - vapi files
 valac-bin  - internal package for C# like language for the GObject system
 valadoc    - API documentation generator for vala
Closes: 889925
Changes:
 vala (0.46.5-1.1) experimental; urgency=medium
 .
   * Non-maintainer upload.
   * Move valac to a M-A:foreign package and add cross wrappers. (Closes:
     #889925)
Checksums-Sha1:
 20c12cbc3e530688d06e97ab46a99c81dc17435b 2770 vala_0.46.5-1.1.dsc
 0287b00e3d415b5fa4c2ef57bcb9cef10fde653e 33092 vala_0.46.5-1.1.debian.tar.xz
 03ef51ee0df1b2373c72152058bea7bff3dabac0 3858424 
libvala-0.46-0-dbgsym_0.46.5-1.1_amd64.deb
 635f8cedf49088f07ddffd744a2cb0a98b94be92 778072 
libvala-0.46-0_0.46.5-1.1_amd64.deb
 3b14635600f4e5ce6960cffa49bb1c7bfa175038 300580 
libvala-0.46-dev_0.46.5-1.1_amd64.deb
 8dfead3966b8fc5f82b283477b75c2288c1301b1 2724484 
libvalacodegen-0.46-0-dbgsym_0.46.5-1.1_amd64.deb
 4fe3c3d62bfbcd3262466587d897e35f989b9664 627156 
libvalacodegen-0.46-0_0.46.5-1.1_amd64.deb
 c7c23db1708d876bf51982d4686dc7ea619ee085 2191280 
libvaladoc-0.46-0-dbgsym_0.46.5-1.1_amd64.deb
 1048277cf5f930ab8114af84a22e62f15cbb0064 522204 
libvaladoc-0.46-0_0.46.5-1.1_amd64.deb
 7836911f21707a31d9360f1d3918083db26dda1c 268756 
libvaladoc-0.46-data_0.46.5-1.1_all.deb
 7f741134cdf4c74975f6dd0dd840d86f98d0a4b0 287680 
libvaladoc-0.46-dev_0.46.5-1.1_amd64.deb
 474c9d74b49e89657a9ca1a4041786a8c413ce5b 302572 
vala-0.46-doc_0.46.5-1.1_all.deb
 c166c711006c8d23923140246bc9052eca7fb562 14234 vala_0.46.5-1.1_amd64.buildinfo
 c5ebe650c691ff6e8cb5f80b076354932b5f3a35 944064 
valac-0.46-vapi_0.46.5-1.1_all.deb
 6edcfc16deb1b5406277493d4e09d46efe102ed9 54296 
valac-bin-dbgsym_0.46.5-1.1_amd64.deb
 7117463c51ed0875d830bf8c53bbdba854ff4cff 268892 valac-bin_0.46.5-1.1_amd64.deb
 f3eaab4e2835b4199d69926e783d97aeed9bbdab 532224 
valac-dbgsym_0.46.5-1.1_amd64.deb
 01efc4f5d057bbc2f92b4b2e385bf9341f3b5343 356024 valac_0.46.5-1.1_amd64.deb
 4038f85da062aabb7299fbe2195253becaf7a1a7 577816 
valadoc-dbgsym_0.46.5-1.1_amd64.deb
 c6d73fc1262eba1eb1adf92333aac4d2097065b9 341420 valadoc_0.46.5-1.1_amd64.deb
Checksums-Sha256:
 7223aa56e86f2c50a38310d1cd06eea7c3fa2c399dec122a45aca0867fbce81b 2770 
vala_0.46.5-1.1.dsc
 9b1401678e39f15e008741cb1ffab537301313cf253be229fae651ef6d7463a6 33092 
vala_0.46.5-1.1.debian.tar.xz
 93aefd9c58c985c9822fac54aacfdc81cd3c751e0dd10889a82aaa1ee2683f24 3858424 
libvala-0.46-0-dbgsym_0.46.5-1.1_amd64.deb
 a96a03f7601089ba3650e23e4c0197e7dfa2d0c2fa9ec424a857222ead55e501 778072 
libvala-0.46-0_0.46.5-1.1_amd64.deb
 f5f315793d5b0f28f9a426daf486ddc58cffc244c1f682f6392ec69df753b937 300580 
libvala-0.46-dev_0.46.5-1.1_amd64.deb
 cd3dfe480ce937704fa2a6a8b6bbb1a1281c105c6cb1290c16a2639c444f8009 2724484 
libvalacodegen-0.46-0-dbgsym_0.46.5-1.1_amd64.deb
 215f46f04d827fed86cd278e0fb7d8ef80af42829c044696c7735dbe43bb36ed 627156 
libvalacodegen-0.46-0_0.46.5-1.1_amd64.deb
 2228cf62f02d36d8f9bc1c2f3a948822d2f518ad13e644fa48c873604e59d30d 2191280 
libvaladoc-0.46-0-dbgsym_0.46.5-1.1_amd64.deb
 5a0a4597b28d3f6208f9c77dcd9fb38fdd50078d592ca1e7b332249cbd36380e 522204 
libvaladoc-0.46-0_0.46.5-1.1_amd64.deb
 68de202bcc2894e868c9dc4f7b8516fae33737b721deb0345de8f4312695073d 268756 
libvaladoc-0.46-data_0.46.5-1.1_all.deb
 95e7f5285fc23ec9448be17c07460a417a6ef28df3ef24923361eed1993d0bc7 287680 
libvaladoc-0.46-dev_0.46.5-1.1_amd64.deb
 6075064681355b81c3131bbd2e89d812183e6f3d5cfa509fe7bd4c04eaa3c2be 302572 
vala-0.46-doc_0.46.5-1.1_all.deb
 3015b62f44e79f261bc581f7e49a253015c37f09aab9686db5a71b89ca37fdcd 14234 
vala_0.46.5-1.1_amd64.buildinfo
 ff7a8d6a6891b95d986aea94ce4642a7e5c25f30e843ac6df34a548aa26f9a38 944064 
valac-0.46-vapi_0.46.5-1.1_all.deb
 349a51758ee5cd9a0f4d1c22c2162efee2b250a5a6e7261e03caa7d3bb89824c 54296 
valac-bin-dbgsym_0.46.5-1.1_amd64.deb
 cb9276a2ba75b46a50a1f948b56e492d070620859c03764f07044b44b816b020 268892 
valac-bin_0.46.5-1.1_amd64.deb
 dba5cabd19332382eee72c09e8144e301163ddcc66be4e67b363c6c63dbc1931 532224 
valac-dbgsym_0.46.5-1.1_amd64.deb
 d4372de3f6ff2d7d71c26f5aaa4ca143b7e4888fa0f4b9888ad11e2bcbc933dd 356024 
valac_0.46.5-1.1_amd64.deb
 ec6a1243e30e481a1332d95e0d8cc099fb1540d87afa52b28a9762204477f525 577816 
valadoc-dbgsym_0.46.5-1.1_amd64.deb
 189f7200f63c4aa46735b6f222962c52f93526b509a1c91ea22929a1e57ca04e 341420 
valadoc_0.46.5-1.1_amd64.deb
Files:
 c2dde3c7513e4ba6f7dce2e285b6f290 2770 devel optional vala_0.46.5-1.1.dsc
 b45bf04b0bd1ca8d76a0ff75b7ff3b51 33092 devel optional 
vala_0.46.5-1.1.debian.tar.xz
 f6878ab1aed334a3165f99f5d0d9b53a 3858424 debug optional 
libvala-0.46-0-dbgsym_0.46.5-1.1_amd64.deb
 c21e956ae473570ea6f8cb094ceca375 778072 libs optional 
libvala-0.46-0_0.46.5-1.1_amd64.deb
 74da85d8c5a4f146f57d78283c2edcc5 300580 libdevel optional 
libvala-0.46-dev_0.46.5-1.1_amd64.deb
 6801cb35ed5b94fbbba3c2609926b673 2724484 debug optional 
libvalacodegen-0.46-0-dbgsym_0.46.5-1.1_amd64.deb
 8e6fe41051696792978b2316ad8c1890 627156 devel optional 
libvalacodegen-0.46-0_0.46.5-1.1_amd64.deb
 7e7c1fb4ad9cb45dcae33089ec34ffc3 2191280 debug optional 
libvaladoc-0.46-0-dbgsym_0.46.5-1.1_amd64.deb
 b7b6dd6f9f600c893141c38e6b953248 522204 libs optional 
libvaladoc-0.46-0_0.46.5-1.1_amd64.deb
 2f4028215f7064257f37d9b9c0481d98 268756 misc optional 
libvaladoc-0.46-data_0.46.5-1.1_all.deb
 9e8fb32593a6c435431f962f4c2fb428 287680 libdevel optional 
libvaladoc-0.46-dev_0.46.5-1.1_amd64.deb
 f3d4d178a645a2456b6450653925950c 302572 doc optional 
vala-0.46-doc_0.46.5-1.1_all.deb
 40407b2b36e7050c0c4a03b06977c75f 14234 devel optional 
vala_0.46.5-1.1_amd64.buildinfo
 6f22f5c0729e9c77825ad75089539b9d 944064 devel optional 
valac-0.46-vapi_0.46.5-1.1_all.deb
 544e415a46261ace30ff9f8d04c852a1 54296 debug optional 
valac-bin-dbgsym_0.46.5-1.1_amd64.deb
 c8519502b7c9c305a8f70d538eab16f8 268892 devel optional 
valac-bin_0.46.5-1.1_amd64.deb
 afa3079ed79f7689ad0bc28a1553e67f 532224 debug optional 
valac-dbgsym_0.46.5-1.1_amd64.deb
 b1f7588f6c7a319d88bf964a91c9ccbd 356024 devel optional 
valac_0.46.5-1.1_amd64.deb
 5670793905fca2c10ea744fee98ce4c7 577816 debug optional 
valadoc-dbgsym_0.46.5-1.1_amd64.deb
 f7f5e7eed532e8e2fea50466a34eaf39 341420 devel optional 
valadoc_0.46.5-1.1_amd64.deb

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEETMLS2QqNFlTb+HOqLRqqzyREREIFAl3wDw8ACgkQLRqqzyRE
REJQthAAohHCCtplrA5r2LbZxvRQARe2geMRf7a6/p6EeXCwzvd1fxoOnrRLXls2
/nCEIIGhN4Opqu04ZcF9B10I/boEWkQ/XISlmLL0kAyiy2IHJebW9cyi/iTYR3bZ
Isw3aKmjwQYK2j9mVNhZB5JlXVADwuIQeUmWQhAatV1POoqzeSn8qUUYl9YbC7dD
DVc+NmMBQ7oAHgtlraVRZE1QW3viZAjioAwl8c5hcNm59tTb13xxapwoX4LFUWSG
Q5xmVfDFwqzdFwk0TG/2CCo/brqeT8sFTGn4CG93uuFO7+AbqFVMZ4kaRCoxUoWq
wKyMStw3k6Ih2OeQibEA1UwDpo6wvLDENqBg7kGjeZoFOkVGxuNpNkAgrtn1feHN
yMb7OAf9sbPoXe4ZQ3HVPR1Wpek25nS+QuTbcXpRMEwyOak5H4C96VrX0mz+LXvJ
7vNeaY+BszYu6mAsgPI+hc81fMmwVERUaNDcjaTrAJ0sEPlPcDqFQ+HiFMu6ptvY
x8cp3V1BRU9G+uJbtkllIRkJMWbJZXuyA9sS5N2hx8ncIAonmv8uC4XlgYRoz/7l
4pofwX2xpoTPu6h+GZ0LJQ3k6lk2soKCJebjgPD/wcQWSPZKw7y1SLuWpI2Md+V3
2SB7K0gADrW1TPnxQgQlu8xbjBYKR1p7moGsMipB0oE3k5tanTQ=
=ZXgw
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to