diff options
| author | Kieran Pilkington | 2009-12-29 09:46:22 +1300 |
|---|---|---|
| committer | Max Howell | 2009-12-31 03:34:42 +0000 |
| commit | b35231046b8a8774445f1cce9c9702e3735c815c (patch) | |
| tree | 428945d8a3ee252738186cf5a3d643093c1621c4 /Library | |
| parent | 7cd15c67b4c1eefc83b1a8223173157a4b64ce14 (diff) | |
| download | homebrew-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.rb | 64 |
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 |
