summaryrefslogtreecommitdiff
path: root/databases/mysql41-server/files
diff options
context:
space:
mode:
Diffstat (limited to 'databases/mysql41-server/files')
-rw-r--r--databases/mysql41-server/files/mysql-server.sh51
-rw-r--r--databases/mysql41-server/files/mysql-server.sh.in61
-rw-r--r--databases/mysql41-server/files/patch-scripts::mysqlaccess.sh90
3 files changed, 61 insertions, 141 deletions
diff --git a/databases/mysql41-server/files/mysql-server.sh b/databases/mysql41-server/files/mysql-server.sh
deleted file mode 100644
index 708ad57df4b3..000000000000
--- a/databases/mysql41-server/files/mysql-server.sh
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD$
-#
-
-# PROVIDE: mysql
-# REQUIRE: NETWORKING SERVERS
-# BEFORE: DAEMON
-# KEYWORD: shutdown
-
-#
-# Add the following line to /etc/rc.conf to enable mysql:
-# mysql_enable (bool): Set to "NO" by default.
-# Set it to "YES" to enable MySQL.
-# mysqllimits_enable (bool): Set to "NO" by default.
-# Set it to yes to run `limits $limits_args`
-# just before mysql starts.
-# mysqllimits_args (str): Default to "-e -U mysql"
-# Arguments of pre-start limits run.
-#
-
-. %%RC_SUBR%%
-
-name="mysql"
-rcvar=`set_rcvar`
-mysql_dbdir="%%DB_DIR%%"
-mysql_user="mysql"
-pidfile="${mysql_dbdir}/`/bin/hostname`.pid"
-command="%%PREFIX%%/bin/mysqld_safe"
-command_args="--user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} > /dev/null &"
-procname="%%PREFIX%%/libexec/mysqld"
-start_precmd="${name}_prestart"
-
-[ -z "$mysql_enable" ] && mysql_enable="NO"
-[ -z "$mysqllimits_enable" ] && mysqllimits_enable="NO"
-[ -z "$mysqllimits_args" ] && mysqllimits_args="-e -U ${mysql_user}"
-
-mysql_prestart()
-{
- if checkyesno mysqllimits_enable; then
- eval `/usr/bin/limits ${mysqllimits_args}` 2>/dev/null
- else
- return 0
- fi
-}
-
-required_dirs="${mysql_dbdir}"
-required_files="${mysql_dbdir}/mysql/host.frm ${mysql_dbdir}/mysql/user.frm ${mysql_dbdir}/mysql/db.frm"
-
-load_rc_config $name
-run_rc_command "$1"
diff --git a/databases/mysql41-server/files/mysql-server.sh.in b/databases/mysql41-server/files/mysql-server.sh.in
new file mode 100644
index 000000000000..f6a8f06335b4
--- /dev/null
+++ b/databases/mysql41-server/files/mysql-server.sh.in
@@ -0,0 +1,61 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+# PROVIDE: mysql
+# REQUIRE: NETWORKING SERVERS
+# BEFORE: DAEMON
+# KEYWORD: shutdown
+
+#
+# Add the following line to /etc/rc.conf to enable mysql:
+# mysql_enable (bool): Set to "NO" by default.
+# Set it to "YES" to enable MySQL.
+# mysql_limits (bool): Set to "NO" by default.
+# Set it to yes to run `limits -e -U mysql`
+# just before mysql starts.
+# mysql_dbdir (str): Default to "/var/db/mysql"
+# Base database directory.
+#
+
+. %%RC_SUBR%%
+
+name="mysql"
+rcvar=`set_rcvar`
+
+load_rc_config $name
+
+: ${mysql_enable="NO"}
+: ${mysql_limits="NO"}
+: ${mysql_dbdir="/var/db/mysql"}
+
+mysql_user="mysql"
+mysql_limits_args="-e -U ${mysql_user}"
+pidfile="${mysql_dbdir}/`/bin/hostname`.pid"
+command="%%PREFIX%%/bin/mysqld_safe"
+command_args="--user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} > /dev/null &"
+procname="%%PREFIX%%/libexec/mysqld"
+start_precmd="${name}_prestart"
+mysql_install_db="%%PREFIX%%/bin/mysql_install_db"
+mysql_install_db_args="--ldata=${mysql_dbdir}"
+
+mysql_create_auth_tables()
+{
+ eval $mysql_install_db $mysql_install_db_args >/dev/null
+ [ $? -eq 0 ] && chown -R ${mysql_user}:${mysql_user} ${mysql_dbdir}
+}
+
+mysql_prestart()
+{
+ if [ ! -d "${mysql_dbdir}/mysql/." ]; then
+ mysql_create_auth_tables || return 1
+ fi
+ if checkyesno mysql_limits; then
+ eval `/usr/bin/limits ${mysql_limits_args}` 2>/dev/null
+ else
+ return 0
+ fi
+}
+
+run_rc_command "$1"
diff --git a/databases/mysql41-server/files/patch-scripts::mysqlaccess.sh b/databases/mysql41-server/files/patch-scripts::mysqlaccess.sh
deleted file mode 100644
index f1382fbad153..000000000000
--- a/databases/mysql41-server/files/patch-scripts::mysqlaccess.sh
+++ /dev/null
@@ -1,90 +0,0 @@
---- scripts/mysqlaccess.sh.orig 2005-01-16 14:28:38 -08:00
-+++ scripts/mysqlaccess.sh 2005-01-16 14:28:38 -08:00
-@@ -2,7 +2,7 @@
- # ****************************
- package MySQLaccess;
- #use strict;
--use POSIX qw(tmpnam);
-+use File::Temp qw(tempfile tmpnam);
- use Fcntl;
-
- BEGIN {
-@@ -32,7 +32,6 @@
- $ACCESS_U_BCK = 'user_backup';
- $ACCESS_D_BCK = 'db_backup';
- $DIFF = '/usr/bin/diff';
-- $TMP_PATH = '/tmp'; #path to writable tmp-directory
- $MYSQLDUMP = '@bindir@/mysqldump';
- #path to mysqldump executable
-
-@@ -432,7 +431,7 @@
- # no caching on STDOUT
- $|=1;
-
-- $MYSQL_CNF = POSIX::tmpnam();
-+ $MYSQL_CNF = tmpnam();
- %MYSQL_CNF = (client => { },
- mysql => { },
- mysqldump => { },
-@@ -577,8 +576,6 @@
- push(@MySQLaccess::Grant::Error,'not_found_mysql') if !(-x $MYSQL);
- push(@MySQLaccess::Grant::Error,'not_found_diff') if !(-x $DIFF);
- push(@MySQLaccess::Grant::Error,'not_found_mysqldump') if !(-x $MYSQLDUMP);
--push(@MySQLaccess::Grant::Error,'not_found_tmp') if !(-d $TMP_PATH);
--push(@MySQLaccess::Grant::Error,'write_err_tmp') if !(-w $TMP_PATH);
- if (@MySQLaccess::Grant::Error) {
- MySQLaccess::Report::Print_Error_Messages() ;
- exit 0;
-@@ -1777,17 +1774,15 @@
- @before = sort(@before);
- @after = sort(@after);
-
-- $before = "$MySQLaccess::TMP_PATH/$MySQLaccess::script.before.$$";
-- $after = "$MySQLaccess::TMP_PATH/$MySQLaccess::script.after.$$";
-- #$after = "/tmp/t0";
-- open(BEFORE,"> $before") ||
-- push(@MySQLaccess::Report::Errors,"Can't open temporary file $before for writing");
-- open(AFTER,"> $after") ||
-- push(@MySQLaccess::Report::Errors,"Can't open temporary file $after for writing");
-- print BEFORE join("\n",@before);
-- print AFTER join("\n",@after);
-- close(BEFORE);
-- close(AFTER);
-+ ($hb, $before) = tempfile("$MySQLaccess::script.XXXXXX") or
-+ push(@MySQLaccess::Report::Errors,"Can't create temporary file: $!");
-+ ($ha, $after) = tempfile("$MySQLaccess::script.XXXXXX") or
-+ push(@MySQLaccess::Report::Errors,"Can't create temporary file: $!");
-+
-+ print $hb join("\n",@before);
-+ print $ha join("\n",@after);
-+ close $hb;
-+ close $ha;
-
- # ----------------------------------
- # compute difference
-@@ -1800,8 +1795,8 @@
-
- # ----------------------------------
- # cleanup temp. files
-- unlink(BEFORE);
-- unlink(AFTER);
-+ unlink($before);
-+ unlink($after);
-
- return \@diffs;
- }
-@@ -2316,14 +2311,6 @@
- => "The diff program <$MySQLaccess::DIFF> could not be found.\n"
- ."+ Check your path, or\n"
- ."+ edit the source of this script to point \$DIFF to the diff program.\n"
-- ,'not_found_tmp'
-- => "The temporary directory <$MySQLaccess::TMP_PATH> could not be found.\n"
-- ."+ create this directory (writeable!), or\n"
-- ."+ edit the source of this script to point \$TMP_PATH to the right directory.\n"
-- ,'write_err_tmp'
-- => "The temporary directory <$MySQLaccess::TMP_PATH> is not writable.\n"
-- ."+ make this directory writeable!, or\n"
-- ."+ edit the source of this script to point \$TMP_PATH to another directory.\n"
- ,'Unrecognized_option'
- => "Sorry,\n"
- ."You are using an old version of the mysql-program,\n"