ports/161883: [MAINTAINER] databases/mariadb-server: [SUMMARIZE CHANGES]

Geoffroy Desvernay dgeo at centrale-marseille.fr
Fri Oct 21 16:10:08 UTC 2011


>Number:         161883
>Category:       ports
>Synopsis:       [MAINTAINER] databases/mariadb-server: [SUMMARIZE CHANGES]
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Oct 21 16:10:07 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator:     Geoffroy Desvernay
>Release:        FreeBSD 8.2-STABLE amd64
>Organization:
Ecole Centrale de Marseille
>Environment:
System: FreeBSD dgeo.sysadm.ec-m.fr 8.2-STABLE FreeBSD 8.2-STABLE #0: Thu Sep 22 18:47:15 CEST 2011
>Description:
add multi-instances capability to startup script

Generated with FreeBSD Port Tools 0.99
>How-To-Repeat:
>Fix:

--- mariadb-server-5.2.9.patch begins here ---
diff -ruN --exclude=CVS /usr/ports/databases/mariadb-server.orig/files/mysql-server.in /usr/ports/databases/mariadb-server/files/mysql-server.in
--- /usr/ports/databases/mariadb-server.orig/files/mysql-server.in	2011-06-04 10:24:04.000000000 +0200
+++ /usr/ports/databases/mariadb-server/files/mysql-server.in	2011-10-21 18:07:13.000000000 +0200
@@ -16,6 +16,8 @@
 #			Base database directory.
 # mysql_args (str):	Custom additional arguments to be passed
 #			to mysqld_safe (default empty).
+# mysql_instances (str): Set to "" by default.
+#                       If defined, list of instances to enable
 
 . /etc/rc.subr
 
@@ -27,21 +29,68 @@
 : ${mysql_enable="NO"}
 : ${mysql_limits="NO"}
 : ${mysql_dbdir="/var/db/mysql"}
+: ${mysql_instances=""}
 
 mysql_user="mysql"
-mysql_limits_args="-e -U ${mysql_user}"
 pidfile="${mysql_dbdir}/`/bin/hostname`.pid"
 command="/usr/sbin/daemon"
-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}"
 procname="%%PREFIX%%/libexec/mysqld"
 start_precmd="${name}_prestart"
 start_postcmd="${name}_poststart"
+
+if [ -n "$2" ]; then
+	instance="$2"
+	if [ "x${mysql_instances}" != "x" ]; then
+		pidfile="${mysql_dbdir}/`/bin/hostname`_${instance}.pid"
+		eval mysql_args="\${mysql_${instance}_args:-\"${mysql_args}\"}"
+		eval mysql_dbdir="\${mysql_${instance}_dbdir:-\"/var/db/mysql_${instance}\"}"
+		eval mysql_limits="\${mysql_${instance}_limits:-\"${mysql_limits}\"}"
+		eval mysql_user="\${mysql_${instance}_user:-\"${mysql_user}\"}"
+	else
+		echo "$0: extra argument ignored: $2"
+	fi
+else
+	if [ -n "${mysql_instances}" -a -n "$1" ]; then
+		for instance in ${mysql_instances}; do
+			eval _enable="\${mysql_${instance}_enable}"
+			case "${_enable:-${mysql_enable}}" in
+			[Nn][Oo]|[Ff][Aa][Ll][Ss][Ee]|[Oo][Ff][Ff]|0)
+				continue
+				;;
+			[Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]|[Oo][Nn]|1)
+				;;
+			*)
+				if test -z "$_enable"; then
+					_var=mysql_enable
+				else
+					_var=mysql_${instance}_enable
+				fi
+				warn "Bad value" \
+					"'${_enable:-${mysql_enable}}'" \
+					"for ${_var}. " \
+					"Instance ${instance} skipped."
+				continue
+				;;
+			esac
+			echo "===> mysql instance: ${instance}"
+			if $0 $1 ${instance}; then
+				success="${instance} ${success:-}"
+			else
+				failed="${instance} (${retcode}) ${failed:-}"
+			fi
+		done
+		exit 0
+	fi
+fi
+
 mysql_install_db="%%PREFIX%%/bin/mysql_install_db"
 mysql_install_db_args="--ldata=${mysql_dbdir}"
+mysql_limits_args="-e -U ${mysql_user}"
+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}"
 
 mysql_create_auth_tables()
 {
-	eval $mysql_install_db $mysql_install_db_args >/dev/null 2>/dev/null
+	eval $_install_db $_install_db_args >/dev/null 2>/dev/null
         [ $? -eq 0 ] && chown -R ${mysql_user}:${mysql_user} ${mysql_dbdir}
 }
 
--- mariadb-server-5.2.9.patch ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list