From 68d1dfe5d77781e74cab72f0950484ae58d5e425 Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Sun, 16 Dec 2012 19:51:01 -0600 Subject: [PATCH] Revert "Add launchctl_instructions method" This code makes assumptions about the existence of prefix which are valid in the context of the installer, but not necessarily in the context of `brew info`, thus `brew info` on an outdated formula errors out. This reverts commit e5b53dd64b769b67805d1054d906f7083939d905. --- Library/Homebrew/cmd/info.rb | 2 - Library/Homebrew/formula.rb | 58 --------------------------- Library/Homebrew/formula_installer.rb | 55 ++++++++++++++++++++++++- 3 files changed, 54 insertions(+), 61 deletions(-) diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb index f35c004bba..a5da4e81d4 100644 --- a/Library/Homebrew/cmd/info.rb +++ b/Library/Homebrew/cmd/info.rb @@ -124,8 +124,6 @@ module Homebrew extend self puts f.caveats end - f.launchctl_instructions - rescue FormulaUnavailableError # check for DIY installation d = HOMEBREW_PREFIX+name diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 76de2f5cef..337916a0aa 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -115,64 +115,6 @@ class Formula end def rack; prefix.parent end - def launchctl_instructions - if plist or Keg.new(prefix).plist_installed? - destination = plist_startup ? '/Library/LaunchDaemons' \ - : '~/Library/LaunchAgents' - - plist_filename = plist_path.basename - plist_link = "#{destination}/#{plist_filename}" - plist_domain = plist_path.basename('.plist') - destination_path = Pathname.new File.expand_path destination - plist_path = destination_path/plist_filename - s = [] - - # we readlink because this path probably doesn't exist since caveats - # occurs before the link step of installation - if not (plist_path).file? and not (plist_path).symlink? - if plist_startup - s << "To have launchd start #{name} at startup:" - s << " sudo mkdir -p #{destination}" unless destination_path.directory? - s << " sudo cp -fv #{HOMEBREW_PREFIX}/opt/#{name}/*.plist #{destination}" - else - s << "To have launchd start #{name} at login:" - s << " mkdir -p #{destination}" unless destination_path.directory? - s << " ln -sfv #{HOMEBREW_PREFIX}/opt/#{name}/*.plist #{destination}" - end - s << "Then to load #{name} now:" - if plist_startup - s << " sudo launchctl load #{plist_link}" - else - s << " launchctl load #{plist_link}" - end - if plist_manual - s << "Or, if you don't want/need launchctl, you can just run:" - s << " #{plist_manual}" - end - elsif Kernel.system "/bin/launchctl list #{plist_domain} &>/dev/null" - s << "You should reload #{name}:" - if plist_startup - s << " sudo launchctl unload #{plist_link}" - s << " sudo cp -fv #{HOMEBREW_PREFIX}/opt/#{name}/*.plist #{destination}" - s << " sudo launchctl load #{plist_link}" - else - s << " launchctl unload #{plist_link}" - s << " launchctl load #{plist_link}" - end - else - s << "To load #{name}:" - if plist_startup - s << " sudo launchctl load #{plist_link}" - else - s << " launchctl load #{plist_link}" - end - end - - ohai 'Caveats', s - - end - end - def bin; prefix+'bin' end def doc; share+'doc'+name end def include; prefix+'include' end diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index dd1450ec24..2269104213 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -174,7 +174,60 @@ class FormulaInstaller EOS end - f.launchctl_instructions + if f.plist or keg.plist_installed? + destination = f.plist_startup ? '/Library/LaunchDaemons' \ + : '~/Library/LaunchAgents' + + plist_filename = f.plist_path.basename + plist_link = "#{destination}/#{plist_filename}" + plist_domain = f.plist_path.basename('.plist') + destination_path = Pathname.new File.expand_path destination + plist_path = destination_path/plist_filename + s = [] + + # we readlink because this path probably doesn't exist since caveats + # occurs before the link step of installation + if not (plist_path).file? and not (plist_path).symlink? + if f.plist_startup + s << "To have launchd start #{f.name} at startup:" + s << " sudo mkdir -p #{destination}" unless destination_path.directory? + s << " sudo cp -fv #{HOMEBREW_PREFIX}/opt/#{f.name}/*.plist #{destination}" + else + s << "To have launchd start #{f.name} at login:" + s << " mkdir -p #{destination}" unless destination_path.directory? + s << " ln -sfv #{HOMEBREW_PREFIX}/opt/#{f.name}/*.plist #{destination}" + end + s << "Then to load #{f.name} now:" + if f.plist_startup + s << " sudo launchctl load #{plist_link}" + else + s << " launchctl load #{plist_link}" + end + if f.plist_manual + s << "Or, if you don't want/need launchctl, you can just run:" + s << " #{f.plist_manual}" + end + elsif Kernel.system "/bin/launchctl list #{plist_domain} &>/dev/null" + s << "You should reload #{f.name}:" + if f.plist_startup + s << " sudo launchctl unload #{plist_link}" + s << " sudo cp -fv #{HOMEBREW_PREFIX}/opt/#{f.name}/*.plist #{destination}" + s << " sudo launchctl load #{plist_link}" + else + s << " launchctl unload #{plist_link}" + s << " launchctl load #{plist_link}" + end + else + s << "To load #{f.name}:" + if f.plist_startup + s << " sudo launchctl load #{plist_link}" + else + s << " launchctl load #{plist_link}" + end + end + + ohai 'Caveats', s + end end def finish