add brew linkapps --system

Added an option to linkapps to allow linking to /Applications rather
than ~/Applications

Closes Homebrew/homebrew#18196.

Signed-off-by: Adam Vandenberg <flangy@gmail.com>
This commit is contained in:
Iain Beeston 2013-03-03 15:47:27 +11:00 committed by Adam Vandenberg
parent 69c8ed1a1e
commit cda83428a6

View File

@ -1,11 +1,11 @@
# Links any Applications (.app) found in installed prefixes to ~/Applications # Links any Applications (.app) found in installed prefixes to ~/Applications
require "formula" require "formula"
HOME_APPS = File.expand_path("~/Applications") TARGET_DIR = ARGV.include?("--system") ? "/Applications" : File.expand_path("~/Applications")
unless File.exist? HOME_APPS unless File.exist? TARGET_DIR
opoo "#{HOME_APPS} does not exist, stopping." opoo "#{TARGET_DIR} does not exist, stopping."
puts "Run `mkdir ~/Applications` first." puts "Run `mkdir #{TARGET_DIR}` first."
exit 1 exit 1
end end
@ -17,7 +17,7 @@ HOMEBREW_CELLAR.subdirs.each do |keg|
Dir["#{f.installed_prefix}/*.app", "#{f.installed_prefix}/bin/*.app", "#{f.installed_prefix}/libexec/*.app"].each do |p| Dir["#{f.installed_prefix}/*.app", "#{f.installed_prefix}/bin/*.app", "#{f.installed_prefix}/libexec/*.app"].each do |p|
puts "Linking #{p}" puts "Linking #{p}"
appname = File.basename(p) appname = File.basename(p)
target = HOME_APPS+"/"+appname target = TARGET_DIR+"/"+appname
if File.exist? target if File.exist? target
if File.symlink? target if File.symlink? target
system "rm", target system "rm", target
@ -25,9 +25,9 @@ HOMEBREW_CELLAR.subdirs.each do |keg|
onoe "#{target} already exists, skipping." onoe "#{target} already exists, skipping."
end end
end end
system "ln", "-s", p, HOME_APPS system "ln", "-s", p, TARGET_DIR
end end
end end
end end
puts "Finished linking. Find the links under ~/Applications." puts "Finished linking. Find the links under #{TARGET_DIR}."