mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
34 lines
1.1 KiB
Ruby
34 lines
1.1 KiB
Ruby
![]() |
require "tempfile"
|
||
|
require "utils/shell"
|
||
|
require "os/linux/diagnostic"
|
||
|
|
||
|
module Homebrew
|
||
|
module Diagnostic
|
||
|
class Checks
|
||
|
def check_tmpdir_sticky_bit
|
||
|
message = generic_check_tmpdir_sticky_bit
|
||
|
return if message.nil?
|
||
|
message + <<~EOS
|
||
|
If you don't have administrative privileges on this machine,
|
||
|
create a directory and set the HOMEBREW_TEMP environment variable,
|
||
|
for example:
|
||
|
install -d -m 1755 ~/tmp
|
||
|
#{Utils::Shell.set_variable_in_profile("HOMEBREW_TEMP", "~/tmp")}
|
||
|
EOS
|
||
|
end
|
||
|
|
||
|
def check_xdg_data_dirs
|
||
|
return if ENV["XDG_DATA_DIRS"].to_s.empty?
|
||
|
return if ENV["XDG_DATA_DIRS"].split("/").include?(HOMEBREW_PREFIX/"share")
|
||
|
<<~EOS
|
||
|
Homebrew's share was not found in your XDG_DATA_DIRS but you have
|
||
|
this variable set to include other locations.
|
||
|
Some programs like `vapigen` may not work correctly.
|
||
|
Consider adding Homebrew's share directory to XDG_DATA_DIRS like so:
|
||
|
#{Utils::Shell.prepend_variable_in_profile("XDG_DATA_DIRS", HOMEBREW_PREFIX/"share")}
|
||
|
EOS
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|