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]]
-=-=-=-=-=-=-=-=-=-=-=-