Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 864451 - [Future EAPI] Support dynamic EAPIs via unsetting of the EAPI= variable
Summary: [Future EAPI] Support dynamic EAPIs via unsetting of the EAPI= variable
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: PMS/EAPI (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: PMS/EAPI
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-08-08 18:20 UTC by zachariah.cabelly
Modified: 2022-08-08 20:57 UTC (History)
0 users

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 zachariah.cabelly 2022-08-08 18:20:53 UTC
I have an idea for a future EAPI after EAPI 9. That is allowing the EAPI to be determined by the package manager based on what features are used, so that way, using a metadata cache that is already in the current EAPI, we could use that to house the minimum required EAPI that is fully able to parse an ebuild using this feature. This would allow a ton of flexibility in writing ebuilds. Mess-ups like the ebuild to update the Zen Kernel I tried to upload could also be avoided.
Comment 1 Ulrich Müller gentoo-dev 2022-08-08 18:39:53 UTC
I don't believe that this would be possible in a well-defined way. New EAPIs can come with changes in function behaviour (e.g. econf and insopts in EAPI 8) or with different defaults for phase functions (e.g. default_src_install has changed several times). Neither of these are detectable by the package manager looking at the ebuild.

Also, there is no guarantee that an ebuild in a future EAPI would even be parseable by an old package manager. Sourcing it may error out because of a different Bash version (or we may even decide to switch to something other than Bash).
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-08-08 18:41:13 UTC
Not only what ulm said, but this would also add a heavy burden onto implementations and mean a reliance on heuristics that would move us away from formal, well-defined semantics/behaviour.
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-08-08 20:57:33 UTC
I think we'd be better off with hearing what issue you had with your ebuild:
>Mess-ups like the ebuild to update the Zen Kernel I tried to upload could also be avoided.