aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorKieran Pilkington2009-12-29 09:46:22 +1300
committerMax Howell2009-12-31 03:34:42 +0000
commitb35231046b8a8774445f1cce9c9702e3735c815c (patch)
tree428945d8a3ee252738186cf5a3d643093c1621c4 /Library
parent7cd15c67b4c1eefc83b1a8223173157a4b64ce14 (diff)
downloadhomebrew-b35231046b8a8774445f1cce9c9702e3735c815c.tar.bz2
Updated formula: mongodb - Added configuration file, changing data dir to #{var}/mongodb, and adding launchd plist file.
Diffstat (limited to 'Library')
-rw-r--r--Library/Formula/mongodb.rb64
1 files changed, 63 insertions, 1 deletions
diff --git a/Library/Formula/mongodb.rb b/Library/Formula/mongodb.rb
index cdf179bcd..3364c12c3 100644
--- a/Library/Formula/mongodb.rb
+++ b/Library/Formula/mongodb.rb
@@ -4,6 +4,8 @@ require 'hardware'
class Mongodb <Formula
homepage 'http://www.mongodb.org/'
+ aka :mongo
+
if Hardware.is_64_bit? and not ARGV.include? '--32bit'
url 'http://downloads.mongodb.org/osx/mongodb-osx-x86_64-1.2.0.tgz'
md5 'e2d6f7b7f1c0ab71fd629c015ced033c'
@@ -13,12 +15,72 @@ class Mongodb <Formula
md5 'e85c3e4bdf910ece0e47f85885b78219'
version '1.2.0-i386'
end
-
+
def skip_clean? path
true
end
def install
+ # Copy the prebuilt binaries to prefix
system "cp -prv * #{prefix}"
+
+ # Create the data and log directories under /var
+ (var+'mongodb').mkpath
+ (var+'log/mongodb').mkpath
+
+ # Write the configuration files and launchd script
+ (prefix+'mongod.conf').write mongodb_conf
+ (prefix+'org.mongodb.mongod.plist').write startup_plist
+ end
+
+ def caveats; <<-EOS
+You can enable mongodb to automatically load on login with:
+ launchctl load -w #{prefix}/org.mongodb.mongod.plist
+
+Or start it manually:
+ #{bin}/mongod run --config #{prefix}/mongod.conf
+EOS
+ end
+
+ def mongodb_conf
+ return <<-EOS
+# Store data in #{var}/mongodb instead of the default /data/db
+dbpath = #{var}/mongodb
+
+# Only accept local connections
+bind_ip = 127.0.0.1
+EOS
+ end
+
+ def startup_plist
+ return <<-EOS
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>Label</key>
+ <string>org.mongodb.mongod</string>
+ <key>ProgramArguments</key>
+ <array>
+ <string>#{bin}/mongod</string>
+ <string>run</string>
+ <string>--config</string>
+ <string>#{prefix}/mongod.conf</string>
+ </array>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>KeepAlive</key>
+ <true/>
+ <key>UserName</key>
+ <string>#{`whoami`}</string>
+ <key>WorkingDirectory</key>
+ <string>#{HOMEBREW_PREFIX}</string>
+ <key>StandardErrorPath</key>
+ <string>#{var}/log/mongodb/output.log</string>
+ <key>StandardOutPath</key>
+ <string>#{var}/log/mongodb/output.log</string>
+</dict>
+</plist>
+EOS
end
end