diff -Nur --no-dereference smeserver-zabbix-server-0.1.old/createlinks smeserver-zabbix-server-0.1/createlinks --- smeserver-zabbix-server-0.1.old/createlinks 2022-12-10 02:37:45.031000000 -0500 +++ smeserver-zabbix-server-0.1/createlinks 2022-12-10 21:14:41.987000000 -0500 @@ -15,7 +15,7 @@ templates2events("/etc/sudoers", $event); templates2events("/var/lib/zabbix/bin/sendxmpp", $event); templates2events("/var/lib/zabbix/.sendxmpprc", $event); -templates2events("/etc/e-smith/sql/init/80zabbix-server", qw(zabbix-server-update bootstrap-console-save)); +templates2events("/etc/e-smith/sql/init105/80zabbix-server", qw(zabbix-server-update bootstrap-console-save)); templates2events("/etc/rc.d/init.d/masq", $event); # Services to restart @@ -40,10 +40,11 @@ #Systemd start stop # rpm update action (invoked by yum on install and update $contrib = "smeserver-zabbix-server"; +safe_symlink("/etc/e-smith/events/$contrib-update", "root/etc/e-smith/events/$contrib-z50-update"); event_actions("$contrib-update", qw( - systemd-default 10 - systemd-reload 12 - zabbix-server 50 + systemd-default 88 + systemd-reload 89 + zabbix-server 92 )); event_templates("$contrib-update", qw( @@ -51,7 +52,7 @@ /etc/crontab /etc/rc.d/init.d/masq /etc/sudoers - /etc/e-smith/sql/init/80zabbix-server + /etc/e-smith/sql/init105/80zabbix-server /etc/zabbix/zabbix.conf.php /etc/zabbix/web/zabbix.conf.php /var/lib/zabbix/bin/sendxmpp @@ -67,6 +68,8 @@ httpd-e-smith sigusr1 php74-php-fpm reload masq adjust - zabbix-server restart )); +#zabbix server 92 will stop zabbix, restart mariadb105-mysql.init and start zabbix +#that is why those services are not listed in event_service. order matter. +#also this is at the end to be sure that mariadb105 is installed and running diff -Nur --no-dereference smeserver-zabbix-server-0.1.old/root/etc/e-smith/events/actions/zabbix-server smeserver-zabbix-server-0.1/root/etc/e-smith/events/actions/zabbix-server --- smeserver-zabbix-server-0.1.old/root/etc/e-smith/events/actions/zabbix-server 2022-12-10 02:37:44.990000000 -0500 +++ smeserver-zabbix-server-0.1/root/etc/e-smith/events/actions/zabbix-server 2022-12-10 21:12:05.409000000 -0500 @@ -1,7 +1,7 @@ #!/bin/bash # restart mysql.init /usr/bin/systemctl stop zabbix-server 1>/dev/null -/usr/bin/systemctl restart mysql.init 1>/dev/null +/usr/bin/systemctl restart mariadb105-mysql.init 1>/dev/null /usr/bin/systemctl start zabbix-server 1>/dev/null exit 0 diff -Nur --no-dereference smeserver-zabbix-server-0.1.old/root/etc/e-smith/templates/etc/e-smith/sql/init/80zabbix-server smeserver-zabbix-server-0.1/root/etc/e-smith/templates/etc/e-smith/sql/init/80zabbix-server --- smeserver-zabbix-server-0.1.old/root/etc/e-smith/templates/etc/e-smith/sql/init/80zabbix-server 2022-12-10 02:37:45.025000000 -0500 +++ smeserver-zabbix-server-0.1/root/etc/e-smith/templates/etc/e-smith/sql/init/80zabbix-server 1969-12-31 19:00:00.000000000 -0500 @@ -1,93 +0,0 @@ -{ -my $db = ${'zabbix-server'}{'DbName'} || 'zabbixdb'; -my $user = ${'zabbix-server'}{'DbUser'} || 'zabbixuser'; -my $pass = ${'zabbix-server'}{'DbPassword'} || 'secret'; - -my $schema = `rpm -qd zabbix-server-mysql | grep create`; -chomp $schema; -my $curcharset= ( -d "/var/lib/mysql/$db" ) ? `echo 'show variables like "character_set_database";'|mysql $db|grep character_set_database|sed -r 's/^character_set_database\\s*([a-zA-Z0-9_-]+)/\\1/'` : "utf8"; -chomp $curcharset; -my $adminpass= ${'zabbix-server'}{'AdminPassword'} || 'zabbix'; - -$OUT .= <<"END"; -#! /bin/sh -if [ -d /var/lib/mysql/$db ]; then - - # check if utf8 - if [[ "$curcharset" != "utf8" ]] ;then - echo "ALTER DATABASE $db CHARACTER SET utf8 COLLATE utf8_bin;" |/usr/bin/mysql - echo 'ALTER TABLE `$db`.`problem_tag` DROP INDEX `problem_tag_1`, ADD INDEX `problem_tag_1` (`eventid`, `tag` (100), `value`(100));' |mysql - mysql --batch --skip-column-names --execute 'select concat("alter table ",TABLE_SCHEMA,".",TABLE_NAME," CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;") from information_schema.TABLES where TABLE_SCHEMA="$db"' |mysql - fi - for P in \$(rpm -qd zabbix-server-mysql | grep dbpatch | grep mysql); do - /usr/bin/mysql $db < \$P - done -else - echo "CREATE DATABASE $db CHARACTER SET utf8 COLLATE utf8_bin;" | /usr/bin/mysql - /usr/bin/gunzip < $schema | /usr/bin/mysql $db - -fi - -/usr/bin/mysql < 4)? "update users set passwd='$hashpass' where alias='Admin';": "#$version"; +$OUT .= <<"END"; +#! /bin/sh +if [ -d /var/opt/rh/rh-mariadb105/lib/mysql/$db ]; then + # check if utf8 + if [[ "$curcharset" != "utf8" ]] ;then + echo "ALTER DATABASE $db CHARACTER SET utf8 COLLATE utf8_bin;" |/usr/bin/mysql105 + echo 'ALTER TABLE `$db`.`problem_tag` DROP INDEX `problem_tag_1`, ADD INDEX `problem_tag_1` (`eventid`, `tag` (100), `value`(100));' |/usr/bin/mysql105 + mysql --batch --skip-column-names --execute 'select concat("alter table ",TABLE_SCHEMA,".",TABLE_NAME," CONVERT TO CHARACTER SET utf8 COLLATE utf8_bin;") from information_schema.TABLES where TABLE_SCHEMA="$db"' | /usr/bin/mysql105 + fi + for P in \$(rpm -qd zabbix-server-mysql | grep dbpatch | grep mysql); do + /usr/bin/mysql105 $db < \$P + done +else + echo "CREATE DATABASE $db CHARACTER SET utf8 COLLATE utf8_bin;" | /usr/bin/mysql105 + /usr/bin/gunzip < $schema | /usr/bin/mysql105 $db + +fi + +/usr/bin/mysql105 <