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

Bug#916376: gfortran-8-* has bad provides



Source: gcc-8
Tags: patch
User: helmutg@debian.org
Usertags: rebootstrap
Control: affetcs -1 + src:gcc-8-cross src:gcc-8-cross-ports

gfortran-8-<anytriplet> presently Provides: gfortran-mod-15 and given
that gfortran-8-<anytriplet> is Multi-Arch: foreign, this is provided
for any architecture. libopenmpi-dev Depends: gfortran-8 |
gfortran-mod-15. Therefore gfortran-8-<anytriplet> satisfies
libopenmpi-dev's dependency. That's not what we want here though. The
dependency should only be satisfied by a compiler that matches
libopenmpi-dev's architecture. Therefore these provides are bad. They
result in strange solutions which are found by dose-builddebcheck, but
are not by apt.

I propose simply removing these provides for the cross tools. The
attached patch implements that.

Helmut
diff -u gcc-8-8.2.0/debian/control.m4 gcc-8-8.2.0/debian/control.m4
--- gcc-8-8.2.0/debian/control.m4
+++ gcc-8-8.2.0/debian/control.m4
@@ -3565,7 +3565,8 @@
 ')dnl
 Priority: optional
 Depends: BASEDEP, gcc`'PV`'TS (= ${gcc:Version}), libidevdep(gfortran`'PV-dev,,=), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends}
-Provides: fortran95-compiler, ${fortran:mod-version}
+ifdef(`TARGET',`',`Provides: fortran95-compiler, ${fortran:mod-version}
+')dnl
 Suggests: ${gfortran:multilib}, gfortran`'PV-doc,
  libdbgdep(gfortran`'FORTRAN_SO-dbg,),
  libcoarrays-dev
@@ -3900,7 +3901,8 @@
 ')dnl
 Priority: optional
 Depends: BASEDEP, ifdef(`STANDALONEGO',`${dep:libcc1}, ',`gcc`'PV`'TS (= ${gcc:Version}), ')libidevdep(go`'GO_SO,,>=), ${dep:libcdev}, ${shlibs:Depends}, ${misc:Depends}
-Provides: go-compiler
+ifdef(`TARGET',`',`Provides: go-compiler
+')dnl
 Suggests: ${go:multilib}, gccgo`'PV-doc, libdbgdep(go`'GO_SO-dbg,)
 Conflicts: ${golang:Conflicts}
 Breaks: libgo12`'LS (<< 8-20171209-2)
@@ -4858,7 +4860,8 @@
 ')dnl
 Priority: optional
 Depends: SOFTBASEDEP, g++`'PV`'TS (>= ${gcc:SoftVersion}), ${dep:gdccross}, ${dep:phobosdev}, ${shlibs:Depends}, ${misc:Depends}
-Provides: gdc, d-compiler, d-v2-compiler
+ifdef(`TARGET',`',`Provides: gdc, d-compiler, d-v2-compiler
+')dnl
 Replaces: gdc (<< 4.4.6-5)
 BUILT_USING`'dnl
 Description: GNU D compiler (version 2)`'ifdef(`TARGET)',` (cross compiler for TARGET architecture)', `')

Reply to: