openembedded-core.lists.openembedded.org archive mirror
 help / color / mirror / Atom feed
* [OE-core][PATCH] licences: Move exceptions to subdirectory
@ 2026-08-18 22:17 Joshua Watt
  2026-08-19 14:32 ` Mathieu Dubois-Briand
  0 siblings, 1 reply; 3+ messages in thread
From: Joshua Watt @ 2026-08-18 22:17 UTC (permalink / raw)
  To: openembedded-core; +Cc: Joshua Watt

Moves the SPDX license exceptions to a subdirectory to make the easier
to identify as license exceptions vs. actual licenses

This should have no effect on other layers since SPDX doesn't allow
custom Exceptions like it does for Licenses (via LicenseRef-); since we
have already enumerated all known exceptions, its unlikely any other
layer have added their own

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
---
 meta/files/common-licenses/{ => exceptions}/389-exception   | 0
 .../common-licenses/{ => exceptions}/Asterisk-exception     | 0
 .../{ => exceptions}/Asterisk-linking-protocols-exception   | 0
 .../common-licenses/{ => exceptions}/Autoconf-exception-2.0 | 0
 .../common-licenses/{ => exceptions}/Autoconf-exception-3.0 | 0
 .../{ => exceptions}/Autoconf-exception-generic             | 0
 .../{ => exceptions}/Autoconf-exception-generic-3.0         | 0
 .../{ => exceptions}/Autoconf-exception-macro               | 0
 .../common-licenses/{ => exceptions}/Bison-exception-1.24   | 0
 .../common-licenses/{ => exceptions}/Bison-exception-2.2    | 0
 .../common-licenses/{ => exceptions}/Bootloader-exception   | 0
 .../common-licenses/{ => exceptions}/CGAL-linking-exception | 0
 .../common-licenses/{ => exceptions}/CLISP-exception-2.0    | 0
 .../{ => exceptions}/Classpath-exception-2.0                | 0
 .../{ => exceptions}/Classpath-exception-2.0-short          | 0
 .../{ => exceptions}/DigiRule-FOSS-exception                | 0
 .../{ => exceptions}/Digia-Qt-LGPL-exception-1.1            | 0
 meta/files/common-licenses/{ => exceptions}/FLTK-exception  | 0
 .../{ => exceptions}/Fawkes-Runtime-exception               | 0
 .../common-licenses/{ => exceptions}/Font-exception-2.0     | 0
 .../common-licenses/{ => exceptions}/GCC-exception-2.0      | 0
 .../common-licenses/{ => exceptions}/GCC-exception-2.0-note | 0
 .../common-licenses/{ => exceptions}/GCC-exception-3.1      | 0
 meta/files/common-licenses/{ => exceptions}/GNAT-exception  | 0
 .../{ => exceptions}/GNOME-examples-exception               | 0
 .../common-licenses/{ => exceptions}/GNU-compiler-exception | 0
 .../{ => exceptions}/GPL-3.0-389-ds-base-exception          | 0
 .../{ => exceptions}/GPL-3.0-interface-exception            | 0
 .../{ => exceptions}/GPL-3.0-linking-exception              | 0
 .../{ => exceptions}/GPL-3.0-linking-source-exception       | 0
 meta/files/common-licenses/{ => exceptions}/GPL-CC-1.0      | 0
 .../{ => exceptions}/GStreamer-exception-2005               | 0
 .../{ => exceptions}/GStreamer-exception-2008               | 0
 meta/files/common-licenses/{ => exceptions}/Gmsh-exception  | 0
 .../{ => exceptions}/Independent-modules-exception          | 0
 .../{ => exceptions}/KiCad-libraries-exception              | 0
 .../{ => exceptions}/LGPL-3.0-linking-exception             | 0
 meta/files/common-licenses/{ => exceptions}/LLGPL           | 0
 meta/files/common-licenses/{ => exceptions}/LLVM-exception  | 0
 meta/files/common-licenses/{ => exceptions}/LZMA-exception  | 0
 .../common-licenses/{ => exceptions}/Libtool-exception      | 0
 .../common-licenses/{ => exceptions}/Linux-syscall-note     | 0
 .../common-licenses/{ => exceptions}/OCCT-exception-1.0     | 0
 .../{ => exceptions}/OCaml-LGPL-linking-exception           | 0
 .../{ => exceptions}/OpenJDK-assembly-exception-1.0         | 0
 meta/files/common-licenses/{ => exceptions}/PCRE2-exception | 0
 .../{ => exceptions}/PS-or-PDF-font-exception-20170817      | 0
 .../{ => exceptions}/QPL-1.0-INRIA-2004-exception           | 0
 .../common-licenses/{ => exceptions}/Qt-GPL-exception-1.0   | 0
 .../common-licenses/{ => exceptions}/Qt-LGPL-exception-1.1  | 0
 .../common-licenses/{ => exceptions}/Qwt-exception-1.0      | 0
 .../{ => exceptions}/RRDtool-FLOSS-exception-2.0            | 0
 meta/files/common-licenses/{ => exceptions}/SANE-exception  | 0
 meta/files/common-licenses/{ => exceptions}/SHL-2.0         | 0
 meta/files/common-licenses/{ => exceptions}/SHL-2.1         | 0
 meta/files/common-licenses/{ => exceptions}/SWI-exception   | 0
 .../{ => exceptions}/Simple-Library-Usage-exception         | 0
 meta/files/common-licenses/{ => exceptions}/Swift-exception | 0
 .../common-licenses/{ => exceptions}/Texinfo-exception      | 0
 meta/files/common-licenses/{ => exceptions}/UBDL-exception  | 0
 .../{ => exceptions}/Universal-FOSS-exception-1.0           | 0
 .../{ => exceptions}/WxWindows-exception-3.1                | 0
 .../{ => exceptions}/cryptsetup-OpenSSL-exception           | 0
 .../common-licenses/{ => exceptions}/eCos-exception-2.0     | 0
 .../{ => exceptions}/erlang-otp-linking-exception           | 0
 meta/files/common-licenses/{ => exceptions}/fmt-exception   | 0
 .../common-licenses/{ => exceptions}/freertos-exception-2.0 | 0
 .../common-licenses/{ => exceptions}/gnu-javamail-exception | 0
 .../common-licenses/{ => exceptions}/harbour-exception      | 0
 .../common-licenses/{ => exceptions}/i2p-gpl-java-exception | 0
 .../{ => exceptions}/kvirc-openssl-exception                | 0
 .../{ => exceptions}/libpri-OpenH323-exception              | 0
 meta/files/common-licenses/{ => exceptions}/mif-exception   | 0
 meta/files/common-licenses/{ => exceptions}/mxml-exception  | 0
 .../{ => exceptions}/openvpn-openssl-exception              | 0
 .../common-licenses/{ => exceptions}/polyparse-exception    | 0
 meta/files/common-licenses/{ => exceptions}/romic-exception | 0
 .../{ => exceptions}/rsync-linking-exception                | 0
 .../{ => exceptions}/sqlitestudio-OpenSSL-exception         | 0
 .../common-licenses/{ => exceptions}/stunnel-exception      | 0
 .../common-licenses/{ => exceptions}/u-boot-exception-2.0   | 0
 .../{ => exceptions}/vsftpd-openssl-exception               | 0
 .../{ => exceptions}/x11vnc-openssl-exception               | 0
 meta/lib/oe/license.py                                      | 6 ++++++
 scripts/pull-spdx-licenses.py                               | 2 +-
 85 files changed, 7 insertions(+), 1 deletion(-)
 rename meta/files/common-licenses/{ => exceptions}/389-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Asterisk-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Asterisk-linking-protocols-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Autoconf-exception-2.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/Autoconf-exception-3.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/Autoconf-exception-generic (100%)
 rename meta/files/common-licenses/{ => exceptions}/Autoconf-exception-generic-3.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/Autoconf-exception-macro (100%)
 rename meta/files/common-licenses/{ => exceptions}/Bison-exception-1.24 (100%)
 rename meta/files/common-licenses/{ => exceptions}/Bison-exception-2.2 (100%)
 rename meta/files/common-licenses/{ => exceptions}/Bootloader-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/CGAL-linking-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/CLISP-exception-2.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/Classpath-exception-2.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/Classpath-exception-2.0-short (100%)
 rename meta/files/common-licenses/{ => exceptions}/DigiRule-FOSS-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Digia-Qt-LGPL-exception-1.1 (100%)
 rename meta/files/common-licenses/{ => exceptions}/FLTK-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Fawkes-Runtime-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Font-exception-2.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/GCC-exception-2.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/GCC-exception-2.0-note (100%)
 rename meta/files/common-licenses/{ => exceptions}/GCC-exception-3.1 (100%)
 rename meta/files/common-licenses/{ => exceptions}/GNAT-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/GNOME-examples-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/GNU-compiler-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/GPL-3.0-389-ds-base-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/GPL-3.0-interface-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/GPL-3.0-linking-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/GPL-3.0-linking-source-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/GPL-CC-1.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/GStreamer-exception-2005 (100%)
 rename meta/files/common-licenses/{ => exceptions}/GStreamer-exception-2008 (100%)
 rename meta/files/common-licenses/{ => exceptions}/Gmsh-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Independent-modules-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/KiCad-libraries-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/LGPL-3.0-linking-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/LLGPL (100%)
 rename meta/files/common-licenses/{ => exceptions}/LLVM-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/LZMA-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Libtool-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Linux-syscall-note (100%)
 rename meta/files/common-licenses/{ => exceptions}/OCCT-exception-1.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/OCaml-LGPL-linking-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/OpenJDK-assembly-exception-1.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/PCRE2-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/PS-or-PDF-font-exception-20170817 (100%)
 rename meta/files/common-licenses/{ => exceptions}/QPL-1.0-INRIA-2004-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Qt-GPL-exception-1.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/Qt-LGPL-exception-1.1 (100%)
 rename meta/files/common-licenses/{ => exceptions}/Qwt-exception-1.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/RRDtool-FLOSS-exception-2.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/SANE-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/SHL-2.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/SHL-2.1 (100%)
 rename meta/files/common-licenses/{ => exceptions}/SWI-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Simple-Library-Usage-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Swift-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Texinfo-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/UBDL-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/Universal-FOSS-exception-1.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/WxWindows-exception-3.1 (100%)
 rename meta/files/common-licenses/{ => exceptions}/cryptsetup-OpenSSL-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/eCos-exception-2.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/erlang-otp-linking-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/fmt-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/freertos-exception-2.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/gnu-javamail-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/harbour-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/i2p-gpl-java-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/kvirc-openssl-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/libpri-OpenH323-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/mif-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/mxml-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/openvpn-openssl-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/polyparse-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/romic-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/rsync-linking-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/sqlitestudio-OpenSSL-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/stunnel-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/u-boot-exception-2.0 (100%)
 rename meta/files/common-licenses/{ => exceptions}/vsftpd-openssl-exception (100%)
 rename meta/files/common-licenses/{ => exceptions}/x11vnc-openssl-exception (100%)

diff --git a/meta/files/common-licenses/389-exception b/meta/files/common-licenses/exceptions/389-exception
similarity index 100%
rename from meta/files/common-licenses/389-exception
rename to meta/files/common-licenses/exceptions/389-exception
diff --git a/meta/files/common-licenses/Asterisk-exception b/meta/files/common-licenses/exceptions/Asterisk-exception
similarity index 100%
rename from meta/files/common-licenses/Asterisk-exception
rename to meta/files/common-licenses/exceptions/Asterisk-exception
diff --git a/meta/files/common-licenses/Asterisk-linking-protocols-exception b/meta/files/common-licenses/exceptions/Asterisk-linking-protocols-exception
similarity index 100%
rename from meta/files/common-licenses/Asterisk-linking-protocols-exception
rename to meta/files/common-licenses/exceptions/Asterisk-linking-protocols-exception
diff --git a/meta/files/common-licenses/Autoconf-exception-2.0 b/meta/files/common-licenses/exceptions/Autoconf-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/Autoconf-exception-2.0
rename to meta/files/common-licenses/exceptions/Autoconf-exception-2.0
diff --git a/meta/files/common-licenses/Autoconf-exception-3.0 b/meta/files/common-licenses/exceptions/Autoconf-exception-3.0
similarity index 100%
rename from meta/files/common-licenses/Autoconf-exception-3.0
rename to meta/files/common-licenses/exceptions/Autoconf-exception-3.0
diff --git a/meta/files/common-licenses/Autoconf-exception-generic b/meta/files/common-licenses/exceptions/Autoconf-exception-generic
similarity index 100%
rename from meta/files/common-licenses/Autoconf-exception-generic
rename to meta/files/common-licenses/exceptions/Autoconf-exception-generic
diff --git a/meta/files/common-licenses/Autoconf-exception-generic-3.0 b/meta/files/common-licenses/exceptions/Autoconf-exception-generic-3.0
similarity index 100%
rename from meta/files/common-licenses/Autoconf-exception-generic-3.0
rename to meta/files/common-licenses/exceptions/Autoconf-exception-generic-3.0
diff --git a/meta/files/common-licenses/Autoconf-exception-macro b/meta/files/common-licenses/exceptions/Autoconf-exception-macro
similarity index 100%
rename from meta/files/common-licenses/Autoconf-exception-macro
rename to meta/files/common-licenses/exceptions/Autoconf-exception-macro
diff --git a/meta/files/common-licenses/Bison-exception-1.24 b/meta/files/common-licenses/exceptions/Bison-exception-1.24
similarity index 100%
rename from meta/files/common-licenses/Bison-exception-1.24
rename to meta/files/common-licenses/exceptions/Bison-exception-1.24
diff --git a/meta/files/common-licenses/Bison-exception-2.2 b/meta/files/common-licenses/exceptions/Bison-exception-2.2
similarity index 100%
rename from meta/files/common-licenses/Bison-exception-2.2
rename to meta/files/common-licenses/exceptions/Bison-exception-2.2
diff --git a/meta/files/common-licenses/Bootloader-exception b/meta/files/common-licenses/exceptions/Bootloader-exception
similarity index 100%
rename from meta/files/common-licenses/Bootloader-exception
rename to meta/files/common-licenses/exceptions/Bootloader-exception
diff --git a/meta/files/common-licenses/CGAL-linking-exception b/meta/files/common-licenses/exceptions/CGAL-linking-exception
similarity index 100%
rename from meta/files/common-licenses/CGAL-linking-exception
rename to meta/files/common-licenses/exceptions/CGAL-linking-exception
diff --git a/meta/files/common-licenses/CLISP-exception-2.0 b/meta/files/common-licenses/exceptions/CLISP-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/CLISP-exception-2.0
rename to meta/files/common-licenses/exceptions/CLISP-exception-2.0
diff --git a/meta/files/common-licenses/Classpath-exception-2.0 b/meta/files/common-licenses/exceptions/Classpath-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/Classpath-exception-2.0
rename to meta/files/common-licenses/exceptions/Classpath-exception-2.0
diff --git a/meta/files/common-licenses/Classpath-exception-2.0-short b/meta/files/common-licenses/exceptions/Classpath-exception-2.0-short
similarity index 100%
rename from meta/files/common-licenses/Classpath-exception-2.0-short
rename to meta/files/common-licenses/exceptions/Classpath-exception-2.0-short
diff --git a/meta/files/common-licenses/DigiRule-FOSS-exception b/meta/files/common-licenses/exceptions/DigiRule-FOSS-exception
similarity index 100%
rename from meta/files/common-licenses/DigiRule-FOSS-exception
rename to meta/files/common-licenses/exceptions/DigiRule-FOSS-exception
diff --git a/meta/files/common-licenses/Digia-Qt-LGPL-exception-1.1 b/meta/files/common-licenses/exceptions/Digia-Qt-LGPL-exception-1.1
similarity index 100%
rename from meta/files/common-licenses/Digia-Qt-LGPL-exception-1.1
rename to meta/files/common-licenses/exceptions/Digia-Qt-LGPL-exception-1.1
diff --git a/meta/files/common-licenses/FLTK-exception b/meta/files/common-licenses/exceptions/FLTK-exception
similarity index 100%
rename from meta/files/common-licenses/FLTK-exception
rename to meta/files/common-licenses/exceptions/FLTK-exception
diff --git a/meta/files/common-licenses/Fawkes-Runtime-exception b/meta/files/common-licenses/exceptions/Fawkes-Runtime-exception
similarity index 100%
rename from meta/files/common-licenses/Fawkes-Runtime-exception
rename to meta/files/common-licenses/exceptions/Fawkes-Runtime-exception
diff --git a/meta/files/common-licenses/Font-exception-2.0 b/meta/files/common-licenses/exceptions/Font-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/Font-exception-2.0
rename to meta/files/common-licenses/exceptions/Font-exception-2.0
diff --git a/meta/files/common-licenses/GCC-exception-2.0 b/meta/files/common-licenses/exceptions/GCC-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/GCC-exception-2.0
rename to meta/files/common-licenses/exceptions/GCC-exception-2.0
diff --git a/meta/files/common-licenses/GCC-exception-2.0-note b/meta/files/common-licenses/exceptions/GCC-exception-2.0-note
similarity index 100%
rename from meta/files/common-licenses/GCC-exception-2.0-note
rename to meta/files/common-licenses/exceptions/GCC-exception-2.0-note
diff --git a/meta/files/common-licenses/GCC-exception-3.1 b/meta/files/common-licenses/exceptions/GCC-exception-3.1
similarity index 100%
rename from meta/files/common-licenses/GCC-exception-3.1
rename to meta/files/common-licenses/exceptions/GCC-exception-3.1
diff --git a/meta/files/common-licenses/GNAT-exception b/meta/files/common-licenses/exceptions/GNAT-exception
similarity index 100%
rename from meta/files/common-licenses/GNAT-exception
rename to meta/files/common-licenses/exceptions/GNAT-exception
diff --git a/meta/files/common-licenses/GNOME-examples-exception b/meta/files/common-licenses/exceptions/GNOME-examples-exception
similarity index 100%
rename from meta/files/common-licenses/GNOME-examples-exception
rename to meta/files/common-licenses/exceptions/GNOME-examples-exception
diff --git a/meta/files/common-licenses/GNU-compiler-exception b/meta/files/common-licenses/exceptions/GNU-compiler-exception
similarity index 100%
rename from meta/files/common-licenses/GNU-compiler-exception
rename to meta/files/common-licenses/exceptions/GNU-compiler-exception
diff --git a/meta/files/common-licenses/GPL-3.0-389-ds-base-exception b/meta/files/common-licenses/exceptions/GPL-3.0-389-ds-base-exception
similarity index 100%
rename from meta/files/common-licenses/GPL-3.0-389-ds-base-exception
rename to meta/files/common-licenses/exceptions/GPL-3.0-389-ds-base-exception
diff --git a/meta/files/common-licenses/GPL-3.0-interface-exception b/meta/files/common-licenses/exceptions/GPL-3.0-interface-exception
similarity index 100%
rename from meta/files/common-licenses/GPL-3.0-interface-exception
rename to meta/files/common-licenses/exceptions/GPL-3.0-interface-exception
diff --git a/meta/files/common-licenses/GPL-3.0-linking-exception b/meta/files/common-licenses/exceptions/GPL-3.0-linking-exception
similarity index 100%
rename from meta/files/common-licenses/GPL-3.0-linking-exception
rename to meta/files/common-licenses/exceptions/GPL-3.0-linking-exception
diff --git a/meta/files/common-licenses/GPL-3.0-linking-source-exception b/meta/files/common-licenses/exceptions/GPL-3.0-linking-source-exception
similarity index 100%
rename from meta/files/common-licenses/GPL-3.0-linking-source-exception
rename to meta/files/common-licenses/exceptions/GPL-3.0-linking-source-exception
diff --git a/meta/files/common-licenses/GPL-CC-1.0 b/meta/files/common-licenses/exceptions/GPL-CC-1.0
similarity index 100%
rename from meta/files/common-licenses/GPL-CC-1.0
rename to meta/files/common-licenses/exceptions/GPL-CC-1.0
diff --git a/meta/files/common-licenses/GStreamer-exception-2005 b/meta/files/common-licenses/exceptions/GStreamer-exception-2005
similarity index 100%
rename from meta/files/common-licenses/GStreamer-exception-2005
rename to meta/files/common-licenses/exceptions/GStreamer-exception-2005
diff --git a/meta/files/common-licenses/GStreamer-exception-2008 b/meta/files/common-licenses/exceptions/GStreamer-exception-2008
similarity index 100%
rename from meta/files/common-licenses/GStreamer-exception-2008
rename to meta/files/common-licenses/exceptions/GStreamer-exception-2008
diff --git a/meta/files/common-licenses/Gmsh-exception b/meta/files/common-licenses/exceptions/Gmsh-exception
similarity index 100%
rename from meta/files/common-licenses/Gmsh-exception
rename to meta/files/common-licenses/exceptions/Gmsh-exception
diff --git a/meta/files/common-licenses/Independent-modules-exception b/meta/files/common-licenses/exceptions/Independent-modules-exception
similarity index 100%
rename from meta/files/common-licenses/Independent-modules-exception
rename to meta/files/common-licenses/exceptions/Independent-modules-exception
diff --git a/meta/files/common-licenses/KiCad-libraries-exception b/meta/files/common-licenses/exceptions/KiCad-libraries-exception
similarity index 100%
rename from meta/files/common-licenses/KiCad-libraries-exception
rename to meta/files/common-licenses/exceptions/KiCad-libraries-exception
diff --git a/meta/files/common-licenses/LGPL-3.0-linking-exception b/meta/files/common-licenses/exceptions/LGPL-3.0-linking-exception
similarity index 100%
rename from meta/files/common-licenses/LGPL-3.0-linking-exception
rename to meta/files/common-licenses/exceptions/LGPL-3.0-linking-exception
diff --git a/meta/files/common-licenses/LLGPL b/meta/files/common-licenses/exceptions/LLGPL
similarity index 100%
rename from meta/files/common-licenses/LLGPL
rename to meta/files/common-licenses/exceptions/LLGPL
diff --git a/meta/files/common-licenses/LLVM-exception b/meta/files/common-licenses/exceptions/LLVM-exception
similarity index 100%
rename from meta/files/common-licenses/LLVM-exception
rename to meta/files/common-licenses/exceptions/LLVM-exception
diff --git a/meta/files/common-licenses/LZMA-exception b/meta/files/common-licenses/exceptions/LZMA-exception
similarity index 100%
rename from meta/files/common-licenses/LZMA-exception
rename to meta/files/common-licenses/exceptions/LZMA-exception
diff --git a/meta/files/common-licenses/Libtool-exception b/meta/files/common-licenses/exceptions/Libtool-exception
similarity index 100%
rename from meta/files/common-licenses/Libtool-exception
rename to meta/files/common-licenses/exceptions/Libtool-exception
diff --git a/meta/files/common-licenses/Linux-syscall-note b/meta/files/common-licenses/exceptions/Linux-syscall-note
similarity index 100%
rename from meta/files/common-licenses/Linux-syscall-note
rename to meta/files/common-licenses/exceptions/Linux-syscall-note
diff --git a/meta/files/common-licenses/OCCT-exception-1.0 b/meta/files/common-licenses/exceptions/OCCT-exception-1.0
similarity index 100%
rename from meta/files/common-licenses/OCCT-exception-1.0
rename to meta/files/common-licenses/exceptions/OCCT-exception-1.0
diff --git a/meta/files/common-licenses/OCaml-LGPL-linking-exception b/meta/files/common-licenses/exceptions/OCaml-LGPL-linking-exception
similarity index 100%
rename from meta/files/common-licenses/OCaml-LGPL-linking-exception
rename to meta/files/common-licenses/exceptions/OCaml-LGPL-linking-exception
diff --git a/meta/files/common-licenses/OpenJDK-assembly-exception-1.0 b/meta/files/common-licenses/exceptions/OpenJDK-assembly-exception-1.0
similarity index 100%
rename from meta/files/common-licenses/OpenJDK-assembly-exception-1.0
rename to meta/files/common-licenses/exceptions/OpenJDK-assembly-exception-1.0
diff --git a/meta/files/common-licenses/PCRE2-exception b/meta/files/common-licenses/exceptions/PCRE2-exception
similarity index 100%
rename from meta/files/common-licenses/PCRE2-exception
rename to meta/files/common-licenses/exceptions/PCRE2-exception
diff --git a/meta/files/common-licenses/PS-or-PDF-font-exception-20170817 b/meta/files/common-licenses/exceptions/PS-or-PDF-font-exception-20170817
similarity index 100%
rename from meta/files/common-licenses/PS-or-PDF-font-exception-20170817
rename to meta/files/common-licenses/exceptions/PS-or-PDF-font-exception-20170817
diff --git a/meta/files/common-licenses/QPL-1.0-INRIA-2004-exception b/meta/files/common-licenses/exceptions/QPL-1.0-INRIA-2004-exception
similarity index 100%
rename from meta/files/common-licenses/QPL-1.0-INRIA-2004-exception
rename to meta/files/common-licenses/exceptions/QPL-1.0-INRIA-2004-exception
diff --git a/meta/files/common-licenses/Qt-GPL-exception-1.0 b/meta/files/common-licenses/exceptions/Qt-GPL-exception-1.0
similarity index 100%
rename from meta/files/common-licenses/Qt-GPL-exception-1.0
rename to meta/files/common-licenses/exceptions/Qt-GPL-exception-1.0
diff --git a/meta/files/common-licenses/Qt-LGPL-exception-1.1 b/meta/files/common-licenses/exceptions/Qt-LGPL-exception-1.1
similarity index 100%
rename from meta/files/common-licenses/Qt-LGPL-exception-1.1
rename to meta/files/common-licenses/exceptions/Qt-LGPL-exception-1.1
diff --git a/meta/files/common-licenses/Qwt-exception-1.0 b/meta/files/common-licenses/exceptions/Qwt-exception-1.0
similarity index 100%
rename from meta/files/common-licenses/Qwt-exception-1.0
rename to meta/files/common-licenses/exceptions/Qwt-exception-1.0
diff --git a/meta/files/common-licenses/RRDtool-FLOSS-exception-2.0 b/meta/files/common-licenses/exceptions/RRDtool-FLOSS-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/RRDtool-FLOSS-exception-2.0
rename to meta/files/common-licenses/exceptions/RRDtool-FLOSS-exception-2.0
diff --git a/meta/files/common-licenses/SANE-exception b/meta/files/common-licenses/exceptions/SANE-exception
similarity index 100%
rename from meta/files/common-licenses/SANE-exception
rename to meta/files/common-licenses/exceptions/SANE-exception
diff --git a/meta/files/common-licenses/SHL-2.0 b/meta/files/common-licenses/exceptions/SHL-2.0
similarity index 100%
rename from meta/files/common-licenses/SHL-2.0
rename to meta/files/common-licenses/exceptions/SHL-2.0
diff --git a/meta/files/common-licenses/SHL-2.1 b/meta/files/common-licenses/exceptions/SHL-2.1
similarity index 100%
rename from meta/files/common-licenses/SHL-2.1
rename to meta/files/common-licenses/exceptions/SHL-2.1
diff --git a/meta/files/common-licenses/SWI-exception b/meta/files/common-licenses/exceptions/SWI-exception
similarity index 100%
rename from meta/files/common-licenses/SWI-exception
rename to meta/files/common-licenses/exceptions/SWI-exception
diff --git a/meta/files/common-licenses/Simple-Library-Usage-exception b/meta/files/common-licenses/exceptions/Simple-Library-Usage-exception
similarity index 100%
rename from meta/files/common-licenses/Simple-Library-Usage-exception
rename to meta/files/common-licenses/exceptions/Simple-Library-Usage-exception
diff --git a/meta/files/common-licenses/Swift-exception b/meta/files/common-licenses/exceptions/Swift-exception
similarity index 100%
rename from meta/files/common-licenses/Swift-exception
rename to meta/files/common-licenses/exceptions/Swift-exception
diff --git a/meta/files/common-licenses/Texinfo-exception b/meta/files/common-licenses/exceptions/Texinfo-exception
similarity index 100%
rename from meta/files/common-licenses/Texinfo-exception
rename to meta/files/common-licenses/exceptions/Texinfo-exception
diff --git a/meta/files/common-licenses/UBDL-exception b/meta/files/common-licenses/exceptions/UBDL-exception
similarity index 100%
rename from meta/files/common-licenses/UBDL-exception
rename to meta/files/common-licenses/exceptions/UBDL-exception
diff --git a/meta/files/common-licenses/Universal-FOSS-exception-1.0 b/meta/files/common-licenses/exceptions/Universal-FOSS-exception-1.0
similarity index 100%
rename from meta/files/common-licenses/Universal-FOSS-exception-1.0
rename to meta/files/common-licenses/exceptions/Universal-FOSS-exception-1.0
diff --git a/meta/files/common-licenses/WxWindows-exception-3.1 b/meta/files/common-licenses/exceptions/WxWindows-exception-3.1
similarity index 100%
rename from meta/files/common-licenses/WxWindows-exception-3.1
rename to meta/files/common-licenses/exceptions/WxWindows-exception-3.1
diff --git a/meta/files/common-licenses/cryptsetup-OpenSSL-exception b/meta/files/common-licenses/exceptions/cryptsetup-OpenSSL-exception
similarity index 100%
rename from meta/files/common-licenses/cryptsetup-OpenSSL-exception
rename to meta/files/common-licenses/exceptions/cryptsetup-OpenSSL-exception
diff --git a/meta/files/common-licenses/eCos-exception-2.0 b/meta/files/common-licenses/exceptions/eCos-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/eCos-exception-2.0
rename to meta/files/common-licenses/exceptions/eCos-exception-2.0
diff --git a/meta/files/common-licenses/erlang-otp-linking-exception b/meta/files/common-licenses/exceptions/erlang-otp-linking-exception
similarity index 100%
rename from meta/files/common-licenses/erlang-otp-linking-exception
rename to meta/files/common-licenses/exceptions/erlang-otp-linking-exception
diff --git a/meta/files/common-licenses/fmt-exception b/meta/files/common-licenses/exceptions/fmt-exception
similarity index 100%
rename from meta/files/common-licenses/fmt-exception
rename to meta/files/common-licenses/exceptions/fmt-exception
diff --git a/meta/files/common-licenses/freertos-exception-2.0 b/meta/files/common-licenses/exceptions/freertos-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/freertos-exception-2.0
rename to meta/files/common-licenses/exceptions/freertos-exception-2.0
diff --git a/meta/files/common-licenses/gnu-javamail-exception b/meta/files/common-licenses/exceptions/gnu-javamail-exception
similarity index 100%
rename from meta/files/common-licenses/gnu-javamail-exception
rename to meta/files/common-licenses/exceptions/gnu-javamail-exception
diff --git a/meta/files/common-licenses/harbour-exception b/meta/files/common-licenses/exceptions/harbour-exception
similarity index 100%
rename from meta/files/common-licenses/harbour-exception
rename to meta/files/common-licenses/exceptions/harbour-exception
diff --git a/meta/files/common-licenses/i2p-gpl-java-exception b/meta/files/common-licenses/exceptions/i2p-gpl-java-exception
similarity index 100%
rename from meta/files/common-licenses/i2p-gpl-java-exception
rename to meta/files/common-licenses/exceptions/i2p-gpl-java-exception
diff --git a/meta/files/common-licenses/kvirc-openssl-exception b/meta/files/common-licenses/exceptions/kvirc-openssl-exception
similarity index 100%
rename from meta/files/common-licenses/kvirc-openssl-exception
rename to meta/files/common-licenses/exceptions/kvirc-openssl-exception
diff --git a/meta/files/common-licenses/libpri-OpenH323-exception b/meta/files/common-licenses/exceptions/libpri-OpenH323-exception
similarity index 100%
rename from meta/files/common-licenses/libpri-OpenH323-exception
rename to meta/files/common-licenses/exceptions/libpri-OpenH323-exception
diff --git a/meta/files/common-licenses/mif-exception b/meta/files/common-licenses/exceptions/mif-exception
similarity index 100%
rename from meta/files/common-licenses/mif-exception
rename to meta/files/common-licenses/exceptions/mif-exception
diff --git a/meta/files/common-licenses/mxml-exception b/meta/files/common-licenses/exceptions/mxml-exception
similarity index 100%
rename from meta/files/common-licenses/mxml-exception
rename to meta/files/common-licenses/exceptions/mxml-exception
diff --git a/meta/files/common-licenses/openvpn-openssl-exception b/meta/files/common-licenses/exceptions/openvpn-openssl-exception
similarity index 100%
rename from meta/files/common-licenses/openvpn-openssl-exception
rename to meta/files/common-licenses/exceptions/openvpn-openssl-exception
diff --git a/meta/files/common-licenses/polyparse-exception b/meta/files/common-licenses/exceptions/polyparse-exception
similarity index 100%
rename from meta/files/common-licenses/polyparse-exception
rename to meta/files/common-licenses/exceptions/polyparse-exception
diff --git a/meta/files/common-licenses/romic-exception b/meta/files/common-licenses/exceptions/romic-exception
similarity index 100%
rename from meta/files/common-licenses/romic-exception
rename to meta/files/common-licenses/exceptions/romic-exception
diff --git a/meta/files/common-licenses/rsync-linking-exception b/meta/files/common-licenses/exceptions/rsync-linking-exception
similarity index 100%
rename from meta/files/common-licenses/rsync-linking-exception
rename to meta/files/common-licenses/exceptions/rsync-linking-exception
diff --git a/meta/files/common-licenses/sqlitestudio-OpenSSL-exception b/meta/files/common-licenses/exceptions/sqlitestudio-OpenSSL-exception
similarity index 100%
rename from meta/files/common-licenses/sqlitestudio-OpenSSL-exception
rename to meta/files/common-licenses/exceptions/sqlitestudio-OpenSSL-exception
diff --git a/meta/files/common-licenses/stunnel-exception b/meta/files/common-licenses/exceptions/stunnel-exception
similarity index 100%
rename from meta/files/common-licenses/stunnel-exception
rename to meta/files/common-licenses/exceptions/stunnel-exception
diff --git a/meta/files/common-licenses/u-boot-exception-2.0 b/meta/files/common-licenses/exceptions/u-boot-exception-2.0
similarity index 100%
rename from meta/files/common-licenses/u-boot-exception-2.0
rename to meta/files/common-licenses/exceptions/u-boot-exception-2.0
diff --git a/meta/files/common-licenses/vsftpd-openssl-exception b/meta/files/common-licenses/exceptions/vsftpd-openssl-exception
similarity index 100%
rename from meta/files/common-licenses/vsftpd-openssl-exception
rename to meta/files/common-licenses/exceptions/vsftpd-openssl-exception
diff --git a/meta/files/common-licenses/x11vnc-openssl-exception b/meta/files/common-licenses/exceptions/x11vnc-openssl-exception
similarity index 100%
rename from meta/files/common-licenses/x11vnc-openssl-exception
rename to meta/files/common-licenses/exceptions/x11vnc-openssl-exception
diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py
index adcfc827cf..d38206a8d6 100644
--- a/meta/lib/oe/license.py
+++ b/meta/lib/oe/license.py
@@ -454,6 +454,12 @@ def get_license_path(d, node):
             return d.expand("${S}/" + filename), filename
 
     for lic_dir in [d.getVar("COMMON_LICENSE_DIR")] + (d.getVar("LICENSE_PATH") or "").split():
+        if isinstance(node, oe.spdx_license.ExceptionId):
+            p = os.path.join(lic_dir, "exceptions", node.name)
+            if os.path.isfile(p):
+                return p, None
+            return None, None
+
         p = os.path.join(lic_dir, node.name)
         if os.path.isfile(p):
             return p, None
diff --git a/scripts/pull-spdx-licenses.py b/scripts/pull-spdx-licenses.py
index 7d1715ff24..c8e2cfaf5f 100755
--- a/scripts/pull-spdx-licenses.py
+++ b/scripts/pull-spdx-licenses.py
@@ -72,7 +72,7 @@ def update_exceptions(dest, version, overwrite, deprecated):
 
         print(f"[{idx + 1} of {total_count}] ", end="")
 
-        dest_license_file = dest / lic_id
+        dest_license_file = dest / "exceptions" / lic_id
         if dest_license_file.is_file() and not overwrite:
             print(f"Skipping {lic_id} since it already exists")
             continue
-- 
2.55.0



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [OE-core][PATCH] licences: Move exceptions to subdirectory
  2026-08-18 22:17 [OE-core][PATCH] licences: Move exceptions to subdirectory Joshua Watt
@ 2026-08-19 14:32 ` Mathieu Dubois-Briand
  2026-08-19 14:34   ` Joshua Watt
  0 siblings, 1 reply; 3+ messages in thread
From: Mathieu Dubois-Briand @ 2026-08-19 14:32 UTC (permalink / raw)
  To: JPEWhacker, openembedded-core

On Wed Aug 19, 2026 at 12:17 AM CEST, Joshua Watt via lists.openembedded.org wrote:
> Moves the SPDX license exceptions to a subdirectory to make the easier
> to identify as license exceptions vs. actual licenses
>
> This should have no effect on other layers since SPDX doesn't allow
> custom Exceptions like it does for Licenses (via LicenseRef-); since we
> have already enumerated all known exceptions, its unlikely any other
> layer have added their own
>
> Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> ---

Hi Joshua,

Thanks for your patch.

It looks like this is breaking devtool/recipetool:

Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/qemux86/build/layers/openembedded-core/meta/lib/oeqa/sdkext/cases/devtool.py", line 59, in test_devtool_add_reset
    self._run('devtool add myapp %s' % self.myapp_dst)
  File "/srv/pokybuild/yocto-worker/qemux86/build/layers/openembedded-core/meta/lib/oeqa/sdkext/case.py", line 22, in _run
    return subprocess.check_output(". %s > /dev/null;"\
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/subprocess.py", line 466, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '. /srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/environment-setup-core2-32-poky-linux > /dev/null; devtool add myapp /srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/myapp;' returned non-zero exit status 1.
Standard Output: NOTE: Reconnecting to bitbake server...
NOTE: Reconnecting to bitbake server...
Traceback (most recent call last):
  File "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/scripts/recipetool", line 111, in <module>
    ret = main()
  File "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/scripts/recipetool", line 100, in main
    ret = args.func(args)
  File "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/scripts/lib/recipetool/create.py", line 798, in create_recipe
    handle_license_vars(srctree_use, lines_before, handled, extravalues, tinfoil.config_data)
    ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/scripts/lib/recipetool/create.py", line 965, in handle_license_vars
    for node, licfile, md5 in find_licenses(srctree, d):
                              ~~~~~~~~~~~~~^^^^^^^^^^^^
  File "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/meta/lib/oe/license_finder.py", line 201, in find_licenses
    licenses = match_licenses(licfiles, srctree, d, extra_hashes)
  File "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/meta/lib/oe/license_finder.py", line 173, in match_licenses
    md5sums.update(_crunch_known_licenses(d))
                   ~~~~~~~~~~~~~~~~~~~~~~^^^
  File "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/meta/lib/oe/license_finder.py", line 52, in _crunch_known_licenses
    md5value = bb.utils.md5_file(path)
  File "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/bitbake/lib/bb/utils.py", line 648, in md5_file
    return _hasher(sig, filename)
  File "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/bitbake/lib/bb/utils.py", line 623, in _hasher
    with open(filename, "rb") as f:
         ~~~~^^^^^^^^^^^^^^^^
IsADirectoryError: [Errno 21] Is a directory: '/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/meta/files/common-licenses/exceptions'

https://autobuilder.yoctoproject.org/valkyrie/#/builders/30/builds/4408
https://autobuilder.yoctoproject.org/valkyrie/#/builders/16/builds/4463
https://autobuilder.yoctoproject.org/valkyrie/#/builders/36/builds/4420
https://autobuilder.yoctoproject.org/valkyrie/#/builders/45/builds/2154
https://autobuilder.yoctoproject.org/valkyrie/#/builders/68/builds/4537

Everything else looks fine here. Can you have a look at that?

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [OE-core][PATCH] licences: Move exceptions to subdirectory
  2026-08-19 14:32 ` Mathieu Dubois-Briand
