summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '_sources/other-metadata.rst.txt')
-rw-r--r--_sources/other-metadata.rst.txt53
1 files changed, 53 insertions, 0 deletions
diff --git a/_sources/other-metadata.rst.txt b/_sources/other-metadata.rst.txt
index f05014b..c59e0c2 100644
--- a/_sources/other-metadata.rst.txt
+++ b/_sources/other-metadata.rst.txt
@@ -6,6 +6,7 @@ Other metadata variables
Dynamic slots (multislot flag)
------------------------------
+:PG: 0701
:Source: QA (inferred from PMS)
:Reference: https://wiki.gentoo.org/index.php?title=Project:Quality_Assurance/Policies&oldid=109991#multislot.2FUSE-dependent_SLOT
:Reported: ``use`` in global scope triggers fatal error
@@ -42,6 +43,7 @@ invalidation or explicit errors.
HOMEPAGE value must be meaningful
---------------------------------
+:PG: 0702
:Source: QA
:Reference: https://archives.gentoo.org/gentoo-dev/message/83cc5bbd7bbe8bdf04dd3c3bc7f8a035
:Reported: known bad values are reported by pkgcheck
@@ -69,6 +71,7 @@ easy to identify such packages.
RESTRICT=test for USE=-test
---------------------------
+:PG: 0703
:Source: QA
:Reported: by pkgcheck
@@ -94,4 +97,54 @@ this circumstance, and they will not fail for users.
common, and there is little harm in overspecifying it.
+.. index:: license
+
+LICENSE
+-------
+:PG: 0704
+:Source: QA
+:Reported: no
+
+The ``LICENSE`` variable must explicitly list licenses for all files
+installed by the package. If some of the applicable licenses are
+conditional to USE flags, appropriate USE conditionals need to
+be expressed in the variable.
+
+If a package bundles any dependencies that are either installed,
+statically linked or in any other way combined with installed files,
+the licenses of these dependencies need to be listed as well. This
+is not presently required when statically linking to dependencies
+installed by separate packages in the repository.
+
+The licenses for files that are not installed but that are used at build
+time are not listed explicitly.
+
+*Rationale*: the primary purpose of the license support in the package
+manager is to provide the users with ability to decide on acceptable
+licenses for their installed systems (and binary packages). In order
+for this to work effectively, the packages must provide a correct
+and complete license list.
+
+Static linking combines code from multiple packages, potentially covered
+by different licenses. Listing all licenses is the simplest way
+of ensuring that nothing is missed, as well as protecting against wrong
+derivative work licenses stated upstream (i.e. when a less restrictively
+licensed package links to a more restrictively licensed dependency).
+
+Listing of licenses is enforced for bundled dependencies but not for
+static linking to other packages, as in the latter case it is
+non-trivial to implement and the package manager already verifies
+the license while building dependencies (but not when installing binary
+packages).
+
+The ebuild format does not provide a separate variable to list licenses
+needed only at build time. So far it has not been considered important
+enough to have one, as the relevant files exist only temporarily
+on the user's system and do not affect the runtime use of packages.
+
+.. Note::
+ Please remember to include the licenses of support files provided
+ by the ebuild, e.g. init.d scripts (usually GPL-2).
+
+
.. _metadata invariance: https://projects.gentoo.org/pms/7/pms.html#x1-600007.1