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 |