@ 2026-08-19 14:34   ` Joshua Watt
  0 siblings, 0 replies; 3+ messages in thread
From: Joshua Watt @ 2026-08-19 14:34 UTC (permalink / raw)
  To: Mathieu Dubois-Briand; +Cc: openembedded-core

[-- Attachment #1: Type: text/plain, Size: 5527 bytes --]

On Wed, Aug 19, 2026 at 8:33 AM Mathieu Dubois-Briand <
mathieu.dubois-briand@bootlin.com> wrote:

> On Wed Aug 19, 2026 at 12:17 AM CEST, Joshua Watt via
> lists.openembedded.org wrote:
> > Moves the SPDX license exceptions to a subdirectory to make the easier
> > to identify as license exceptions vs. actual licenses
> >
> > This should have no effect on other layers since SPDX doesn't allow
> > custom Exceptions like it does for Licenses (via LicenseRef-); since we
> > have already enumerated all known exceptions, its unlikely any other
> > layer have added their own
> >
> > Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
> > ---
>
> Hi Joshua,
>
> Thanks for your patch.
>
> It looks like this is breaking devtool/recipetool:
>
> Traceback (most recent call last):
>   File
> "/srv/pokybuild/yocto-worker/qemux86/build/layers/openembedded-core/meta/lib/oeqa/sdkext/cases/devtool.py",
> line 59, in test_devtool_add_reset
>     self._run('devtool add myapp %s' % self.myapp_dst)
>   File
> "/srv/pokybuild/yocto-worker/qemux86/build/layers/openembedded-core/meta/lib/oeqa/sdkext/case.py",
> line 22, in _run
>     return subprocess.check_output(". %s > /dev/null;"\
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib64/python3.12/subprocess.py", line 466, in check_output
>     return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
>            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File "/usr/lib64/python3.12/subprocess.py", line 571, in run
>     raise CalledProcessError(retcode, process.args,
> oeqa.utils.subprocesstweak.OETestCalledProcessError: Command '.
> /srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/environment-setup-core2-32-poky-linux
> > /dev/null; devtool add myapp
> /srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/myapp;'
> returned non-zero exit status 1.
> Standard Output: NOTE: Reconnecting to bitbake server...
> NOTE: Reconnecting to bitbake server...
> Traceback (most recent call last):
>   File
> "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/scripts/recipetool",
> line 111, in <module>
>     ret = main()
>   File
> "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/scripts/recipetool",
> line 100, in main
>     ret = args.func(args)
>   File
> "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/scripts/lib/recipetool/create.py",
> line 798, in create_recipe
>     handle_license_vars(srctree_use, lines_before, handled, extravalues,
> tinfoil.config_data)
>
> ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>   File
> "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/scripts/lib/recipetool/create.py",
> line 965, in handle_license_vars
>     for node, licfile, md5 in find_licenses(srctree, d):
>                               ~~~~~~~~~~~~~^^^^^^^^^^^^
>   File
> "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/meta/lib/oe/license_finder.py",
> line 201, in find_licenses
>     licenses = match_licenses(licfiles, srctree, d, extra_hashes)
>   File
> "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/meta/lib/oe/license_finder.py",
> line 173, in match_licenses
>     md5sums.update(_crunch_known_licenses(d))
>                    ~~~~~~~~~~~~~~~~~~~~~~^^^
>   File
> "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/meta/lib/oe/license_finder.py",
> line 52, in _crunch_known_licenses
>     md5value = bb.utils.md5_file(path)
>   File
> "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/bitbake/lib/bb/utils.py",
> line 648, in md5_file
>     return _hasher(sig, filename)
>   File
> "/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/bitbake/lib/bb/utils.py",
> line 623, in _hasher
>     with open(filename, "rb") as f:
>          ~~~~^^^^^^^^^^^^^^^^
> IsADirectoryError: [Errno 21] Is a directory:
> '/srv/pokybuild/yocto-worker/qemux86/build/build/tmp/work/qemux86-poky-linux/core-image-minimal/1.0/testsdkext/layers/openembedded-core/meta/files/common-licenses/exceptions'
>
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/30/builds/4408
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/16/builds/4463
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/36/builds/4420
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/45/builds/2154
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/68/builds/4537
>
> Everything else looks fine here. Can you have a look at that?
>

Yes


>
> Thanks,
> Mathieu
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
>

[-- Attachment #2: Type: text/html, Size: 7190 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-08-19 14:34 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-18 22:17 [OE-core][PATCH] licences: Move exceptions to subdirectory Joshua Watt
2026-08-19 14:32 ` Mathieu Dubois-Briand
2026-08-19 14:34   ` Joshua Watt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).