mirror of
https://github.com/fish-shell/fish-shell.git
synced 2026-05-29 10:31:14 -03:00
Use the cache directory owner for cache entries
Commit f086bc9564 (Maintain ownership when rewriting universal variables
file, 2015-09-26) fixed an issue where "sudo -E fish" would create root-owned
~/.config/fish/fish_variables that break the users's shell.
A simlar issue exists for files in ~/.cache/fish; fix that.
Note that ~/.cache/fish is currently created on first run when we generate
completions from manpages.
See the issue described in #11292
This commit is contained in:
10
share/functions/__fish_cache_put.fish
Normal file
10
share/functions/__fish_cache_put.fish
Normal file
@@ -0,0 +1,10 @@
|
||||
function __fish_cache_put
|
||||
set -l cache_file $argv[1]
|
||||
touch $cache_file
|
||||
set -l dir (path dirname $cache_file)
|
||||
chown --reference=$dir $cache_file 2>/dev/null ||
|
||||
chown (
|
||||
stat --format '%u:%g' $dir 2>/dev/null ||
|
||||
stat -f '%u:%g' $dir
|
||||
) $cache_file
|
||||
end
|
||||
Reference in New Issue
Block a user