From 688830e9f0d3054f1d10f93eb0dcf77d01af53ad Mon Sep 17 00:00:00 2001 From: Alexei Colin Date: Thu, 11 Jun 2020 00:51:57 +0000 Subject: [PATCH] pms: profiles: package.accept_keywords and .keywords Adapted from Portage man page: https://dev.gentoo.org/~zmedico/portage/doc/man/portage.5.html --- profiles.tex | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/profiles.tex b/profiles.tex index 76c9278..45d02fe 100644 --- a/profiles.tex +++ b/profiles.tex @@ -104,6 +104,31 @@ The \t{packages.build} file is used by Gentoo's Catalyst tool to generate stage1 no relevance to the operation of a package manager. It is thus outside the scope of this document, but is mentioned here for completeness. +\subsection{package.accept\_keywords} +An ebuild recipe for a Gentoo package defines the status of the package on +different architectures (stable, testing, or unsupported) by a list of +keywords. Each keyword is a architecture identifier, optionally prefixed +by \t{~} to indicate testing status (e.g. \t{amd64} or \t{~amd64}). The package +manager considers only ebuilds whose status satisfies the constraints in the +\t{package.accept\_keywords} file in the profile (unless overridden +system-wide). A constraint is a list of acceptable keywords with wildcards that +are matched against the keyword list in the ebuild. + +Each line of the file begins with the full package name and specifies the +constraints for that one package. The supported wildcard keywords are: \t{*} +matches the stable ebuilds, \t{~*} matches the ebuilds in testing, and \t{**} +matches any ebuild unconditionally. + +In some EAPIs, \t{package.accept\_keywords} can be a directory instead of a +regular file as per section~\ref{sec:line-stacking}. + +\subsection{package.keywords} +The \t{package.keywords} file can alter the status keywords declared by +the ebuilds in the profile. Each line of the file begins with the full +package name followed by a list of keywords to add, keywords for +stable architectures prefixed with \t{-} to remove, or a wildcard \t{-*} +that removes all keywords from the package. + \subsection{package.mask} \t{package.mask} is used to prevent packages from being installed on a given profile. Each line contains one package dependency specification; anything matching this specification will not be -- 2.27.0