2007-08-22 18:29:15 +02:00
|
|
|
# $NetBSD: license.mk,v 1.8 2007/08/22 16:29:15 gdt Exp $
|
2007-07-03 07:08:12 +02:00
|
|
|
#
|
|
|
|
# Note: This file is in draft state and not yet actively used.
|
|
|
|
#
|
|
|
|
# This file handles everything about the LICENSE variable. It is
|
|
|
|
# included automatically by bsd.pkg.mk.
|
|
|
|
#
|
2007-07-05 20:16:47 +02:00
|
|
|
# XXX: Some of this content arguably belongs in the pkgsrc guide
|
|
|
|
# instead.
|
|
|
|
#
|
2007-07-03 07:08:12 +02:00
|
|
|
# === User-settable variables ===
|
|
|
|
#
|
|
|
|
# ACCEPTABLE_LICENSES
|
2007-07-05 20:16:47 +02:00
|
|
|
# If a package declares a license and that license is not a
|
|
|
|
# member of the list defined by this variable, pkgsrc will
|
|
|
|
# refuse to build the package.
|
|
|
|
#
|
|
|
|
# XXX: pkg_install should also check LICENSE and decline to
|
|
|
|
# install if it is not in ACCEPTABLE_LICENSES.
|
2007-07-03 07:08:12 +02:00
|
|
|
#
|
2007-07-05 20:16:47 +02:00
|
|
|
# XXX: Perhaps there should be some mechanism to prevent running
|
|
|
|
# programs that are part of packages that declare LICENSEs that
|
|
|
|
# are not in ACCEPTABLE_LICENSES or some per-user variable.
|
|
|
|
# This is surely controversial and requires discussion.
|
2007-07-03 07:08:12 +02:00
|
|
|
#
|
2007-07-06 03:22:40 +02:00
|
|
|
# To include the default licenses, you can use the += operator
|
|
|
|
# in mk.conf. To override it, use the plain = operator.
|
|
|
|
#
|
|
|
|
# Default value: ${DEFAULT_ACCEPTABLE_LICENSES}
|
|
|
|
#
|
2007-07-03 07:08:12 +02:00
|
|
|
# === Package-settable variables ===
|
|
|
|
#
|
|
|
|
# LICENSE
|
|
|
|
# The license of the package.
|
|
|
|
#
|
|
|
|
# When the package has multiple licenses, there are many different
|
|
|
|
# cases. Some packages use an OR-combination, while others use an
|
|
|
|
# AND-combination. Currently, pkgsrc can only handle a single
|
|
|
|
# license per package. For now, add a description of the licensing
|
2007-07-05 20:16:47 +02:00
|
|
|
# to ../doc/TODO, section "Licenses of packages". Note that in
|
2007-07-06 03:22:40 +02:00
|
|
|
# such cases, one can place the text of both licenses in
|
2007-07-05 20:16:47 +02:00
|
|
|
# licenses/foo-license and reference it.
|
2007-07-03 07:08:12 +02:00
|
|
|
#
|
2007-07-05 20:16:47 +02:00
|
|
|
# Every package should specify its license. (Prior to July 2007,
|
|
|
|
# Open Source and Free software did not have license tags.)
|
2007-07-03 07:08:12 +02:00
|
|
|
#
|
2007-07-20 15:05:28 +02:00
|
|
|
# Licenses are collected in the licenses/ subdirectory of
|
|
|
|
# pkgsrc. For open source license, we generally use the same
|
|
|
|
# names as either the Open Source Initiative or the Free
|
|
|
|
# Software Foundation, choosing a name to reduce confusion.
|
|
|
|
# Open source and free licenses do not have a -license suffix,
|
|
|
|
# and non-free licenses do.
|
2007-07-03 07:08:12 +02:00
|
|
|
#
|
2007-07-20 15:05:28 +02:00
|
|
|
# http://opensource.org/licenses/category
|
|
|
|
# http://www.fsf.org/licensing/licenses/index_html
|
2007-07-03 07:08:12 +02:00
|
|
|
#
|
|
|
|
# === Predefined variables ===
|
|
|
|
#
|
|
|
|
# DEFAULT_ACCEPTABLE_LICENSES
|
2007-08-22 18:29:15 +02:00
|
|
|
# The list of licenses that will be the default value of
|
|
|
|
# ACCEPTABLE_LICENSES. Adapting the longstanding policy of Open
|
|
|
|
# Source or Free licenses not requiring tags, it should contain
|
|
|
|
# all licenses that are Open Source or Free, so as to provide
|
|
|
|
# the most expansive default that almost all people find
|
|
|
|
# acceptable. (Many people will want to add more licenses to
|
|
|
|
# ACCEPTABLE_LICENSES; the point is to have a default that very
|
|
|
|
# few people want to shrink.)
|
2007-07-05 20:16:47 +02:00
|
|
|
#
|
2007-07-03 07:08:12 +02:00
|
|
|
# === See also ===
|
|
|
|
#
|
|
|
|
# ../doc/TODO, section "Licenses of packages"
|
|
|
|
#
|
|
|
|
|
2007-07-20 15:05:28 +02:00
|
|
|
# This list is not complete. Free and Open Source licenses should be
|
|
|
|
# added to the list as they are added to pkgsrc.
|
|
|
|
|
2007-08-22 18:29:15 +02:00
|
|
|
# XXX Surely we will encounter licenses that clearly are Free, but
|
|
|
|
# which have not been formally approved. These licenses, if added,
|
|
|
|
# should be somehow marked.
|
|
|
|
|
2007-07-20 15:05:28 +02:00
|
|
|
DEFAULT_ACCEPTABLE_LICENSES= \
|
|
|
|
public-domain \
|
|
|
|
gnu-gpl-v2 gnu-lgpl-v2 \
|
2007-08-22 18:29:15 +02:00
|
|
|
gnu-gpl-v3 gnu-lgpl-v3 \
|
2007-07-20 15:05:28 +02:00
|
|
|
original-bsd modified-bsd \
|
|
|
|
x11 \
|
|
|
|
apache-2.0 \
|
|
|
|
cddl-1.0
|
2007-07-20 16:21:26 +02:00
|
|
|
|
|
|
|
.if !defined(LICENSE)
|
|
|
|
. if defined(AFTER_2007Q3)
|
|
|
|
LICENSE?= unknown
|
|
|
|
PKG_FAIL_REASON+= "[license.mk] Every package must define a LICENSE."
|
|
|
|
. else
|
|
|
|
WARNINGS+= "[license.mk] Every package should define a LICENSE."
|
|
|
|
. endif
|
|
|
|
|
|
|
|
.else
|
|
|
|
|
2007-08-14 09:54:22 +02:00
|
|
|
# Note: some bulk builders rely on the fact that they can set
|
2007-08-14 17:23:53 +02:00
|
|
|
# _ACCEPTABLE to bypass license checks. Inform them when you intend to
|
2007-08-14 09:54:22 +02:00
|
|
|
# remove this variable.
|
2007-07-20 16:21:26 +02:00
|
|
|
. if defined(ACCEPTABLE_LICENSES) && !empty(ACCEPTABLE_LICENSES:M${LICENSE})
|
|
|
|
_ACCEPTABLE= yes
|
|
|
|
. endif
|
|
|
|
|
|
|
|
. if !defined(_ACCEPTABLE)
|
|
|
|
PKG_FAIL_REASON+= "${PKGNAME} has an unacceptable license: ${LICENSE}." \
|
|
|
|
" To view the license, enter \"${MAKE} show-license\"." \
|
|
|
|
" To indicate acceptance, add this line to your mk.conf:" \
|
|
|
|
" ACCEPTABLE_LICENSES+=${LICENSE}"
|
|
|
|
. endif
|
|
|
|
.endif
|