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

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

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