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

Bug#962677: mark g++-multilib-mipsel-linux-gnu and other multilibs Multi-Arch: foreign



Package: g++-multilib-mipsel-linux-gnu
Version: 1.185.1
Tags: patch
User: debian-cross@lists.debian.org
Usertags: cross-satisfiability

In the absence of cross-translatable toolchain dependencies (#666743), a
workaround can be expanding Build-Depends. This is already used by e.g.
gcc-N and linux. If you apply this workaround to g++-multilib, it
becomes:

    g++-multilib [mipsel] <!cross>, g++-multilib-mipsel-linux-gnu [mipsel] <cross>

Unfortuntely, g++-multilib-mipsel-linux-gnu is not Multi-Arch tagged, so
a mipsel package is found, but there is none. The dependency is
unsatisfiable. Since the package name contains an architecture, it
really should be marked Multi-Arch: foreign.

mipsel is only an example here. It really works the same way for any
other architecture.

Please consider applying the attached patch.

Helmut
diff --minimal -Nru gcc-defaults-1.185.1/debian/changelog gcc-defaults-1.185.1+nmu1/debian/changelog
--- gcc-defaults-1.185.1/debian/changelog	2019-09-09 14:30:14.000000000 +0200
+++ gcc-defaults-1.185.1+nmu1/debian/changelog	2020-06-11 18:07:43.000000000 +0200
@@ -1,3 +1,10 @@
+gcc-defaults (1.185.1+nmu1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Mark all cross tools Multi-Arch: foreign. (Closes: #-1)
+
+ -- Helmut Grohne <helmut@subdivi.de>  Thu, 11 Jun 2020 18:07:43 +0200
+
 gcc-defaults (1.185.1) unstable; urgency=medium
 
   * Build the mipsel and mips64el cross packages from the
diff --minimal -Nru gcc-defaults-1.185.1/debian/control gcc-defaults-1.185.1+nmu1/debian/control
--- gcc-defaults-1.185.1/debian/control	2019-09-09 14:30:14.000000000 +0200
+++ gcc-defaults-1.185.1+nmu1/debian/control	2020-06-11 18:07:36.000000000 +0200
@@ -541,6 +541,7 @@
 Package: gcc-multilib-x86-64-linux-gnu
 Priority: optional
 Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-x86-64-linux-gnu (= ${version:cpp}),
   gcc-x86-64-linux-gnu (= ${version:gcc}),
   gcc-${pv:gcc}-multilib-x86-64-linux-gnu ${reqv:gcc},
@@ -556,6 +557,7 @@
 Package: g++-multilib-x86-64-linux-gnu
 Priority: optional
 Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-x86-64-linux-gnu (= ${version:cpp}),
   g++-x86-64-linux-gnu (= ${version:gpp}),
   gcc-multilib-x86-64-linux-gnu (= ${version:gcc}),
@@ -570,6 +572,7 @@
 Package: gobjc-multilib-x86-64-linux-gnu
 Priority: optional
 Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
   gobjc-x86-64-linux-gnu (>= ${version:gobjc}),
   gcc-multilib-x86-64-linux-gnu (>= ${version:cpp}),
@@ -586,6 +589,7 @@
 Package: gobjc++-multilib-x86-64-linux-gnu
 Priority: optional
 Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
   gcc-multilib-x86-64-linux-gnu (>= ${version:cpp}),
   gobjc++-x86-64-linux-gnu (>= ${version:gobjcxx}),
@@ -604,6 +608,7 @@
 Package: gfortran-multilib-x86-64-linux-gnu
 Priority: optional
 Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-x86-64-linux-gnu (= ${version:cpp}),
   gcc-multilib-x86-64-linux-gnu (= ${version:gcc}),
   gfortran-x86-64-linux-gnu (= ${version:gfort}),
@@ -621,6 +626,7 @@
 Package: gccgo-multilib-x86-64-linux-gnu
 Priority: optional
 Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
   g++-multilib-x86-64-linux-gnu (>= ${version:gcc}),
   gccgo-x86-64-linux-gnu (>= ${version:ggo}),
@@ -637,6 +643,7 @@
 Package: gdc-multilib-x86-64-linux-gnu
 Priority: optional
 Architecture: arm64 i386 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-x86-64-linux-gnu (>= ${version:cpp}),
   gdc-${pv:gdc}-multilib-x86-64-linux-gnu ${reqv:gdc},
   gdc-x86-64-linux-gnu (>= ${version:gdc}),
@@ -792,6 +799,7 @@
 Package: gcc-multilib-s390x-linux-gnu
 Priority: optional
 Architecture: amd64 i386 x32 arm64 ppc64el
+Multi-Arch: foreign
 Depends: cpp-s390x-linux-gnu (= ${version:cpp}),
   gcc-s390x-linux-gnu (= ${version:gcc}),
   gcc-${pv:gcc}-multilib-s390x-linux-gnu ${reqv:gcc},
@@ -807,6 +815,7 @@
 Package: g++-multilib-s390x-linux-gnu
 Priority: optional
 Architecture: amd64 i386 x32 arm64 ppc64el
+Multi-Arch: foreign
 Depends: cpp-s390x-linux-gnu (= ${version:cpp}),
   g++-s390x-linux-gnu (= ${version:gpp}),
   gcc-multilib-s390x-linux-gnu (= ${version:gcc}),
@@ -821,6 +830,7 @@
 Package: gobjc-multilib-s390x-linux-gnu
 Priority: optional
 Architecture: amd64 i386 x32 arm64 ppc64el
+Multi-Arch: foreign
 Depends: cpp-s390x-linux-gnu (>= ${version:cpp}),
   gobjc-s390x-linux-gnu (>= ${version:gobjc}),
   gcc-multilib-s390x-linux-gnu (>= ${version:cpp}),
@@ -837,6 +847,7 @@
 Package: gobjc++-multilib-s390x-linux-gnu
 Priority: optional
 Architecture: amd64 i386 x32 arm64 ppc64el
+Multi-Arch: foreign
 Depends: cpp-s390x-linux-gnu (>= ${version:cpp}),
   gcc-multilib-s390x-linux-gnu (>= ${version:cpp}),
   gobjc++-s390x-linux-gnu (>= ${version:gobjcxx}),
@@ -855,6 +866,7 @@
 Package: gfortran-multilib-s390x-linux-gnu
 Priority: optional
 Architecture: amd64 i386 x32 arm64 ppc64el
+Multi-Arch: foreign
 Depends: cpp-s390x-linux-gnu (= ${version:cpp}),
   gcc-multilib-s390x-linux-gnu (= ${version:gcc}),
   gfortran-s390x-linux-gnu (= ${version:gfort}),
@@ -872,6 +884,7 @@
 Package: gccgo-multilib-s390x-linux-gnu
 Priority: optional
 Architecture: amd64 i386 x32 arm64 ppc64el
+Multi-Arch: foreign
 Depends: cpp-s390x-linux-gnu (>= ${version:cpp}),
   g++-multilib-s390x-linux-gnu (>= ${version:gcc}),
   gccgo-s390x-linux-gnu (>= ${version:ggo}),
@@ -888,6 +901,7 @@
 Package: gdc-multilib-s390x-linux-gnu
 Priority: optional
 Architecture: amd64 i386 x32 arm64 ppc64el
+Multi-Arch: foreign
 Depends: cpp-s390x-linux-gnu (>= ${version:cpp}),
   gdc-${pv:gdc}-multilib-s390x-linux-gnu ${reqv:gdc},
   gdc-s390x-linux-gnu (>= ${version:gdc}),
@@ -1607,6 +1621,7 @@
 Package: gcc-multilib-i686-linux-gnu
 Priority: optional
 Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-i686-linux-gnu (= ${version:cpp}),
   gcc-i686-linux-gnu (= ${version:gcc}),
   gcc-${pv:gcc}-multilib-i686-linux-gnu ${reqv:gcc},
@@ -1622,6 +1637,7 @@
 Package: g++-multilib-i686-linux-gnu
 Priority: optional
 Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-i686-linux-gnu (= ${version:cpp}),
   g++-i686-linux-gnu (= ${version:gpp}),
   gcc-multilib-i686-linux-gnu (= ${version:gcc}),
@@ -1636,6 +1652,7 @@
 Package: gobjc-multilib-i686-linux-gnu
 Priority: optional
 Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
   gobjc-i686-linux-gnu (>= ${version:gobjc}),
   gcc-multilib-i686-linux-gnu (>= ${version:cpp}),
@@ -1652,6 +1669,7 @@
 Package: gobjc++-multilib-i686-linux-gnu
 Priority: optional
 Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
   gcc-multilib-i686-linux-gnu (>= ${version:cpp}),
   gobjc++-i686-linux-gnu (>= ${version:gobjcxx}),
@@ -1670,6 +1688,7 @@
 Package: gfortran-multilib-i686-linux-gnu
 Priority: optional
 Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-i686-linux-gnu (= ${version:cpp}),
   gcc-multilib-i686-linux-gnu (= ${version:gcc}),
   gfortran-i686-linux-gnu (= ${version:gfort}),
@@ -1687,6 +1706,7 @@
 Package: gccgo-multilib-i686-linux-gnu
 Priority: optional
 Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
   g++-multilib-i686-linux-gnu (>= ${version:gcc}),
   gccgo-i686-linux-gnu (>= ${version:ggo}),
@@ -1703,6 +1723,7 @@
 Package: gdc-multilib-i686-linux-gnu
 Priority: optional
 Architecture: amd64 arm64 ppc64el x32
+Multi-Arch: foreign
 Depends: cpp-i686-linux-gnu (>= ${version:cpp}),
   gdc-${pv:gdc}-multilib-i686-linux-gnu ${reqv:gdc},
   gdc-i686-linux-gnu (>= ${version:gdc}),
diff --minimal -Nru gcc-defaults-1.185.1/debian/control.cross-ada.in gcc-defaults-1.185.1+nmu1/debian/control.cross-ada.in
--- gcc-defaults-1.185.1/debian/control.cross-ada.in	2015-11-26 21:19:58.000000000 +0100
+++ gcc-defaults-1.185.1+nmu1/debian/control.cross-ada.in	2020-06-11 18:07:08.000000000 +0200
@@ -2,6 +2,7 @@
 Package: gnat-CROSS_GNU_TYPE
 Priority: optional
 Architecture: @host_archs@
+Multi-Arch: foreign
 Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}),
   gnat-${pv:gnat}-CROSS_GNU_TYPE ${reqv:gnat},
   ${misc:Depends}
@@ -15,6 +16,7 @@
 Package: gnat-sjlj-CROSS_GNU_TYPE
 Priority: optional
 Architecture: @host_archs@
+Multi-Arch: foreign
 Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}),
   gnat-${pv:gnat}-sjlj-CROSS_GNU_TYPE ${reqv:gnat},
   ${misc:Depends}
