Package: gem2deb Version: 2.0.3 Tags: patch User: debian-cr...@lists.debian.org Usertags: ftcbfs Control: affects -1 + src:ruby-json
Hi Antonio, many thanks for finalizing the cross build integration. It mostly just works except for i386. This triplet value is actually two things. It's "multiarch" (which is what we use for filesystem locations) and it is the "gnu type" (which is the toolchain prefix). Those are equal almost everywhere except for i386 (and any-i386) where the multiarch value is i386-linux-gnu and the gnu triplet has been bumped to i686-linux-gnu. You happen to apply the multiarch value to the toolchain and that fails. Here's a patch for your convenience. Note that we cannot just repurpose the def host_arch for gnu type, because it actually is used for constructing multiarch paths. Helmut
diff --minimal -Nru gem2deb-2.0.3/debian/changelog gem2deb-2.0.3+nmu1/debian/changelog --- gem2deb-2.0.3/debian/changelog 2022-07-31 01:44:54.000000000 +0200 +++ gem2deb-2.0.3+nmu1/debian/changelog 2022-08-27 10:31:42.000000000 +0200 @@ -1,3 +1,10 @@ +gem2deb (2.0.3+nmu1) UNRELEASED; urgency=medium + + * Non-maintainer upload. + * Fix cross building to i386. (Closes: #-1) + + -- Helmut Grohne <hel...@subdivi.de> Sat, 27 Aug 2022 10:31:42 +0200 + gem2deb (2.0.3) unstable; urgency=medium * Gem2Deb::YAML: fix loading more metadata.yml files. diff --minimal -Nru gem2deb-2.0.3/lib/gem2deb.rb gem2deb-2.0.3+nmu1/lib/gem2deb.rb --- gem2deb-2.0.3/lib/gem2deb.rb 2022-07-31 01:44:54.000000000 +0200 +++ gem2deb-2.0.3+nmu1/lib/gem2deb.rb 2022-08-27 10:31:42.000000000 +0200 @@ -102,6 +102,10 @@ @host_arch ||= `dpkg-architecture -qDEB_HOST_MULTIARCH`.strip end + def host_arch_gnu + @host_arch_gnu ||= `dpkg-architecture -qDEB_HOST_GNU_TYPE`.strip + end + def cross_building? build_arch != host_arch end @@ -110,7 +114,7 @@ @default_compiler ||= {} @default_compiler[name] ||= if cross_building? - "#{host_arch}-#{name}" + "#{host_arch_gnu}-#{name}" else name end