From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 81A081580EB for ; Sun, 25 May 2025 16:47:14 +0000 (UTC) Received: from lists.gentoo.org (bobolink.gentoo.org [140.211.166.189]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) (Authenticated sender: relay-lists.gentoo.org@gentoo.org) by smtp.gentoo.org (Postfix) with ESMTPSA id 6EE7F343128 for ; Sun, 25 May 2025 16:47:14 +0000 (UTC) Received: from bobolink.gentoo.org (localhost [127.0.0.1]) by bobolink.gentoo.org (Postfix) with ESMTP id 7A3931104B8; Sun, 25 May 2025 16:46:52 +0000 (UTC) Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by bobolink.gentoo.org (Postfix) with ESMTPS id 7598F1104B7 for ; Sun, 25 May 2025 16:46:52 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 326BB3430B6 for ; Sun, 25 May 2025 16:46:52 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 1A8E028C7 for ; Sun, 25 May 2025 16:46:50 +0000 (UTC) From: "Ulrich Müller" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ulrich Müller" Message-ID: <1748191577.729a6bda7b298d14f6d26638d0610aac43ea2317.ulm@gentoo> Subject: [gentoo-commits] proj/pms:eapi-9 commit in: / X-VCS-Repository: proj/pms X-VCS-Files: eapi-differences.tex profiles.tex X-VCS-Directories: / X-VCS-Committer: ulm X-VCS-Committer-Name: Ulrich Müller X-VCS-Revision: 729a6bda7b298d14f6d26638d0610aac43ea2317 X-VCS-Branch: eapi-9 Date: Sun, 25 May 2025 16:46:50 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: ab8bd356-2fee-4564-a254-b81e195e4e9c X-Archives-Hash: 303e91316b7a1c5f14b8b6fe32c5ff96 commit: 729a6bda7b298d14f6d26638d0610aac43ea2317 Author: Ulrich Müller gentoo org> AuthorDate: Sat May 17 06:33:24 2025 +0000 Commit: Ulrich Müller gentoo org> CommitDate: Sun May 25 16:46:17 2025 +0000 URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=729a6bda EAPI 9 has use.stable and package.use.stable Bug: https://bugs.gentoo.org/955833 Signed-off-by: Ulrich Müller gentoo.org> eapi-differences.tex | 7 +++++++ profiles.tex | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+) diff --git a/eapi-differences.tex b/eapi-differences.tex index 0134657..1099a5c 100644 --- a/eapi-differences.tex +++ b/eapi-differences.tex @@ -41,6 +41,12 @@ Profile files as directories & \compactfeatureref{profile-file-dirs} & \t{package.provided} & \compactfeatureref{package-provided} & Optional & No & No & No \\ +\t{use.stable} & \compactfeatureref{use-stable} & + No & No & No & Yes \\ + +\t{package.use.stable} & \compactfeatureref{use-stable} & + No & No & No & Yes \\ + Bash version & \compactfeatureref{bash-version} & 4.2 & 4.2 & 5.0 & 5.2 \\ @@ -378,6 +384,7 @@ EAPI 9 is EAPI 8 with the following changes: \begin{compactitem} \item Bash version is 5.2, \featureref{bash-version}. \item Different default EAPI for profiles, \featureref{profile-eapi-default}. +\item \t{use.stable} and \t{package.use.stable}, \featureref{use-stable}. \item Variables no longer exported, \featureref{export-vars}. \item \t{assert} banned, \featureref{banned-commands}. \item \t{domo} banned, \featureref{banned-commands}. diff --git a/profiles.tex b/profiles.tex index d814c31..43b8763 100644 --- a/profiles.tex +++ b/profiles.tex @@ -165,6 +165,40 @@ specification, and then a space delimited list of USE flags to enable. A USE fla specification is limited to the forms defined by the directory's EAPI\@. In some EAPIs, \t{package.use} can be a directory instead of a regular file as per section~\ref{sec:line-stacking}. +\subsection{use.stable and package.use.stable} +\featurelabel{use-stable} The \t{use.stable} and \t{package.use.stable} files may be used to +override the default USE flags specified by \t{make.defaults}. They only apply to packages that +are merged due to a stable keyword in the sense of section~\ref{sec:keywords}. Each line in +\t{use.stable} contains a USE flag to enable; the \t{-flag} syntax indicates that the flag should +be disabled. The \t{package.use.stable} file uses the same format as \t{package.use}. +\t{USE_EXPAND} values may be enabled or disabled by using \t{expand_name_value}. + +Stable restrictions are applied exactly when the following condition holds: If every stable keyword +in \t{KEYWORDS} were replaced with its tilde-prefixed counterpart (see section~\ref{sec:keywords}), +then the resulting \t{KEYWORDS} setting would prevent installation of the package. + +If a flag appears in more than one of \t{package.use}, \t{use.stable} and \t{package.use.stable}, +then \t{package.use.stable} takes precedence over \t{package.use}, which in turn takes precedence +over \t{use.stable}. + +These files are supported in EAPIs as per table~\ref{tab:profile-use-stable}. They can be +directories instead of regular files as per section~\ref{sec:line-stacking}. + +\ChangeWhenAddingAnEAPI{9} +\begin{centertable}{Profile directory support for \t{use.stable} and \t{package.use.stable}} + \label{tab:profile-use-stable} + \begin{tabular}{lll} + \toprule + \multicolumn{1}{c}{\textbf{EAPI}} & + \multicolumn{1}{c}{\textbf{Supports \t{use.stable}?}} & + \multicolumn{1}{c}{\textbf{Supports \t{package.use.stable}?}} \\ + \midrule + 0, 1, 2, 3, 4, 5, 6, 7, 8 & No & No \\ + 9 & Yes & Yes \\ + \bottomrule + \end{tabular} +\end{centertable} + \subsection{USE masking and forcing} \label{sec:use-masking} This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},