From 8e51d2fabf1968d03bc6a79fc43f0b2d35e7ec16 Mon Sep 17 00:00:00 2001 From: Michał Górny Date: Wed, 22 Jan 2020 04:13:30 +0100 Subject: Update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 18417ff index: Display full TOC c674d07 other-metadata: RESTRICT="!test? ( test )" 5d3972d other-metadata: meaningful homepage policy Signed-off-by: Michał Górny --- _sources/other-metadata.rst.txt | 58 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to '_sources/other-metadata.rst.txt') diff --git a/_sources/other-metadata.rst.txt b/_sources/other-metadata.rst.txt index ca3759a..f05014b 100644 --- a/_sources/other-metadata.rst.txt +++ b/_sources/other-metadata.rst.txt @@ -36,4 +36,62 @@ manager behavior which could include use of unpredictable slot, cache invalidation or explicit errors. +.. index:: + single: homepage; meaningful value + pair: homepage; gentoo.org + +HOMEPAGE value must be meaningful +--------------------------------- +:Source: QA +:Reference: https://archives.gentoo.org/gentoo-dev/message/83cc5bbd7bbe8bdf04dd3c3bc7f8a035 +:Reported: known bad values are reported by pkgcheck + +The HOMEPAGE specified for the package should either be dedicated +to the package in question or make it easy to find dedicated +information. Packages must not use ``https://www.gentoo.org/`` +or a similar generic homepage. If no homepage is available, the special +value of ``https://wiki.gentoo.org/wiki/No_homepage`` must be used. + +*Rationale*: The homepage specified in ebuilds is normally used to +locate information about the upstream project, e.g. downloads, source +code repository, bug tracker, documentation. Homepages that make it +hard to locate information about a specific project have little value, +and the Gentoo homepage generally does not do a good job at linking even +major Gentoo projects. Furthermore, many of the projects did not even +have a single dedicated subpage anywhere in Gentoo web space. In all +those cases, using the explicit No_homepage marker at least makes it +easy to identify such packages. + + +.. index:: + single: restrict; test; USE=-test + single: USE flags; test; restrict + +RESTRICT=test for USE=-test +--------------------------- +:Source: QA +:Reported: by pkgcheck + +Whenever the package uses ``test`` flag to control test prerequisites +(or another flag with a similar purpose), it must explicitly restrict +tests when the flag is unset. + +*Example*:: + + IUSE="test" + RESTRICT="!test? ( test )" + +*Rationale*: contrary to common assumption, ``test`` flag is not special +and the package manager can execute tests when the flag is disabled. +The explicit restriction guarantees that tests will be skipped under +this circumstance, and they will not fail for users. + +.. Note:: + Technically there are packages that do not strictly require this + restriction since they handle missing test prerequisites gracefully + (e.g. by skipping the tests). However, we enforce the rule for all + packages since omitting the restriction by mistake is much more + common, and there is little harm in overspecifying it. + + .. _metadata invariance: https://projects.gentoo.org/pms/7/pms.html#x1-600007.1 -- cgit v1.2.3-65-gdbad