diff --minimal -Nru gcc-defaults-1.185.1/debian/control.cross-ml.in gcc-defaults-1.185.1+nmu1/debian/control.cross-ml.in
--- gcc-defaults-1.185.1/debian/control.cross-ml.in	2018-07-19 10:25:25.000000000 +0200
+++ gcc-defaults-1.185.1+nmu1/debian/control.cross-ml.in	2020-06-11 18:06:54.000000000 +0200
@@ -2,6 +2,7 @@
 Package: gcc-multilib-CROSS_GNU_TYPE
 Priority: optional
 Architecture: @host_archs@
+Multi-Arch: foreign
 Depends: cpp-CROSS_GNU_TYPE (= ${version:cpp}),
   gcc-CROSS_GNU_TYPE (= ${version:gcc}),
   gcc-${pv:gcc}-multilib-CROSS_GNU_TYPE ${reqv:gcc},
@@ -17,6 +18,7 @@
 Package: g++-multilib-CROSS_GNU_TYPE
 Priority: optional
 Architecture: @host_archs@
+Multi-Arch: foreign
 Depends: cpp-CROSS_GNU_TYPE (= ${version:cpp}),
   g++-CROSS_GNU_TYPE (= ${version:gpp}),
   gcc-multilib-CROSS_GNU_TYPE (= ${version:gcc}),
