From 3a9190e3f122dcc7c77a73239433610c660c4e71 Mon Sep 17 00:00:00 2001 From: Siddhanth Rathod Date: Sat, 30 Sep 2023 13:57:33 +0530 Subject: [PATCH] git-r3.eclass: Inroducing EVCS_STORE_DIRS var ebuilds which calls git-r3_fetch multiple times for diffrent repos. While EGIT_DIR stores a single repo path, mapping all repos to such packages is currently unfeasible. Introducing EVCS_STORE_DIRS to address this limitation. see_also: https://github.com/gentoo/gentoolkit/pull/33 Signed-off-by: Siddhanth Rathod --- eclass/git-r3.eclass | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass index 83c5ab590c395..a088453642960 100644 --- a/eclass/git-r3.eclass +++ b/eclass/git-r3.eclass @@ -120,6 +120,14 @@ fi # usage. : "${EGIT_LFS_CLONE_TYPE:=shallow}" +# @ECLASS_VARIABLE: EVCS_STORE_DIRS +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Record of names of all the repositories directories being cloned in the git3_src. +# This is useful in the case of ebuild that fetch multiple repos and +# it would be used by eclean to clean them up. +EVCS_STORE_DIRS=() + # @ECLASS_VARIABLE: EGIT3_STORE_DIR # @USER_VARIABLE # @DEFAULT_UNSET @@ -360,6 +368,8 @@ _git-r3_set_gitdir() { GIT_DIR=${EGIT3_STORE_DIR}/${repo_name} + EVCS_STORE_DIRS+=( "${GIT_DIR}" ) + if [[ ! -d ${EGIT3_STORE_DIR} && ! ${EVCS_OFFLINE} ]]; then ( addwrite /