[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
support for non-list search paths
From: |
Troy Sankey |
Subject: |
support for non-list search paths |
Date: |
Mon, 06 Mar 2017 11:08:29 -0500 |
User-agent: |
alot/0.4 |
The file "~/.guix-profile/etc/profile" treats all search paths as
colon-separated lists. Some variables are not supposed to be lists, but
treating them as such could confuse programs which read them.
GIT_EXEC_PATH is one that has caused me trouble, so I'll be using it as
an example below.
The relevant line from "~/.guix-profile/etc/profile":
% grep GIT_EXEC_PATH ~/.guix-profile/etc/profile
export
GIT_EXEC_PATH="${GUIX_PROFILE:-/gnu/store/9wwv7rl8n6ydcpa0h22nd38amwssfrbh-profile}/libexec/git-core${GIT_EXEC_PATH:+:}$GIT_EXEC_PATH"
Here's what my GIT_EXEC_PATH looks like from a terminal emulator:
% echo $GIT_EXEC_PATH
/home/sankey/.guix-profile/libexec/git-core:/home/sankey/.guix-profile/libexec/git-core
Here's the error from git:
% git rebase
/home/sankey/.guix-profile/libexec/git-core/git-sh-setup: line 46:
/home/sankey/.guix-profile/libexec/git-core:/home/sankey/.guix-profile/libexec/git-core/git-sh-i18n:
No such file or directory
Since my shell rcfile is sourced twice, GIT_EXEC_PATH becomes a
colon-separated list. Double-sourcing the shell rcfile may not be the
only way to surface this issue. If my rcfile simply set GIT_EXEC_PATH
before sourcing "~/.guix-profile/etc/profile", then I would still end up
with a corrupt GIT_EXEC_PATH.
My workaround involves using `guix package --search-paths=exact`, but
this cost me some time debugging which I'd like to save the next person.
I am not sure what the solution should be. Maybe just a clarification
in documentation? What about an argument for search-path-specification
to force the variable to always be "exact"?
Troy
signature.asc
Description: signature
- support for non-list search paths,
Troy Sankey <=