[gentoo-commits] proj/devmanual:master commit in: general-concepts/portage-cache/
commit: 5e91e851b96bc43a952870403194abcd7d7c52dd Author: Sam James gentoo org> AuthorDate: Mon Jan 24 04:15:19 2022 + Commit: Sam James gentoo org> CommitDate: Fri Feb 18 18:19:24 2022 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=5e91e851 general-concepts/portage-cache: add "metadata invariance" term Signed-off-by: Sam James gentoo.org> Closes: https://github.com/gentoo/devmanual/pull/269 Signed-off-by: Sam James gentoo.org> general-concepts/portage-cache/text.xml | 5 + 1 file changed, 5 insertions(+) diff --git a/general-concepts/portage-cache/text.xml b/general-concepts/portage-cache/text.xml index a1394af..857cf6b 100644 --- a/general-concepts/portage-cache/text.xml +++ b/general-concepts/portage-cache/text.xml @@ -11,6 +11,11 @@ these variables must be either static or generated using only unchanging 'version / name' variables (P, PN, PV, PR, PVR and PF). + +The cache, when generated, must be identical independent of the used machine +or environment. This concept is referred to as metadata invariance. + + So, the following will not work:
[gentoo-commits] proj/devmanual:master commit in: general-concepts/portage-cache/
commit: bd8a89afefff176b5f85a1e1e20632457994afd1 Author: Sam James gentoo org> AuthorDate: Wed Jan 12 04:50:00 2022 + Commit: Ulrich Müller gentoo org> CommitDate: Wed Jan 12 06:28:55 2022 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=bd8a89af general-concepts/portage-cache: clarify phrasing (minor) Signed-off-by: Sam James gentoo.org> Signed-off-by: Ulrich Müller gentoo.org> general-concepts/portage-cache/text.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/general-concepts/portage-cache/text.xml b/general-concepts/portage-cache/text.xml index 4839fa0..a1394af 100644 --- a/general-concepts/portage-cache/text.xml +++ b/general-concepts/portage-cache/text.xml @@ -25,8 +25,8 @@ fi -However, this is legal, since eapi7-ver.eclass works upon PV, and -PV and PN are both static: +However, the following is legal, since eapi7-ver.eclass works upon +PV, PV, and PN are both static:
[gentoo-commits] proj/devmanual:master commit in: general-concepts/portage-cache/
commit: e26dd425b928996b0775ee3a01ef73e0edc2a6fb Author: Florian Schmaus geekplace eu> AuthorDate: Tue Jul 21 14:19:55 2020 + Commit: Ulrich Müller gentoo org> CommitDate: Thu Jul 23 15:55:27 2020 + URL:https://gitweb.gentoo.org/proj/devmanual.git/commit/?id=e26dd425 general-concepts/portage-cache: Update example for conditional inherit The era of "-cvs" ebuilds is long gone (does anyone still remember those?). Instead devmanual should show a contemporary example for conditional eclass inheritance based on git live-ebuilds. Signed-off-by: Florian Schmaus geekplace.eu> [Slightly simplified example.] Closes: https://bugs.gentoo.org/733428 Signed-off-by: Ulrich Müller gentoo.org> general-concepts/portage-cache/text.xml | 13 + 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/general-concepts/portage-cache/text.xml b/general-concepts/portage-cache/text.xml index ba9c0fa..4839fa0 100644 --- a/general-concepts/portage-cache/text.xml +++ b/general-concepts/portage-cache/text.xml @@ -60,17 +60,22 @@ solely upon PN are allowed. As an example of a legal and possibly useful conditional inherit, some eclasses -do: +or ebuilds do: -if [[ "${PN##*-}" == "cvs" ]] ; then - inherit cvs +if [[ ${PV} == ]]; then + inherit git-r3 + EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/devmanual.git; +else + SRC_URI="https://dev.gentoo.org/~ulm/distfiles/${P}.tar.xz; + KEYWORDS="~amd64 ~arm ~hppa ~ppc ~ppc64 ~sparc ~x86" fi -This allows the same eclass to be used for both regular and -cvs packages. +This allows the same eclass (or the same ebuild "template") to be used for both +regular and live packages.