On Sun, 2022-11-06 at 16:08 +0100, Florian Schmaus wrote:
> On 06.11.22 12:38, Michał Górny wrote:
> > On Sun, 2022-11-06 at 12:19 +0100, Florian Schmaus wrote:
> > > On 06.11.22 12:03, Michał Górny wrote:
> > > > Mark all checkout directories as "safe" to avoid dubious ownership
> > > > errors with newer git versions when the checkout directory is accessed
> > > > from src_install().
> > > > 
> > > > Bug: https://bugs.gentoo.org/879353
> > > > Signed-off-by: Michał Górny <mgo...@gentoo.org>
> > > > ---
> > > >    eclass/git-r3.eclass | 5 +++++
> > > >    1 file changed, 5 insertions(+)
> > > > 
> > > > diff --git a/eclass/git-r3.eclass b/eclass/git-r3.eclass
> > > > index 59d4f9a0038f..bdb28565e2f9 100644
> > > > --- a/eclass/git-r3.eclass
> > > > +++ b/eclass/git-r3.eclass
> > > > @@ -887,6 +887,11 @@ git-r3_checkout() {
> > > >                         cp "${orig_repo}"/packed-refs 
> > > > "${GIT_DIR}"/packed-refs || die
> > > >                 fi
> > > >    
> > > > +               # mark this directory as "safe" so that src_install() 
> > > > can access it
> > > > +               # https://bugs.gentoo.org/879353
> > > > +               git config --global --add safe.directory \
> > > > +                       "$(cd "${out_dir}" && echo "${PWD}")" || die
> > > 
> > > I guess there is no way we can avoid the --global and use --local instead?
> > > 
> > 
> > safe.directory works only in protected scoeps, i.e. system, global and
> > command.  See git-config(1).
> > 
> > That said, the check wouldn't really make sense if the repository were
> > able to declare itself safe.
> 
> 
> Fair point, and I suspected as much.
> 
> Am I right that this does modify ~portage/.gitconfig (so usually 
> /var/lib/portage/home/.gitconfig)? If so, I wonder if this could be 
> avoided, e.g., by setting XDG_CONFIG_HOME to $T/.config. But I guess 
> that has the potential to break other things. And having some eclass 
> modifying the home directory of the portage user is not probably 
> something we could live with. It would just we be nice if the 
> save.directory setting would be just temporary during the emerge, e.g., 
> set somewhere under T.
> 

HOME    
All
Ditto   
The full path to an appropriate temporary directory for use by any
programs invoked by the ebuild that may read or modify the home
directory. [1]

[1] https://projects.gentoo.org/pms/8/pms.html#x1-10900011.1

-- 
Best regards,
Michał Górny


Reply via email to