aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/extend
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew/extend')
-rw-r--r--Library/Homebrew/extend/git_repository.rb9
-rw-r--r--Library/Homebrew/extend/os/caveats.rb1
-rw-r--r--Library/Homebrew/extend/os/mac/caveats.rb45
3 files changed, 55 insertions, 0 deletions
diff --git a/Library/Homebrew/extend/git_repository.rb b/Library/Homebrew/extend/git_repository.rb
index c15988550..6b89d175c 100644
--- a/Library/Homebrew/extend/git_repository.rb
+++ b/Library/Homebrew/extend/git_repository.rb
@@ -36,6 +36,15 @@ module GitRepositoryExtension
end
end
+ def git_branch
+ return unless git? && Utils.git_available?
+ cd do
+ Utils.popen_read(
+ "git", "rev-parse", "--abbrev-ref", "HEAD"
+ ).chuzzle
+ end
+ end
+
def git_last_commit_date
return unless git? && Utils.git_available?
cd do
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/mac/caveats.rb b/Library/Homebrew/extend/os/mac/caveats.rb
new file mode 100644
index 000000000..d912a8307
--- /dev/null
+++ b/Library/Homebrew/extend/os/mac/caveats.rb
@@ -0,0 +1,45 @@
+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