# 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 accommodate 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

# AGPL variations
SPDXLICENSEMAP[AGPL-3] = "AGPL-3.0-only"
SPDXLICENSEMAP[AGPL-3+] = "AGPL-3.0-or-later"
SPDXLICENSEMAP[AGPLv3] = "AGPL-3.0-only"
SPDXLICENSEMAP[AGPLv3+] = "AGPL-3.0-or-later"
SPDXLICENSEMAP[AGPLv3.0] = "AGPL-3.0-only"
SPDXLICENSEMAP[AGPLv3.0+] = "AGPL-3.0-or-later"
SPDXLICENSEMAP[AGPL-3.0] = "AGPL-3.0-only"
SPDXLICENSEMAP[AGPL-3.0+] = "AGPL-3.0-or-later"

# BSD variations
SPDXLICENSEMAP[BSD-0-Clause] = "0BSD"

# GPL variations
SPDXLICENSEMAP[GPL-1] = "GPL-1.0-only"
SPDXLICENSEMAP[GPL-1+] = "GPL-1.0-or-later"
SPDXLICENSEMAP[GPLv1] = "GPL-1.0-only"
SPDXLICENSEMAP[GPLv1+] = "GPL-1.0-or-later"
SPDXLICENSEMAP[GPLv1.0] = "GPL-1.0-only"
SPDXLICENSEMAP[GPLv1.0+] = "GPL-1.0-or-later"
SPDXLICENSEMAP[GPL-1.0] = "GPL-1.0-only"
SPDXLICENSEMAP[GPL-1.0+] = "GPL-1.0-or-later"
SPDXLICENSEMAP[GPL-2] = "GPL-2.0-only"
SPDXLICENSEMAP[GPL-2+] = "GPL-2.0-or-later"
SPDXLICENSEMAP[GPLv2] = "GPL-2.0-only"
SPDXLICENSEMAP[GPLv2+] = "GPL-2.0-or-later"
SPDXLICENSEMAP[GPLv2.0] = "GPL-2.0-only"
SPDXLICENSEMAP[GPLv2.0+] = "GPL-2.0-or-later"
SPDXLICENSEMAP[GPL-2.0] = "GPL-2.0-only"
SPDXLICENSEMAP[GPL-2.0+] = "GPL-2.0-or-later"
SPDXLICENSEMAP[GPL-3] = "GPL-3.0-only"
SPDXLICENSEMAP[GPL-3+] = "GPL-3.0-or-later"
SPDXLICENSEMAP[GPLv3] = "GPL-3.0-only"
SPDXLICENSEMAP[GPLv3+] = "GPL-3.0-or-later"
SPDXLICENSEMAP[GPLv3.0] = "GPL-3.0-only"
SPDXLICENSEMAP[GPLv3.0+] = "GPL-3.0-or-later"
SPDXLICENSEMAP[GPL-3.0] = "GPL-3.0-only"
SPDXLICENSEMAP[GPL-3.0+] = "GPL-3.0-or-later"

# LGPL variations
SPDXLICENSEMAP[LGPLv2] = "LGPL-2.0-only"
SPDXLICENSEMAP[LGPLv2+] = "LGPL-2.0-or-later"
SPDXLICENSEMAP[LGPLv2.0] = "LGPL-2.0-only"
SPDXLICENSEMAP[LGPLv2.0+] = "LGPL-2.0-or-later"
SPDXLICENSEMAP[LGPL-2.0] = "LGPL-2.0-only"
SPDXLICENSEMAP[LGPL-2.0+] = "LGPL-2.0-or-later"
SPDXLICENSEMAP[LGPL2.1] = "LGPL-2.1-only"
SPDXLICENSEMAP[LGPL2.1+] = "LGPL-2.1-or-later"
SPDXLICENSEMAP[LGPLv2.1] = "LGPL-2.1-only"
SPDXLICENSEMAP[LGPLv2.1+] = "LGPL-2.1-or-later"
SPDXLICENSEMAP[LGPL-2.1] = "LGPL-2.1-only"
SPDXLICENSEMAP[LGPL-2.1+] = "LGPL-2.1-or-later"
SPDXLICENSEMAP[LGPLv3] = "LGPL-3.0-only"
SPDXLICENSEMAP[LGPLv3+] = "LGPL-3.0-or-later"
SPDXLICENSEMAP[LGPL-3.0] = "LGPL-3.0-only"
SPDXLICENSEMAP[LGPL-3.0+] = "LGPL-3.0-or-later"