@@ -31,6 +33,7 @@
 Package: gobjc-multilib-CROSS_GNU_TYPE
 Priority: optional
 Architecture: @host_archs@
+Multi-Arch: foreign
 Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}),
   gobjc-CROSS_GNU_TYPE (>= ${version:gobjc}),
   gcc-multilib-CROSS_GNU_TYPE (>= ${version:cpp}),
@@ -47,6 +50,7 @@
 Package: gobjc++-multilib-CROSS_GNU_TYPE
 Priority: optional
 Architecture: @host_archs@
+Multi-Arch: foreign
 Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}),
   gcc-multilib-CROSS_GNU_TYPE (>= ${version:cpp}),
   gobjc++-CROSS_GNU_TYPE (>= ${version:gobjcxx}),
@@ -65,6 +69,7 @@
 Package: gfortran-multilib-CROSS_GNU_TYPE
 Priority: optional
 Architecture: @host_archs@
+Multi-Arch: foreign
 Depends: cpp-CROSS_GNU_TYPE (= ${version:cpp}),
   gcc-multilib-CROSS_GNU_TYPE (= ${version:gcc}),
   gfortran-CROSS_GNU_TYPE (= ${version:gfort}),
@@ -82,6 +87,7 @@
 Package: gccgo-multilib-CROSS_GNU_TYPE
 Priority: optional
 Architecture: @host_archs@
+Multi-Arch: foreign
 Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}),
   g++-multilib-CROSS_GNU_TYPE (>= ${version:gcc}),
   gccgo-CROSS_GNU_TYPE (>= ${version:ggo}),
@@ -98,6 +104,7 @@
 Package: gdc-multilib-CROSS_GNU_TYPE
 Priority: optional
 Architecture: @host_archs@
+Multi-Arch: foreign
 Depends: cpp-CROSS_GNU_TYPE (>= ${version:cpp}),
   gdc-${pv:gdc}-multilib-CROSS_GNU_TYPE ${reqv:gdc},
   gdc-CROSS_GNU_TYPE (>= ${version:gdc}),

Reply to: