> On 2018-06-26, at 15:44, Christoph Böhmwalder <christ...@boehmwalder.at> 
> wrote:
> 
> On Tue, Jun 26, 2018 at 03:15:09PM -0400, Andrew Udvare wrote:
>> It should not be accessing this location in any case. What is the 
>> environment like? What does env show? emerge --config output?
>> 
>> It would almost seem like you have $HOME set to /home/christoph while 
>> Portage is running (as root).
> 
> The only thing that stands out about `env` is that XDG_CONFIG_HOME is set to
> /home/christoph/.config (running as root). I'm not sure if it's supposed
> to be this way, but I didn't find anything in my dotfiles that would
> suggest that I'm overwriting it.

Use `su -` to become root so the environment you are coming from gets ignored. 
I actually have su aliased to `su -` because I rarely need the opposite 
functionality. Otherwise just `unset XDG_CONFIG_HOME` and other things that 
reference your user when you become root.

You should only have these, if any at all:

# env | fgrep XDG
XDG_DATA_DIRS=/usr/local/share:/usr/share
XDG_CONFIG_DIRS=/etc/xdg

What it would seems to be is that npm uses configstore 
https://www.npmjs.com/package/configstore and since it sees XDG_CONFIG_HOME is 
set and is a real path it tries to write a file to there. It falls back to 
tmpdir otherwise which would be writable by Portage.

https://github.com/yeoman/configstore/blob/master/index.js#L11
https://github.com/yeoman/configstore/blob/master/index.js#L32

> 
> $HOME points to /root.
> 
> I'm not sure what you mean by "emerge --config output"? Running
> `emerge --config` just gives:

Sorry I meant `emerge --info`.

Andrew

Reply via email to