# 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"

# PSF variations
SPDXLICENSEMAP[PSF] = "PSF-2.0"
SPDXLICENSEMAP[PSFv2] = "PSF-2.0"

# Python variations
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"

# CDDL variations
SPDXLICENSEMAP[CDDLv1] = "CDDL-1.0"
SPDXLICENSEMAP[CDDL-1] = "CDDL-1.0"

# Other variations
SPDXLICENSEMAP[EPLv1.0] = "EPL-1.0"
SPDXLICENSEMAP[FreeType] = "FTL"
SPDXLICENSEMAP[Nauman] = "Naumen"
SPDXLICENSEMAP[tcl] = "TCL"
SPDXLICENSEMAP[vim] = "Vim"

# Silicon Graphics variations
SPDXLICENSEMAP[SGIv1] = "SGI-1"

# Additional license directories. Add your custom licenses directories this path.
# LICENSE_PATH += "${COREBASE}/custom-licenses"

# Set if you want the license.manifest copied to the image
#COPY_LIC_MANIFEST = "1"

# If you want the pkg licenses copied over as well you must set
# both COPY_LIC_MANIFEST and COPY_LIC_DIRS
#COPY_LIC_DIRS = "1"

## SPDX temporary directory
SPDX_TEMP_DIR = "${WORKDIR}/spdx_temp"
SPDX_MANIFEST_DIR = "/home/yocto/fossology_scans"

## SPDX Format info
SPDX_VERSION = "SPDX-1.1"
DATA_LICENSE = "CC0-1.0"

## Fossology scan information
# You can set option to control if the copyright information will be skipped
# during the identification process.
#
# FOSS_NO_COPYRIGHT = "true"
#   NO copyright will be processed. That means only license information will be
#   identified and output to SPDX file
# FOSS_NO_COPYRIGHT = "false"
#   Copyright will be identified and output to SPDX file along with license
#   information. The process will take more time than not processing copyright
#   information.
#

FOSS_NO_COPYRIGHT = "true"

# A option defined as[FOSS_RECURSIVE_UNPACK] in ./meta/conf/licenses.conf. is
# used to control if FOSSology server need recursively unpack tar.gz file which
# is sent from do_spdx task.
#
# FOSS_RECURSIVE_UNPACK = "false":
#    FOSSology server does NOT recursively unpack. In the current release, this
#    is the default choice because recursively unpack will not necessarily break
#    down original compressed files.
# FOSS_RECURSIVE_UNPACK = "true":
#    FOSSology server recursively unpack components.
#

FOSS_RECURSIVE_UNPACK = "false"

# An option defined as [FOSS_FULL_SPDX] in ./meta/conf/licenses.conf is used to
# control what kind of SPDX output to get from the FOSSology server.
#
# FOSS_FULL_SPDX = "true":
#   Tell FOSSology server to return full SPDX output, like if the program was
#   run from the command line. This is needed in order to get license refs for
#   the full package rather than individual files only.
#
# FOSS_FULL_SPDX = "false":
#   Tell FOSSology to only process license information for files. All package
#   license tags in the report will be "NOASSERTION"
#

FOSS_FULL_SPDX = "true"

# FOSSologySPDX instance server. http://localhost/repo is the default
# installation location for FOSSology.
#
# For more information on FOSSologySPDX commandline:
#   https://github.com/spdx-tools/fossology-spdx/wiki/Fossology-SPDX-Web-API
#

FOSS_BASE_URL = "http://localhost/repo/?mod=spdx_license_once"
FOSS_SERVER = "${FOSS_BASE_URL}&fullSPDXFlag=${FOSS_FULL_SPDX}&noCopyright=${FOSS_NO_COPYRIGHT}&recursiveUnpack=${FOSS_RECURSIVE_UNPACK}"

FOSS_WGET_FLAGS = "-qO - --no-check-certificate --timeout=0"
