-%triggerpostun -- mysql < 4.0.20-2.4
-# For clusters in /etc/%{name}/clusters.conf
-if [ -f /etc/sysconfig/mysql ]; then
- . /etc/sysconfig/mysql
- if [ -n "$MYSQL_DB_CLUSTERS" ]; then
- for i in "$MYSQL_DB_CLUSTERS"; do
- echo "$i/mysqld.conf=$i" >> /etc/%{name}/clusters.conf
- done
- echo "# Do not use **obsolete** option MYSQL_DB_CLUSTERS" >> /etc/sysconfig/mysql
- echo "# USE /etc/%{name}/clusters.conf instead" >> /etc/sysconfig/mysql
- echo "Converted clusters from MYSQL_DB_CLUSTERS to /etc/%{name}/clusters.conf."
- echo "You NEED to fix your /etc/sysconfig/mysql and verify /etc/%{name}/clusters.conf."
- fi
-fi
-
-%triggerpostun -- mysql < 4.1.1
-# For better compatibility with prevoius versions:
-for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
- if echo "$config" | grep -q '^/'; then
- config_file="$config"
- elif [ -f "/etc/%{name}/$config" ]; then
- config_file=/etc/%{name}/$config
- else
- clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
- if [ -z "$clusterdir" ]; then
- echo >&2 "Can't find cluster dir for $config!"
- echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
- exit 1
- fi
- config_file="$clusterdir/mysqld.conf"
- fi
-
- if [ ! -f "$config_file" ]; then
- echo >&2 "Lost myself! Please report this (with above errors, if any) to TLD Linux mailing lists."
- exit 1
- fi
- echo "Adding option old-passwords to config: $config_file"
- echo "If you want to use new, better passwords - remove it"
-
- # sed magic to add 'old-passwords' to [mysqld] section
- sed -i -e '/./{H;$!d;};x;/\[mysqld\]/{
- a
- a; Compatibility options:
- aold-passwords
- }
- ' $config_file
-done
-
-%banner -e %{name}-4.1.x <<-EOF
- If you want to use new help tables in MySQL 4.1.x then You'll need to import the help data:
- mysql -u mysql mysql < %{_datadir}/%{name}/fill_help_tables.sql
-EOF
-#'
-
-%triggerpostun -- mysql < 5.1.0
-configs=""
-for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
- if echo "$config" | grep -q '^/'; then
- config_file="$config"
- elif [ -f "/etc/%{name}/$config" ]; then
- config_file=/etc/%{name}/$config
- else
- clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
- if [ -z "$clusterdir" ]; then
- echo >&2 "Can't find cluster dir for $config!"
- echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
- exit 1
- fi
- config_file="$clusterdir/mysqld.conf"
- fi
-
- if [ ! -f "$config_file" ]; then
- echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to TLD Linux mailing lists."
- continue
- fi
- configs="$configs $config_file"
-done
-
-(
-echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
-echo 'Thus, you should invoke:'
-for config in $configs; do
- sed -i -e '
- s/set-variable\s*=\s* //
- # use # as comment in config
- s/^;/#/
- ' $config
-
- datadir=$(awk -F= '!/^#/ && $1 ~ /datadir/{print $2}' $config | xargs)
- echo "# mysql_upgrade --datadir=$datadir"
-done
-) | %banner -e %{name}-5.1
-
-%triggerpostun -- mysql < 5.5.0
-configs=""
-for config in $(awk -F= '!/^#/ && /=/{print $1}' /etc/%{name}/clusters.conf); do
- if echo "$config" | grep -q '^/'; then
- config_file="$config"
- elif [ -f "/etc/%{name}/$config" ]; then
- config_file=/etc/%{name}/$config
- else
- clusterdir=$(awk -F= "/^$config/{print \$2}" /etc/%{name}/clusters.conf)
- if [ -z "$clusterdir" ]; then
- echo >&2 "Can't find cluster dir for $config!"
- echo >&2 "Please remove extra (leading) spaces from /etc/%{name}/clusters.conf"
- exit 1
- fi
- config_file="$clusterdir/mysqld.conf"
- fi
-
- if [ ! -f "$config_file" ]; then
- echo >&2 "ERROR: Can't find real config file for $config! Please report this (with above errors, if any) to TLD Linux mailing lists."
- continue
- fi
- configs="$configs $config_file"
-done
-
-(
-echo 'You should run MySQL upgrade script *after* restarting MySQL server for all MySQL clusters.'
-echo 'Thus, you should invoke:'
-for config in $configs; do
- sed -i -e '
- s/^language *= *polish/lc-messages = pl_PL/i
- s/set-variable\s*=\s* //
- s/^skip-locking/skip-external-locking/
- # this is not valid for server. it is client option
- s/^default-character-set/# client-config: &/
- # use # as comment in config
- s/^;/#/
- ' $config
-
- socket=$(awk -F= '!/^#/ && $1 ~ /socket/{print $2}' $config | xargs)
- echo "# mysql_upgrade ${socket:+--socket=$socket}"
-done
-) | %banner -e %{name}-5.5
-