One thing worth considering

The new expression carries only "GPL-3.0-or-later WITH GCC-exception-3.1"
for the GPLv3 part, i.e. the standalone GPL-3.0 term is gone. The gcc
compiler binaries themselves are GPL-3.0-or-later *without* the runtime
exception -- the exception only extends to the target runtime object
code -- and this .inc feeds gcc/gcc-cross/gcc-source, not just the
runtime. So a strict reading wants a bare GPL-3.0-or-later term
alongside the WITH form, e.g.

    LICENSE = "GPL-2.0-or-later AND LGPL-2.1-or-later AND \
               GPL-3.0-or-later AND \
               GPL-3.0-or-later WITH GCC-exception-3.1 AND \
               LGPL-3.0-or-later"

It's a minor point since COPYING3 is already covered file-wise and the
runtime recipes carry their own precise licenses, but it is a real
semantic change (also -only -> -or-later) that could use a line in the
commit message.

Thanks,
Khem

On Wed, Jul 15, 2026, 9:47 AM Joshua Watt via lists.openembedded.org
<[email protected]> wrote:

> GPL-3.0-with-GCC-exception is a deprecated license ID, so replace it
> with "GPL-3.0-or-later WITH GCC-exception-3.1".
>
> Also, the LICENSE expression in gcc.inc appears to be incomplete,
> missing GPL-2.0-or-later, LGPL-2.1-or-later, and LGPL-3.0-or-later, even
> though the checksums for their corresponding license files are clearly
> checked in LIC_FILES_CHKSUM.
>
> Signed-off-by: Joshua Watt <[email protected]>
> ---
>  meta/recipes-devtools/gcc/gcc-16.1.inc       | 2 +-
>  meta/recipes-devtools/gcc/gcc-runtime.inc    | 4 ++--
>  meta/recipes-devtools/gcc/libgcc-initial.inc | 2 +-
>  meta/recipes-devtools/gcc/libgcc.inc         | 8 ++++----
>  meta/recipes-devtools/gcc/libgfortran.inc    | 6 +++---
>  5 files changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-16.1.inc
> b/meta/recipes-devtools/gcc/gcc-16.1.inc
> index 4598aff045..a82e993f08 100644
> --- a/meta/recipes-devtools/gcc/gcc-16.1.inc
> +++ b/meta/recipes-devtools/gcc/gcc-16.1.inc
> @@ -16,7 +16,7 @@ TOOLCHAIN_NATIVE = "gcc"
>  DEPENDS =+ "mpfr gmp libmpc zlib zstd flex-native"
>  NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native
> flex-native zstd-native"
>
> -LICENSE = "GPL-3.0-with-GCC-exception & GPL-3.0-only"
> +LICENSE = "GPL-2.0-or-later AND LGPL-2.1-or-later AND GPL-3.0-or-later
> WITH GCC-exception-3.1 AND LGPL-3.0-or-later"
>
>  LIC_FILES_CHKSUM = "\
>      file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc
> b/meta/recipes-devtools/gcc/gcc-runtime.inc
> index e305180c64..cb62fab489 100644
> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
> @@ -4,11 +4,11 @@ SUMMARY = "Runtime libraries from GCC"
>
>  # Over-ride the LICENSE set by gcc-${PV}.inc to remove "& GPLv3"
>  # All gcc-runtime packages are now covered by the runtime exception.
> -LICENSE = "GPL-3.0-with-GCC-exception"
> +LICENSE = "GPL-3.0-or-later WITH GCC-exception-3.1"
>
>  CXXFLAGS:remove = "-fvisibility-inlines-hidden"
>  CFLAGS:append = " -Wno-error=discarded-qualifiers"
> -
> +
>  EXTRA_OECONF_PATHS = "\
>      --with-gxx-include-dir=${includedir}/c++/${BINV} \
>      --with-sysroot=/not/exist \
> diff --git a/meta/recipes-devtools/gcc/libgcc-initial.inc
> b/meta/recipes-devtools/gcc/libgcc-initial.inc
> index ce100d7ddc..d067f7eb00 100644
> --- a/meta/recipes-devtools/gcc/libgcc-initial.inc
> +++ b/meta/recipes-devtools/gcc/libgcc-initial.inc
> @@ -31,7 +31,7 @@ require libgcc-common.inc
>
>  DEPENDS = "virtual/cross-cc"
>
> -LICENSE = "GPL-3.0-with-GCC-exception"
> +LICENSE = "GPL-3.0-or-later WITH GCC-exception-3.1"
>
>  PACKAGES = ""
>
> diff --git a/meta/recipes-devtools/gcc/libgcc.inc
> b/meta/recipes-devtools/gcc/libgcc.inc
> index 74e8746b42..e92dadf021 100644
> --- a/meta/recipes-devtools/gcc/libgcc.inc
> +++ b/meta/recipes-devtools/gcc/libgcc.inc
> @@ -32,10 +32,10 @@ PACKAGES = "\
>
>  # All libgcc source is marked with the exception.
>  #
> -LICENSE:${PN} = "GPL-3.0-with-GCC-exception"
> -LICENSE:${PN}-dev = "GPL-3.0-with-GCC-exception"
> -LICENSE:${PN}-dbg = "GPL-3.0-with-GCC-exception"
> -LICENSE:${PN}-src = "GPL-3.0-with-GCC-exception"
> +LICENSE:${PN} = "GPL-3.0-or-later WITH GCC-exception-3.1"
> +LICENSE:${PN}-dev = "GPL-3.0-or-later WITH GCC-exception-3.1"
> +LICENSE:${PN}-dbg = "GPL-3.0-or-later WITH GCC-exception-3.1"
> +LICENSE:${PN}-src = "GPL-3.0-or-later WITH GCC-exception-3.1"
>
>  FILES:${PN}-dev = "\
>      ${base_libdir}/libgcc*.so \
> diff --git a/meta/recipes-devtools/gcc/libgfortran.inc
> b/meta/recipes-devtools/gcc/libgfortran.inc
> index fa6aecaaa3..1726b40c6a 100644
> --- a/meta/recipes-devtools/gcc/libgfortran.inc
> +++ b/meta/recipes-devtools/gcc/libgfortran.inc
> @@ -60,9 +60,9 @@ PACKAGES = "\
>      libgfortran-staticdev \
>  "
>
> -LICENSE:${PN} = "GPL-3.0-with-GCC-exception"
> -LICENSE:${PN}-dev = "GPL-3.0-with-GCC-exception"
> -LICENSE:${PN}-dbg = "GPL-3.0-with-GCC-exception"
> +LICENSE:${PN} = "GPL-3.0-or-later WITH GCC-exception-3.1"
> +LICENSE:${PN}-dev = "GPL-3.0-or-later WITH GCC-exception-3.1"
> +LICENSE:${PN}-dbg = "GPL-3.0-or-later WITH GCC-exception-3.1"
>
>  FILES:${PN} = "${libdir}/libgfortran.so.*"
>  FILES:${PN}-dev = "\
> --
> 2.54.0
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#241112): 
https://lists.openembedded.org/g/openembedded-core/message/241112
Mute This Topic: https://lists.openembedded.org/mt/120285157/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to