aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/mysql.rb
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Formula/mysql.rb')
-rw-r--r--Library/Formula/mysql.rb56
1 files changed, 53 insertions, 3 deletions
diff --git a/Library/Formula/mysql.rb b/Library/Formula/mysql.rb
index 76fd2a7c4..f87121cfb 100644
--- a/Library/Formula/mysql.rb
+++ b/Library/Formula/mysql.rb
@@ -15,6 +15,10 @@ class Mysql <Formula
]
end
+ def patches
+ DATA
+ end
+
def install
ENV['CXXFLAGS'] = ENV['CXXFLAGS'].gsub "-fomit-frame-pointer", ""
ENV['CXXFLAGS'] += " -fno-omit-frame-pointer -felide-constructors"
@@ -25,6 +29,7 @@ class Mysql <Formula
"--without-debug",
"--disable-dependency-tracking",
"--prefix=#{prefix}",
+ "--localstatedir=#{var}",
"--with-plugins=innobase,myisam",
"--with-extra-charsets=complex",
"--with-plugins=innobase,myisam",
@@ -34,9 +39,7 @@ class Mysql <Formula
"--enable-local-infile",
"--enable-shared"]
- if ARGV.include? '--client-only'
- configure_args.push("--without-server")
- end
+ configure_args << "--without-server" if ARGV.include? '--client-only'
system "./configure", *configure_args
system "make install"
@@ -46,5 +49,52 @@ class Mysql <Formula
# save 66MB!
(prefix+'mysql-test').rmtree unless ARGV.include? '--with-tests'
+
+ var.mkpath
+
+ (prefix+'com.mysql.mysqld.plist').write startup_plist
+ end
+
+ def caveats
+ puts "Set up databases with `mysql_install_db`"
+ puts "Automatically load on login with "
+ puts " `launchctl load -w #{prefix}/com.mysql.mysqld.plist`"
+ end
+
+ def startup_plist
+ return <<-EOPLIST
+<?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>KeepAlive</key>
+ <true/>
+ <key>Label</key>
+ <string>com.mysql.mysqld</string>
+ <key>Program</key>
+ <string>#{bin}/mysqld_safe</string>
+ <key>RunAtLoad</key>
+ <true/>
+ <key>UserName</key>
+ <string>#{`whoami`}</string>
+ <key>WorkingDirectory</key>
+ <string>/usr/local</string>
+</dict>
+</plist>
+ EOPLIST
end
end
+
+
+__END__
+--- old/scripts/mysqld_safe.sh 2009-09-02 04:10:39.000000000 -0400
++++ new/scripts/mysqld_safe.sh 2009-09-02 04:52:55.000000000 -0400
+@@ -383,7 +383,7 @@
+ fi
+
+ USER_OPTION=""
+-if test -w / -o "$USER" = "root"
++if test -w /sbin -o "$USER" = "root"
+ then
+ if test "$user" != "root" -o $SET_USER = 1
+ then