diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index ad543f6188..a66933f733 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -10,71 +10,6 @@ addtask populate_lic after do_patch before do_package do_populate_lic[dirs] = "${LICSSTATEDIR}/${PN}" do_populate_lic[cleandirs] = "${LICSSTATEDIR}" -# Standards are great! Everyone has their own. In an effort to standardize licensing -# names, common-licenses will use the SPDX standard license names. In order to not -# break the non-standardized license names that we find in LICENSE, we'll set -# up a bunch of VarFlags to accomodate non-SPDX license names. -# -# We should really discuss standardizing this field, but that's a longer term goal. -# For now, we can do this and it should grab the most common LICENSE naming variations. -# -# We should NEVER have a GPL/LGPL without a version!!!! -# Any mapping to MPL/LGPL/GPL should be fixed -# see: https://wiki.yoctoproject.org/wiki/License_Audit - -# GPL variations -SPDXLICENSEMAP[GPL-1] = "GPL-1.0" -SPDXLICENSEMAP[GPLv1] = "GPL-1.0" -SPDXLICENSEMAP[GPLv1.0] = "GPL-1.0" -SPDXLICENSEMAP[GPL-2] = "GPL-2.0" -SPDXLICENSEMAP[GPLv2] = "GPL-2.0" -SPDXLICENSEMAP[GPLv2.0] = "GPL-2.0" -SPDXLICENSEMAP[GPL-3] = "GPL-3.0" -SPDXLICENSEMAP[GPLv3] = "GPL-3.0" -SPDXLICENSEMAP[GPLv3.0] = "GPL-3.0" - -#LGPL variations -SPDXLICENSEMAP[LGPLv2] = "LGPL-2.0" -SPDXLICENSEMAP[LGPLv2.0] = "LGPL-2.0" -SPDXLICENSEMAP[LGPL2.1] = "LGPL-2.1" -SPDXLICENSEMAP[LGPLv2.1] = "LGPL-2.1" -SPDXLICENSEMAP[LGPLv3] = "LGPL-3.0" - -#MPL variations -SPDXLICENSEMAP[MPL-1] = "MPL-1.0" -SPDXLICENSEMAP[MPLv1] = "MPL-1.0" -SPDXLICENSEMAP[MPLv1.1] = "MPL-1.1" -SPDXLICENSEMAP[MPLv2] = "MPL-2.0" - -#MIT variations -SPDXLICENSEMAP[MIT-X] = "MIT" -SPDXLICENSEMAP[MIT-style] = "MIT" - -#Openssl variations -SPDXLICENSEMAP[openssl] = "OpenSSL" - -#Python variations -SPDXLICENSEMAP[PSF] = "Python-2.0" -SPDXLICENSEMAP[PSFv2] = "Python-2.0" -SPDXLICENSEMAP[Python-2] = "Python-2.0" - -#Apache variations -SPDXLICENSEMAP[Apachev2] = "Apache-2.0" -SPDXLICENSEMAP[Apache-2] = "Apache-2.0" - -#Artistic variations -SPDXLICENSEMAP[Artisticv1] = "Artistic-1.0" -SPDXLICENSEMAP[Artistic-1] = "Artistic-1.0" - -#Academic variations -SPDXLICENSEMAP[AFL-2] = "AFL-2.0" -SPDXLICENSEMAP[AFL-1] = "AFL-1.2" -SPDXLICENSEMAP[AFLv2] = "AFL-2.0" -SPDXLICENSEMAP[AFLv1] = "AFL-1.2" - -#Other variations -SPDXLICENSEMAP[EPLv1.0] = "EPL-1.0" - license_create_manifest() { mkdir -p ${LICENSE_DIRECTORY}/${IMAGE_NAME} # Get list of installed packages diff --git a/meta/conf/licenses.conf b/meta/conf/licenses.conf index 6ed4dfe405..3cb143c863 100644 --- a/meta/conf/licenses.conf +++ b/meta/conf/licenses.conf @@ -39,6 +39,70 @@ SRC_DISTRIBUTE_LICENSES += "SPL-1.0 SugarCRM-1 SugarCRM-1.1.3 UCB VSL-1.0 W3C" SRC_DISTRIBUTE_LICENSES += "Watcom-1.0 WXwindows XFree86-1.1 Xnet YPL-1.1" SRC_DISTRIBUTE_LICENSES += "Zimbra-1.3 Zlib ZPL-1.1 ZPL-2.0 ZPL-2.1" +# Standards are great! Everyone has their own. In an effort to standardize licensing +# names, common-licenses will use the SPDX standard license names. In order to not +# break the non-standardized license names that we find in LICENSE, we'll set +# up a bunch of VarFlags to accomodate non-SPDX license names. +# +# We should really discuss standardizing this field, but that's a longer term goal. +# For now, we can do this and it should grab the most common LICENSE naming variations. +# +# We should NEVER have a GPL/LGPL without a version!!!! +# Any mapping to MPL/LGPL/GPL should be fixed +# see: https://wiki.yoctoproject.org/wiki/License_Audit + +# GPL variations +SPDXLICENSEMAP[GPL-1] = "GPL-1.0" +SPDXLICENSEMAP[GPLv1] = "GPL-1.0" +SPDXLICENSEMAP[GPLv1.0] = "GPL-1.0" +SPDXLICENSEMAP[GPL-2] = "GPL-2.0" +SPDXLICENSEMAP[GPLv2] = "GPL-2.0" +SPDXLICENSEMAP[GPLv2.0] = "GPL-2.0" +SPDXLICENSEMAP[GPL-3] = "GPL-3.0" +SPDXLICENSEMAP[GPLv3] = "GPL-3.0" +SPDXLICENSEMAP[GPLv3.0] = "GPL-3.0" + +#LGPL variations +SPDXLICENSEMAP[LGPLv2] = "LGPL-2.0" +SPDXLICENSEMAP[LGPLv2.0] = "LGPL-2.0" +SPDXLICENSEMAP[LGPL2.1] = "LGPL-2.1" +SPDXLICENSEMAP[LGPLv2.1] = "LGPL-2.1" +SPDXLICENSEMAP[LGPLv3] = "LGPL-3.0" + +#MPL variations +SPDXLICENSEMAP[MPL-1] = "MPL-1.0" +SPDXLICENSEMAP[MPLv1] = "MPL-1.0" +SPDXLICENSEMAP[MPLv1.1] = "MPL-1.1" +SPDXLICENSEMAP[MPLv2] = "MPL-2.0" + +#MIT variations +SPDXLICENSEMAP[MIT-X] = "MIT" +SPDXLICENSEMAP[MIT-style] = "MIT" + +#Openssl variations +SPDXLICENSEMAP[openssl] = "OpenSSL" + +#Python variations +SPDXLICENSEMAP[PSF] = "Python-2.0" +SPDXLICENSEMAP[PSFv2] = "Python-2.0" +SPDXLICENSEMAP[Python-2] = "Python-2.0" + +#Apache variations +SPDXLICENSEMAP[Apachev2] = "Apache-2.0" +SPDXLICENSEMAP[Apache-2] = "Apache-2.0" + +#Artistic variations +SPDXLICENSEMAP[Artisticv1] = "Artistic-1.0" +SPDXLICENSEMAP[Artistic-1] = "Artistic-1.0" + +#Academic variations +SPDXLICENSEMAP[AFL-2] = "AFL-2.0" +SPDXLICENSEMAP[AFL-1] = "AFL-1.2" +SPDXLICENSEMAP[AFLv2] = "AFL-2.0" +SPDXLICENSEMAP[AFLv1] = "AFL-1.2" + +#Other variations +SPDXLICENSEMAP[EPLv1.0] = "EPL-1.0" # Additional license directories. Add your custom licenses directories this path. # LICENSE_PATH += "${COREBASE}/custom-licenses"