Source: gcc-14 Severity: wishlist Tags: patch User: helm...@debian.org Usertags rebootstrap
Hi Matthias, thanks for merging my -for-host work. I'm looking into making practical use of it and a major issue is the following dependency: $FRONTEND-$VERSION-for-host:$DEB_HOST_ARCH -> $FRONTEND-$VERSION-$DEB_HOST_GNU_TYPE (= ${gcc:Version}) While this works nicely for native compilers, trying to use the -for-host package with a cross toolchain is doomed to fail, because it always has different version. The equal constraint is too strict to make practical use of these -for-host packages. I think we should change (= ${gcc:Version}) to (>= ${gcc:SoftVersion}) as is done elsewhere. Do you agree? I'm attaching the obvious patch. Helmut
commit 843e8ae7602a0ec16c67d7064396fa2acd1182cd Author: Helmut Grohne <hel...@subdivi.de> Date: Fri Mar 22 09:35:04 2024 +0100 use gcc:SoftVersion for -for-host dependencies diff --git a/debian/control.m4 b/debian/control.m4 index 4b6c61b8..61a4d3a8 100644 --- a/debian/control.m4 +++ b/debian/control.m4 @@ -804,7 +804,7 @@ Package: gcc`'PV`'-for-host Architecture: ifdef(`TARGET',`TARGET',`any') TARGET_PACKAGE`'dnl Multi-Arch: same -Depends: BASEDEP, gcc`'PV`'${target:suffix} (= ${gcc:Version}), +Depends: BASEDEP, gcc`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), cpp`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} BUILT_USING`'dnl Description: GNU C compiler for the host architecture @@ -929,7 +929,7 @@ Architecture: ifdef(`TARGET',`TARGET',`any') TARGET_PACKAGE`'dnl Multi-Arch: same Section: ifdef(`TARGET',`devel',`interpreters') -Depends: BASEDEP, cpp`'PV`'${target:suffix} (= ${gcc:Version}), ${misc:Depends} +Depends: BASEDEP, cpp`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), ${misc:Depends} BUILT_USING`'dnl Description: GNU C preprocessor for the host architecture A macro processor that is used automatically by the GNU C compiler @@ -1019,7 +1019,7 @@ Package: g++`'PV`'-for-host Architecture: ifdef(`TARGET',`TARGET',`any') TARGET_PACKAGE`'dnl Multi-Arch: same -Depends: BASEDEP, g++`'PV`'${target:suffix} (= ${gcc:Version}), +Depends: BASEDEP, g++`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} BUILT_USING`'dnl Description: GNU C++ compiler for the host architecture @@ -2522,7 +2522,7 @@ Package: gobjc++`'PV`'-for-host Architecture: ifdef(`TARGET',`TARGET',`any') TARGET_PACKAGE`'dnl Multi-Arch: same -Depends: BASEDEP, gobjc++`'PV`'${target:suffix} (= ${gcc:Version}), +Depends: BASEDEP, gobjc++`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), gobjc`'PV`'-for-host (= ${gcc:Version}), g++`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} BUILT_USING`'dnl @@ -2599,7 +2599,7 @@ Package: gobjc`'PV`'-for-host Architecture: ifdef(`TARGET',`TARGET',`any') TARGET_PACKAGE`'dnl Multi-Arch: same -Depends: BASEDEP, gobjc`'PV`'${target:suffix} (= ${gcc:Version}), +Depends: BASEDEP, gobjc`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), gobjc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} BUILT_USING`'dnl Description: GNU Objective-C compiler for the host architecture @@ -2844,7 +2844,7 @@ Package: gfortran`'PV`'-for-host Architecture: ifdef(`TARGET',`TARGET',`any') TARGET_PACKAGE`'dnl Multi-Arch: same -Depends: BASEDEP, gfortran`'PV`'${target:suffix} (= ${gcc:Version}), +Depends: BASEDEP, gfortran`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} BUILT_USING`'dnl Description: GNU Fortran compiler for the host architecture @@ -3111,7 +3111,7 @@ Package: gccgo`'PV`'-for-host Architecture: ifdef(`TARGET',`TARGET',`any') TARGET_PACKAGE`'dnl Multi-Arch: same -Depends: BASEDEP, gccgo`'PV`'${target:suffix} (= ${gcc:Version}), +Depends: BASEDEP, gccgo`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} BUILT_USING`'dnl Description: GNU Go compiler for the host architecture @@ -3821,7 +3821,7 @@ Package: gnat`'PV`'-for-host Architecture: ifdef(`TARGET',`TARGET',`any') TARGET_PACKAGE`'dnl Multi-Arch: same -Depends: BASEDEP, gnat`'PV`'${target:suffix} (= ${gcc:Version}), +Depends: BASEDEP, gnat`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} BUILT_USING`'dnl Description: GNU Ada compiler for the host architecture @@ -3981,7 +3981,7 @@ Package: gdc`'PV`'-for-host Architecture: ifdef(`TARGET',`TARGET',`any') TARGET_PACKAGE`'dnl Multi-Arch: same -Depends: BASEDEP, gdc`'PV`'${target:suffix} (= ${gcc:Version}), +Depends: BASEDEP, gdc`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} BUILT_USING`'dnl Description: GNU D compiler (version 2) for the host architecture @@ -4268,7 +4268,7 @@ Package: gm2`'PV`'-for-host Architecture: ifdef(`TARGET',`TARGET',`any') TARGET_PACKAGE`'dnl Multi-Arch: same -Depends: BASEDEP, gm2`'PV`'${target:suffix} (= ${gcc:Version}), +Depends: BASEDEP, gm2`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} BUILT_USING`'dnl Description: GNU Modula-2 compiler for the host architecture @@ -4528,7 +4528,7 @@ Package: gccrs`'PV`'-for-host Architecture: ifdef(`TARGET',`TARGET',`any') TARGET_PACKAGE`'dnl Multi-Arch: same -Depends: BASEDEP, gccrs`'PV`'${target:suffix} (= ${gcc:Version}), +Depends: BASEDEP, gccrs`'PV`'${target:suffix} (>= ${gcc:SoftVersion}), gcc`'PV`'-for-host (= ${gcc:Version}), ${misc:Depends} BUILT_USING`'dnl Description: GNU Rust compiler for the host architecture