[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#963254: gcc-10: d/rules.def, set AQ to :all for cross build

Control: clone -1 -2
Control: submitter -2 !
Control: reassign -2 dpkg-cross
Control: retitle -2 mark dpkg-crossed packages Multi-Arch: foreign
Control: tags -2 + patch

On Fri, Jun 26, 2020 at 02:12:46PM +0800, YunQiang Su wrote:
> Helmut Grohne <helmut@subdivi.de> 于2020年6月26日周五 上午5:11写道:
> > Did you actually try the patch to see whether it solves your problem?
> You patch cannot work:
> root@sid-i386:/build# dpkg -i
> gcc-10-i686-linux-gnu_10.1.0-4cross1_amd64.deb
> libgcc-10-dev-i386-cross_10.1.0-4cross1_all.deb
> Selecting previously unselected package gcc-10-i686-linux-gnu:amd64.
> (Reading database ... 42731 files and directories currently installed.)
> Preparing to unpack gcc-10-i686-linux-gnu_10.1.0-4cross1_amd64.deb ...
> Unpacking gcc-10-i686-linux-gnu:amd64 (10.1.0-4cross1) ...
> Selecting previously unselected package libgcc-10-dev-i386-cross.
> Preparing to unpack libgcc-10-dev-i386-cross_10.1.0-4cross1_all.deb ...
> Unpacking libgcc-10-dev-i386-cross (10.1.0-4cross1) ...
> dpkg: dependency problems prevent configuration of gcc-10-i686-linux-gnu:amd64:
>  gcc-10-i686-linux-gnu:amd64 depends on libgcc-10-dev-i386-cross (>=
> 10.1.0-4cross1).
> dpkg: error processing package gcc-10-i686-linux-gnu:amd64 (--install):
>  dependency problems - leaving unconfigured
> Setting up libgcc-10-dev-i386-cross (10.1.0-4cross1) ...
> Errors were encountered while processing:
>  gcc-10-i686-linux-gnu:amd64

Thank you. You are correct. The patch cannot work as is. The patch can
only change the Multi-Arch field of tool packages, not for library
packages. Library packages should be Multi-Arch: same. However, we are
converting those architecture-dependent Multi-Arch: same packages to
libsomething-somearch-cross packages using dpkg-cross. And then they
become Multi-Arch: foreign. Since they, too, carry the architecture in
their name, they should be Multi-Arch: foreign as well. That's a pretty
simple change to dpkg-cross. So we need both patches in combination

Could you try answering the other question from my mail about why the
Multi-Arch field would be harmful?

diff --minimal -Nru dpkg-cross-2.6.15/dpkg-cross dpkg-cross-2.6.15/dpkg-cross
--- dpkg-cross-2.6.15/dpkg-cross	2017-07-24 17:47:10.000000000 +0200
+++ dpkg-cross-2.6.15/dpkg-cross	2020-06-26 17:52:45.000000000 +0200
@@ -1105,6 +1105,7 @@
 	print CONTROL "Section: " . $control{"section"} . "\n";
 	print CONTROL "Priority: extra\n";
 	print CONTROL "Architecture: all\n";
+	print CONTROL "Multi-Arch: foreign\n";
 	if (defined($control{"maintainer"})) {
 		print CONTROL "Maintainer: " . $control{"maintainer"} . "\n";

Reply to: