Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 948001 - [Future EAPI] Do not export special profile variables
Summary: [Future EAPI] Do not export special profile variables
Status: IN_PROGRESS
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: PMS/EAPI (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Package Manager Specification
URL: https://projects.gentoo.org/pms/8/pms...
Whiteboard: in-eapi-9
Keywords:
Depends on:
Blocks: future-eapi
  Show dependency tree
 
Reported: 2025-01-12 20:22 UTC by Michał Górny
Modified: 2025-02-09 20:23 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2025-01-12 20:22:48 UTC
The spec currently says:

> Except where otherwise noted, all variables set in the active profiles’ make.defaults files must be exported to the ebuild environment.

Let's limit this to variables that don't have special meaning such as USE and specific variables defined by USE_EXPAND.  Particularly, ARCH is known to cause accidental breakage.
Comment 1 Ulrich Müller gentoo-dev 2025-01-14 11:10:07 UTC
First draft posted to gentoo-pms:
https://public-inbox.gentoo.org/gentoo-pms/20250114110252.4720-1-ulm@gentoo.org/
Comment 2 Ulrich Müller gentoo-dev 2025-01-16 08:36:01 UTC
@Council: This is an addendum to the feature that we approved in the 2025-01-12 meeting. In addition to the variables defined by the package manager, also the variables listed in section 5.3.2 of the spec would stop being exported. The complete list is:

  ARCH
  CONFIG_PROTECT
  CONFIG_PROTECT_MASK
  USE
  USE_EXPAND
  USE_EXPAND_UNPREFIXED
  USE_EXPAND_HIDDEN
  USE_EXPAND_IMPLICIT
  IUSE_IMPLICIT
  ENV_UNSET
  All variables named in USE_EXPAND and USE_EXPAND_UNPREFIXED
  USE_EXPAND_VALUES_${v}, where ${v} is a value in USE_EXPAND_IMPLICIT

Motion: Special profile variables (namely those listed in section 5.3.2 "Specific variables and their meanings") are no longer exported to the environment in EAPI 9.

Please vote.
Comment 3 Ulrich Müller gentoo-dev 2025-01-16 08:36:12 UTC
I vote yes.
Comment 4 Arthur Zamarin archtester Gentoo Infrastructure gentoo-dev Security 2025-01-16 09:00:39 UTC
I vote yes.
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2025-01-16 10:03:32 UTC
I vote yes.
Comment 6 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2025-01-17 15:08:32 UTC
I vote yes.
Comment 7 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-01-19 14:54:00 UTC
yes
Comment 8 David Seifert gentoo-dev 2025-01-21 10:26:32 UTC
yes
Comment 9 Andreas K. Hüttel archtester gentoo-dev 2025-01-23 18:28:25 UTC
yes
Comment 10 Ulrich Müller gentoo-dev 2025-01-23 19:54:01 UTC
Accepted unanimously (7 yes, 0 no, 0 abstentions).
Comment 11 Ulrich Müller gentoo-dev 2025-02-09 20:23:34 UTC
Note that the ABI variable is _not_ in the list from comment #2.

The spec says elsewhere that ABI is supposed to be an environment variable, e.g. in algorithm 12.4: https://dev.gentoo.org/~ulm/pms/head/pms.html#x1-136025r4