caveats: recommend brew services for plists.

It simplifies the number of commands and it's now an officially
supported command again.
This commit is contained in:
Mike McQuaid 2016-04-22 09:48:34 +01:00
parent b5c27bb7e5
commit 26118d6225

View File

@ -162,7 +162,6 @@ class Caveats
else else
File.basename Dir["#{keg}/*.plist"].first File.basename Dir["#{keg}/*.plist"].first
end end
plist_link = "#{destination}/#{plist_filename}"
plist_domain = f.plist_path.basename(".plist") plist_domain = f.plist_path.basename(".plist")
destination_path = Pathname.new File.expand_path destination destination_path = Pathname.new File.expand_path destination
plist_path = destination_path/plist_filename plist_path = destination_path/plist_filename
@ -173,44 +172,31 @@ class Caveats
# https://github.com/Homebrew/homebrew/issues/33815 # https://github.com/Homebrew/homebrew/issues/33815
if !plist_path.file? || !plist_path.symlink? if !plist_path.file? || !plist_path.symlink?
if f.plist_startup if f.plist_startup
s << "To have launchd start #{f.full_name} at startup:" s << "To have launchd start #{f.full_name} now and restart at startup:"
s << " sudo mkdir -p #{destination}" unless destination_path.directory? s << " sudo brew services start #{f.full_name}"
s << " sudo cp -fv #{f.opt_prefix}/*.plist #{destination}"
s << " sudo chown root #{plist_link}"
else else
s << "To have launchd start #{f.full_name} at login:" s << "To have launchd start #{f.full_name} now and restart at login:"
s << " mkdir -p #{destination}" unless destination_path.directory? s << " brew services start #{f.full_name}"
s << " ln -sfv #{f.opt_prefix}/*.plist #{destination}"
end
s << "Then to load #{f.full_name} now:"
if f.plist_startup
s << " sudo launchctl load #{plist_link}"
else
s << " launchctl load #{plist_link}"
end end
# For startup plists, we cannot tell whether it's running on launchd, # For startup plists, we cannot tell whether it's running on launchd,
# as it requires for `sudo launchctl list` to get real result. # as it requires for `sudo launchctl list` to get real result.
elsif f.plist_startup elsif f.plist_startup
s << "To reload #{f.full_name} after an upgrade:" s << "To restart #{f.full_name} after an upgrade:"
s << " sudo launchctl unload #{plist_link}" s << " sudo brew services restart #{f.full_name}"
s << " sudo cp -fv #{f.opt_prefix}/*.plist #{destination}"
s << " sudo chown root #{plist_link}"
s << " sudo launchctl load #{plist_link}"
elsif Kernel.system "/bin/launchctl list #{plist_domain} &>/dev/null" elsif Kernel.system "/bin/launchctl list #{plist_domain} &>/dev/null"
s << "To reload #{f.full_name} after an upgrade:" s << "To restart #{f.full_name} after an upgrade:"
s << " launchctl unload #{plist_link}" s << " brew services restart #{f.full_name}"
s << " launchctl load #{plist_link}"
else else
s << "To load #{f.full_name}:" s << "To start #{f.full_name}:"
s << " launchctl load #{plist_link}" s << " brew services start #{f.full_name}"
end end
if f.plist_manual if f.plist_manual
s << "Or, if you don't want/need launchctl, you can just run:" s << "Or, if you don't want/need a background service you can just run:"
s << " #{f.plist_manual}" s << " #{f.plist_manual}"
end end
s << "" << "WARNING: launchctl will fail when run under tmux." if ENV["TMUX"] s << "" << "WARNING: brew services will fail when run under tmux." if ENV["TMUX"]
end end
s.join("\n") + "\n" unless s.empty? s.join("\n") + "\n" unless s.empty?
end end