46 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
|   | class Caveats | ||
|  |   def plist_caveats | ||
|  |     s = [] | ||
|  |     if f.plist || (keg&.plist_installed?) | ||
|  |       plist_domain = f.plist_path.basename(".plist") | ||
|  | 
 | ||
|  |       # we readlink because this path probably doesn't exist since caveats | ||
|  |       # occurs before the link step of installation | ||
|  |       # Yosemite security measures mildly tighter rules: | ||
|  |       # https://github.com/Homebrew/legacy-homebrew/issues/33815 | ||
|  |       if !plist_path.file? || !plist_path.symlink? | ||
|  |         if f.plist_startup | ||
|  |           s << "To have launchd start #{f.full_name} now and restart at startup:" | ||
|  |           s << "  sudo brew services start #{f.full_name}" | ||
|  |         else | ||
|  |           s << "To have launchd start #{f.full_name} now and restart at login:" | ||
|  |           s << "  brew services start #{f.full_name}" | ||
|  |         end | ||
|  |       # For startup plists, we cannot tell whether it's running on launchd, | ||
|  |       # as it requires for `sudo launchctl list` to get real result. | ||
|  |       elsif f.plist_startup | ||
|  |         s << "To restart #{f.full_name} after an upgrade:" | ||
|  |         s << "  sudo brew services restart #{f.full_name}" | ||
|  |       elsif Kernel.system "/bin/launchctl list #{plist_domain} &>/dev/null" | ||
|  |         s << "To restart #{f.full_name} after an upgrade:" | ||
|  |         s << "  brew services restart #{f.full_name}" | ||
|  |       else | ||
|  |         s << "To start #{f.full_name}:" | ||
|  |         s << "  brew services start #{f.full_name}" | ||
|  |       end | ||
|  | 
 | ||
|  |       if f.plist_manual | ||
|  |         s << "Or, if you don't want/need a background service you can just run:" | ||
|  |         s << "  #{f.plist_manual}" | ||
|  |       end | ||
|  | 
 | ||
|  |       # pbpaste is the system clipboard tool on macOS and fails with `tmux` by default | ||
|  |       # check if this is being run under `tmux` to avoid failing | ||
|  |       if ENV["TMUX"] && !quiet_system("/usr/bin/pbpaste") | ||
|  |         s << "" << "WARNING: brew services will fail when run under tmux." | ||
|  |       end | ||
|  |     end | ||
|  |     s.join("\n") + "\n" unless s.empty? | ||
|  |   end | ||
|  | end |