diff options
| author | Maxim Belkin | 2017-10-16 11:15:54 -0500 | 
|---|---|---|
| committer | Maxim Belkin | 2017-10-16 11:15:54 -0500 | 
| commit | 336fbb5db2aa349022dae6892cab63a6dad4f2e1 (patch) | |
| tree | 2bd9002a7f11288bf52a02ba58208963efc4cfee /Library/Homebrew/extend | |
| parent | 5140c741f3544390972af45dfa64aa35f7aa7c9e (diff) | |
| download | brew-336fbb5db2aa349022dae6892cab63a6dad4f2e1.tar.bz2 | |
caveats: making plist_caveats macOS-only
Diffstat (limited to 'Library/Homebrew/extend')
| -rw-r--r-- | Library/Homebrew/extend/os/caveats.rb | 1 | ||||
| -rw-r--r-- | Library/Homebrew/extend/os/linux/caveats.rb | 3 | ||||
| -rw-r--r-- | Library/Homebrew/extend/os/mac/caveats.rb | 46 | 
3 files changed, 47 insertions, 3 deletions
diff --git a/Library/Homebrew/extend/os/caveats.rb b/Library/Homebrew/extend/os/caveats.rb new file mode 100644 index 000000000..e67138087 --- /dev/null +++ b/Library/Homebrew/extend/os/caveats.rb @@ -0,0 +1 @@ +require "extend/os/mac/caveats" if OS.mac? diff --git a/Library/Homebrew/extend/os/linux/caveats.rb b/Library/Homebrew/extend/os/linux/caveats.rb deleted file mode 100644 index f30aead87..000000000 --- a/Library/Homebrew/extend/os/linux/caveats.rb +++ /dev/null @@ -1,3 +0,0 @@ -class Caveats -  def plist_caveats; end -end diff --git a/Library/Homebrew/extend/os/mac/caveats.rb b/Library/Homebrew/extend/os/mac/caveats.rb new file mode 100644 index 000000000..2398b1a81 --- /dev/null +++ b/Library/Homebrew/extend/os/mac/caveats.rb @@ -0,0 +1,46 @@ +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  | 
