View | Details | Raw Unified | Return to bug 171852
Collapse All | Expand All

(-)databases/mysql55-server/files/mysql-server.in (-4 / +72 lines)
Lines 1-6 Link Here
1
#!/bin/sh
1
#!/bin/sh
2
#
2
#
3
# $FreeBSD: ports/databases/mysql55-server/files/mysql-server.in,v 1.1 2012/08/05 23:19:36 dougb Exp $
3
# $FreeBSD$
4
#
4
#
5
5
6
# PROVIDE: mysql
6
# PROVIDE: mysql
Lines 11-23 Link Here
11
# Add the following line to /etc/rc.conf to enable mysql:
11
# Add the following line to /etc/rc.conf to enable mysql:
12
# mysql_enable (bool):	Set to "NO" by default.
12
# mysql_enable (bool):	Set to "NO" by default.
13
#			Set it to "YES" to enable MySQL.
13
#			Set it to "YES" to enable MySQL.
14
# mysql_profiles (str):	Set to "" by default.
15
#			Define your profiles here.
14
# mysql_limits (bool):	Set to "NO" by default.
16
# mysql_limits (bool):	Set to "NO" by default.
15
#			Set it to yes to run `limits -e -U mysql`
17
#			Set it to yes to run `limits -e -U mysql`
16
#			just before mysql starts.
18
#			just before mysql starts.
17
# mysql_dbdir (str):	Default to "/var/db/mysql"
19
# mysql_dbdir (str):	Default to "/var/db/mysql"
18
#			Base database directory.
20
#			Base database directory.
19
# mysql_pidfile (str):	Custum PID file path and name.
21
# mysql_pidfile (str):	Custom PID file path and name.
20
#			Default to "${mysql_dbdir}/${hostname}.pid".
22
#			Default to "${mysql_dbdir}/${hostname}.pid".
23
# mysql_bindip (str):	Custom IP address to bind to.
24
#			Default is 0.0.0.0.
25
# mysql_port (str):	Custom port number.
26
#			Default is 3306.
21
# mysql_args (str):	Custom additional arguments to be passed
27
# mysql_args (str):	Custom additional arguments to be passed
22
#			to mysqld_safe (default empty).
28
#			to mysqld_safe (default empty).
23
#
29
#
Lines 32-47 Link Here
32
: ${mysql_enable="NO"}
38
: ${mysql_enable="NO"}
33
: ${mysql_limits="NO"}
39
: ${mysql_limits="NO"}
34
: ${mysql_dbdir="/var/db/mysql"}
40
: ${mysql_dbdir="/var/db/mysql"}
41
: ${mysql_user="mysql"}
42
: ${mysql_bindip="0.0.0.0"}
43
: ${mysql_port="3306"}
35
44
36
mysql_user="mysql"
37
mysql_limits_args="-e -U ${mysql_user}"
45
mysql_limits_args="-e -U ${mysql_user}"
38
pidfile=${mysql_pidfile:-"${mysql_dbdir}/`/bin/hostname`.pid"}
46
pidfile=${mysql_pidfile:-"${mysql_dbdir}/`/bin/hostname`.pid"}
39
command="/usr/sbin/daemon"
47
command="/usr/sbin/daemon"
40
command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${mysql_dbdir}/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} ${mysql_args}"
41
procname="%%PREFIX%%/libexec/mysqld"
48
procname="%%PREFIX%%/libexec/mysqld"
42
start_precmd="${name}_prestart"
49
start_precmd="${name}_prestart"
43
start_postcmd="${name}_poststart"
50
start_postcmd="${name}_poststart"
44
mysql_install_db="%%PREFIX%%/bin/mysql_install_db"
51
mysql_install_db="%%PREFIX%%/bin/mysql_install_db"
52
53
if [ -n "$2" ]; then
54
	profile="$2"
55
	if [ "x${mysql_profiles}" != "x" ]; then
56
		eval _bindip="\${mysql_${profile}_bindip}"
57
		eval _port="\${mysql_${profile}_port}"
58
		if [ "x$_bindip" = "x" ] && [ "x$_port" = "x" ]; then
59
			echo "You must define either \"mysql_${profile}_port\" or \"mysql_${profile}_bindip\""
60
			exit 1
61
		fi
62
63
		eval mysql_enable="\${mysql_${profile}_enable:-${mysql_enable}}"
64
		eval mysql_dbdir="\${mysql_${profile}_dbdir:-"/var/db/mysql-profile/${profile}"}"
65
		eval pidfile="\${mysql_${profile}_pidfile:-"${mysql_dbdir}/${profile}.pid"}"
66
		eval mysql_bindip="\${mysql_${profile}_bindip:-${mysql_bindip}}"
67
		eval mysql_port="\${mysql_${profile}_port:-${mysql_port}}"
68
		eval mysql_user="\${mysql_${profile}_user:-${mysql_user}}"
69
		eval mysql_limits="\${mysql_${profile}_limits:-${mysql_limits}}"
70
		eval mysql_args="\${mysql_${profile}_args:-${mysql_args}}"
71
	else
72
		echo "$0: extra argument ignored"
73
	fi
74
else
75
	eval mysql_envvars=${envvars}
76
	if [ "x${mysql_profiles}" != "x" -a "x$1" != "x" ]; then
77
		for profile in ${mysql_profiles}; do
78
			eval _enable="\${mysql_${profile}_enable}"
79
			case "x${_enable:-${mysql_enable}}" in
80
			x|x[Nn][Oo]|x[Nn][Oo][Nn][Ee])
81
				continue
82
				;;
83
			x[Yy][Ee][Ss])
84
				;;
85
			*)
86
				if test -z "$_enable"; then
87
					_var=mysql_enable
88
				else
89
					_var=mysql_"${profile}"_enable
90
				fi
91
				echo "Bad value" \
92
				    "'${_enable:-${mysql_enable}}'" \
93
				    "for ${_var}. " \
94
				    "Profile ${profile} skipped."
95
				continue
96
				;;
97
			esac
98
			echo "===> mysql profile: ${profile}"
99
			/usr/local/etc/rc.d/mysql-server $1 ${profile}
100
			retcode="$?"
101
			if [ "0${retcode}" -ne 0 ]; then
102
				failed="${profile} (${retcode}) ${failed:-}"
103
			else
104
				success="${profile} ${success:-}"
105
			fi
106
		done
107
		exit 0
108
	fi
109
fi
110
111
# Construct arguments after the profile configuration has been processed. 
112
command_args="-c -f %%PREFIX%%/bin/mysqld_safe --defaults-extra-file=${mysql_dbdir}/my.cnf --user=${mysql_user} --datadir=${mysql_dbdir} --pid-file=${pidfile} --bind-address=${mysql_bindip} --port=${mysql_port} ${mysql_args}"
45
mysql_install_db_args="--basedir=%%PREFIX%% --datadir=${mysql_dbdir} --force"
113
mysql_install_db_args="--basedir=%%PREFIX%% --datadir=${mysql_dbdir} --force"
46
114
47
mysql_create_auth_tables()
115
mysql_create_auth_tables()

Return to bug 171852