# 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"
SPDXLICENSEMAP[AGPLv3] = "AGPL-3.0"
SPDXLICENSEMAP[AGPLv3.0] = "AGPL-3.0"

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

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

#Other variations
SPDXLICENSEMAP[EPLv1.0] = "EPL-1.0"

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