From: Stefan Herbrechtsmeier <stefan.herbrechtsme...@weidmueller.com>

Remove mutable default arguments in Python because they can lead to all
sorts of nasty and horrible bugs.

https://florimond.dev/en/posts/2018/08/python-mutable-defaults-are-the-source-of-all-evil/

Revert `recipetool: Change default paramter fallback_licenses of
function split_pkg_licenses from None to []` and instead check
fallback_licenses before use.

Signed-off-by: Stefan Herbrechtsmeier <stefan.herbrechtsme...@weidmueller.com>

---

 scripts/lib/recipetool/create.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/lib/recipetool/create.py b/scripts/lib/recipetool/create.py
index 220465ed2f..824ac6350d 100644
--- a/scripts/lib/recipetool/create.py
+++ b/scripts/lib/recipetool/create.py
@@ -1235,7 +1235,7 @@ def guess_license(srctree, d):
 
     return licenses
 
-def split_pkg_licenses(licvalues, packages, outlines, fallback_licenses=[], 
pn='${PN}'):
+def split_pkg_licenses(licvalues, packages, outlines, fallback_licenses=None, 
pn='${PN}'):
     """
     Given a list of (license, path, md5sum) as returned by guess_license(),
     a dict of package name to path mappings, write out a set of
@@ -1258,7 +1258,7 @@ def split_pkg_licenses(licvalues, packages, outlines, 
fallback_licenses=[], pn='
     for pkgname in packages:
         # Assume AND operator between license files
         license = ' & '.join(list(set(pkglicenses.get(pkgname, ['Unknown'])))) 
or 'Unknown'
-        if license == 'Unknown' and pkgname in fallback_licenses:
+        if license == 'Unknown' and fallback_licenses and pkgname in 
fallback_licenses:
             license = fallback_licenses[pkgname]
         licenses = tidy_licenses(license)
         license = ' & '.join(licenses)
-- 
2.30.2

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#164407): 
https://lists.openembedded.org/g/openembedded-core/message/164407
Mute This Topic: https://lists.openembedded.org/mt/90461493/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to