Changeset View
Changeset View
Standalone View
Standalone View
Mk/bsd.licenses.mk
Show First 20 Lines • Show All 295 Lines • ▼ Show 20 Lines | |||||
. endfor | . endfor | ||||
.else | .else | ||||
. for lic in ${_LICENSE} | . for lic in ${_LICENSE} | ||||
# Defaults to empty | # Defaults to empty | ||||
_LICENSE_GROUPS_${lic}?=# | _LICENSE_GROUPS_${lic}?=# | ||||
. if ${_LICENSE_LIST:M${lic}} != "" | . if ${_LICENSE_LIST:M${lic}} != "" | ||||
# Case 1: license defined in the framework. | # Case 1: license defined in the framework. | ||||
_LICENSE_TYPE_${lic} = known | _LICENSE_TYPE_${lic}= known | ||||
. for var in ${_LICENSE_LIST_PORT_VARS} | . for var in ${_LICENSE_LIST_PORT_VARS} | ||||
. if defined(LICENSE_${var}_${lic}) | . if defined(LICENSE_${var}_${lic}) | ||||
_LICENSE_ERROR?= redefining LICENSE_${var}_${lic} is not allowed for known licenses, to define a custom license try another LICENSE name for ${lic} like ${lic}-variant | _LICENSE_ERROR?= redefining LICENSE_${var}_${lic} is not allowed for known licenses, to define a custom license try another LICENSE name for ${lic} like ${lic}-variant | ||||
. endif | . endif | ||||
. if !defined(_LICENSE_${var}_${lic}) | . if !defined(_LICENSE_${var}_${lic}) | ||||
_LICENSE_ERROR?= ERROR: missing _LICENSE_${var}_${lic} in bsd.licenses.db.mk | _LICENSE_ERROR?= ERROR: missing _LICENSE_${var}_${lic} in bsd.licenses.db.mk | ||||
. endif | . endif | ||||
. endfor | . endfor | ||||
# Check for LICENSE_FILE or at least LICENSE_TEXT (which simulates it) | # Check for LICENSE_FILE or at least LICENSE_TEXT (which simulates it) | ||||
. if !defined(LICENSE_FILE_${lic}) | . if !defined(LICENSE_FILE_${lic}) | ||||
. if !defined(LICENSE_TEXT_${lic}) | . if !defined(LICENSE_TEXT_${lic}) | ||||
. if exists(${_LICENSE_STORE}/${lic}) | . if exists(${_LICENSE_STORE}/${lic}) | ||||
_LICENSE_FILE_${lic} = ${_LICENSE_STORE}/${lic} | _LICENSE_FILE_${lic}= ${_LICENSE_STORE}/${lic} | ||||
. else | . else | ||||
# No license file in /usr/ports/Templates/Licenses | # No license file in /usr/ports/Templates/Licenses | ||||
_LICENSE_TEXT_${lic} = The license: ${lic} (${_LICENSE_NAME_${lic}}) is standard, please read from the web. | _LICENSE_TEXT_${lic}= The license: ${lic} (${_LICENSE_NAME_${lic}}) is standard, please read from the web. | ||||
_LICENSE_FILE_${lic} = ${WRKDIR}/${lic} | _LICENSE_FILE_${lic}= ${WRKDIR}/${lic} | ||||
. endif | . endif | ||||
. else | . else | ||||
_LICENSE_ERROR?= defining LICENSE_TEXT_${lic} is not allowed for known licenses | _LICENSE_ERROR?= defining LICENSE_TEXT_${lic} is not allowed for known licenses | ||||
. endif | . endif | ||||
. else | . else | ||||
_LICENSE_FILE_${lic} = ${LICENSE_FILE_${lic}} | _LICENSE_FILE_${lic}= ${LICENSE_FILE_${lic}} | ||||
. endif | . endif | ||||
. else | . else | ||||
# Case 2: license only known by the port. | # Case 2: license only known by the port. | ||||
_LICENSE_TYPE_${lic} = unknown | _LICENSE_TYPE_${lic}= unknown | ||||
. for var in ${_LICENSE_LIST_PORT_VARS} | . for var in ${_LICENSE_LIST_PORT_VARS} | ||||
. if defined(LICENSE_${var}_${lic}) | . if defined(LICENSE_${var}_${lic}) | ||||
_LICENSE_${var}_${lic} = ${LICENSE_${var}_${lic}} | _LICENSE_${var}_${lic}= ${LICENSE_${var}_${lic}} | ||||
. elif !defined(_LICENSE_${var}_${lic}) | . elif !defined(_LICENSE_${var}_${lic}) | ||||
_LICENSE_ERROR?= for unknown licenses, defining LICENSE_${var}_${lic} is mandatory (otherwise use a known LICENSE) | _LICENSE_ERROR?= for unknown licenses, defining LICENSE_${var}_${lic} is mandatory (otherwise use a known LICENSE) | ||||
. endif | . endif | ||||
. endfor | . endfor | ||||
# Check LICENSE_PERMS for invalid, ambiguous and duplicate components | # Check LICENSE_PERMS for invalid, ambiguous and duplicate components | ||||
__LICENSE_PERMS:= # | __LICENSE_PERMS:= # | ||||
. for comp in ${_LICENSE_PERMS_${lic}} | . for comp in ${_LICENSE_PERMS_${lic}} | ||||
. if ${_LICENSE_LIST_PERMS:M${comp:C/^no-//}} == "" | . if ${_LICENSE_LIST_PERMS:M${comp:C/^no-//}} == "" | ||||
_LICENSE_ERROR?= invalid LICENSE_PERMS_${var} component "${comp}" | _LICENSE_ERROR?= invalid LICENSE_PERMS_${var} component "${comp}" | ||||
. elif ${__LICENSE_PERMS:M${comp}} == "" && \ | . elif ${__LICENSE_PERMS:M${comp}} == "" && \ | ||||
${_LICENSE_PERMS_${lic}:Mno-${comp:C/^no-//}} == "" | ${_LICENSE_PERMS_${lic}:Mno-${comp:C/^no-//}} == "" | ||||
__LICENSE_PERMS+= ${comp} | __LICENSE_PERMS+= ${comp} | ||||
. endif | . endif | ||||
. endfor | . endfor | ||||
_LICENSE_PERMS_${lic}:= ${__LICENSE_PERMS} | _LICENSE_PERMS_${lic}:= ${__LICENSE_PERMS} | ||||
. undef __LICENSE_PERMS | . undef __LICENSE_PERMS | ||||
# Check for LICENSE_FILE or at least LICENSE_TEXT (which simulates it) | # Check for LICENSE_FILE or at least LICENSE_TEXT (which simulates it) | ||||
. if !defined(LICENSE_FILE_${lic}) | . if !defined(LICENSE_FILE_${lic}) | ||||
. if !defined(LICENSE_TEXT_${lic}) | . if !defined(LICENSE_TEXT_${lic}) | ||||
_LICENSE_ERROR?= either LICENSE_FILE_${lic} or LICENSE_TEXT_${lic} must be defined | _LICENSE_ERROR?= either LICENSE_FILE_${lic} or LICENSE_TEXT_${lic} must be defined | ||||
. else | . else | ||||
_LICENSE_TEXT_${lic} = ${LICENSE_TEXT_${lic}} | _LICENSE_TEXT_${lic}= ${LICENSE_TEXT_${lic}} | ||||
_LICENSE_FILE_${lic} = ${WRKDIR}/${lic} | _LICENSE_FILE_${lic}= ${WRKDIR}/${lic} | ||||
. endif | . endif | ||||
. else | . else | ||||
_LICENSE_FILE_${lic} = ${LICENSE_FILE_${lic}} | _LICENSE_FILE_${lic}= ${LICENSE_FILE_${lic}} | ||||
. endif | . endif | ||||
. endif | . endif | ||||
# Only one is allowed | # Only one is allowed | ||||
. if defined(LICENSE_FILE_${lic}) && defined(LICENSE_TEXT_${lic}) | . if defined(LICENSE_FILE_${lic}) && defined(LICENSE_TEXT_${lic}) | ||||
_LICENSE_ERROR?= defining both LICENSE_FILE_${lic} and LICENSE_TEXT_${lic}is not allowed | _LICENSE_ERROR?= defining both LICENSE_FILE_${lic} and LICENSE_TEXT_${lic}is not allowed | ||||
. endif | . endif | ||||
# Distfiles | # Distfiles | ||||
. if !defined(LICENSE_DISTFILES_${lic}) | . if !defined(LICENSE_DISTFILES_${lic}) | ||||
_LICENSE_DISTFILES_${lic} = ${_DISTFILES} | _LICENSE_DISTFILES_${lic}= ${_DISTFILES} | ||||
. else | . else | ||||
_LICENSE_DISTFILES_${lic} = ${LICENSE_DISTFILES_${lic}} | _LICENSE_DISTFILES_${lic}= ${LICENSE_DISTFILES_${lic}} | ||||
. endif | . endif | ||||
. endfor | . endfor | ||||
.endif | .endif | ||||
# Check if the user agrees with the license | # Check if the user agrees with the license | ||||
# Make sure these are defined | # Make sure these are defined | ||||
▲ Show 20 Lines • Show All 329 Lines • ▼ Show 20 Lines | |||||
. for var in _LICENSE _LICENSE_COMB _LICENSE_NAME _LICENSE_PERMS _LICENSE_GROUPS | . for var in _LICENSE _LICENSE_COMB _LICENSE_NAME _LICENSE_PERMS _LICENSE_GROUPS | ||||
@${ECHO_CMD} "${var}=${${var}:C/^[[:blank:]]*//}" >> ${_LICENSE_CATALOG_TMP} | @${ECHO_CMD} "${var}=${${var}:C/^[[:blank:]]*//}" >> ${_LICENSE_CATALOG_TMP} | ||||
. endfor | . endfor | ||||
. if ${_LICENSE_COMB} == "dual" && ${_LICENSE_STATUS} == "ask" | . if ${_LICENSE_COMB} == "dual" && ${_LICENSE_STATUS} == "ask" | ||||
@${SED} -e 's/^/_LICENSE_SELECTED=/' ${_LICENSE_COOKIE} >> ${_LICENSE_CATALOG_TMP} | @${SED} -e 's/^/_LICENSE_SELECTED=/' ${_LICENSE_COOKIE} >> ${_LICENSE_CATALOG_TMP} | ||||
. endif | . endif | ||||
. for lic in ${_LICENSE} | . for lic in ${_LICENSE} | ||||
. for var in NAME PERMS GROUPS DISTFILES | . for var in NAME PERMS GROUPS DISTFILES | ||||
@${ECHO_CMD} "_LICENSE_${var}_${lic} =${_LICENSE_${var}_${lic}:C/^[[:blank:]]*//}" >> ${_LICENSE_CATALOG_TMP} | @${ECHO_CMD} "_LICENSE_${var}_${lic}=${_LICENSE_${var}_${lic}:C/^[[:blank:]]*//}" >> ${_LICENSE_CATALOG_TMP} | ||||
AMDmi3: This one is prone to += problem. | |||||
. endfor | . endfor | ||||
. endfor | . endfor | ||||
# Report | # Report | ||||
. if ${_LICENSE_COMB} == "dual" | . if ${_LICENSE_COMB} == "dual" | ||||
@${ECHO_CMD} "This package has dual licenses (any of):" >> ${_LICENSE_REPORT_TMP} | @${ECHO_CMD} "This package has dual licenses (any of):" >> ${_LICENSE_REPORT_TMP} | ||||
. elif ${_LICENSE_COMB} == "multi" | . elif ${_LICENSE_COMB} == "multi" | ||||
@${ECHO_CMD} "This package has multiple licenses (all of):" >> ${_LICENSE_REPORT_TMP} | @${ECHO_CMD} "This package has multiple licenses (all of):" >> ${_LICENSE_REPORT_TMP} | ||||
. endif | . endif | ||||
▲ Show 20 Lines • Show All 48 Lines • Show Last 20 Lines |
This one is prone to += problem.