Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'formula'
- require 'hardware'
- class Mongodb < Formula
- homepage 'http://www.mongodb.org/'
- if Hardware.is_64_bit? and not ARGV.include? '--32bit'
- url 'http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-1.6.1.tgz'
- md5 '19697b489a0c038aad9a3ed3e546a19a'
- version '1.6.1-x86_64'
- else
- url 'http://fastdl.mongodb.org/osx/mongodb-osx-i386-1.6.1.tgz'
- md5 'eefd7f72b34c5f9bd1ebd1a0a288dc16'
- version '1.6.1-i386'
- end
- skip_clean :all
- def options
- [['--32bit', 'Install the 32-bit version.']]
- end
- def install
- # Copy the prebuilt binaries to prefix
- prefix.install Dir['*']
- # 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
- If this is your first install, automatically load on login with:
- cp #{prefix}/org.mongodb.mongod.plist ~/Library/LaunchAgents
- launchctl load -w ~/Library/LaunchAgents/org.mongodb.mongod.plist
- If this is an upgrade and you already have the org.mongodb.mongod.plist loaded:
- launchctl unload -w ~/Library/LaunchAgents/org.mongodb.mongod.plist
- cp #{prefix}/org.mongodb.mongod.plist ~/Library/LaunchAgents
- launchctl load -w ~/Library/LaunchAgents/org.mongodb.mongod.plist
- Or start it manually:
- 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`.chomp}</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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement