Import alt-mysql plugin

This commit is contained in:
Marek Miklewicz
2026-07-04 15:48:19 +02:00
commit d71fcf9ace
101 changed files with 18635 additions and 0 deletions
+52
View File
@@ -0,0 +1,52 @@
#!/bin/bash
set -euo pipefail
PLUGIN_DIR="$(cd "$(dirname "$0")/.." && pwd)"
fail() {
echo "FAIL: $*" >&2
exit 1
}
[ "$(basename "$PLUGIN_DIR")" = "alt-mysql" ] || fail "plugin directory name is not alt-mysql"
grep -Fxq "name=alt-mysql" "$PLUGIN_DIR/plugin.conf" || fail "plugin.conf name is not alt-mysql"
grep -Fxq "id=alt-mysql" "$PLUGIN_DIR/plugin.conf" || fail "plugin.conf id is not alt-mysql"
grep -Fxq "version=1.2.10" "$PLUGIN_DIR/plugin.conf" || fail "plugin.conf version is not 1.2.10"
grep -Fq "return '/CMD_PLUGINS/alt-mysql';" "$PLUGIN_DIR/exec/lib/AppContext.php" \
|| fail "AppContext base URL is not alt-mysql"
grep -Fq "\$pluginId = 'alt-mysql';" "$PLUGIN_DIR/exec/lib/DirectAdminUser.php" \
|| fail "DirectAdmin plugin allow/deny id is not alt-mysql"
[ -x "$PLUGIN_DIR/scripts/install_db.sh" ] || fail "install_db.sh is not executable in scripts/"
[ ! -e "$PLUGIN_DIR/scripts/install-alt-mariadb.sh" ] || fail "install-alt-mariadb.sh still exists in plugin scripts/"
[ ! -e "$PLUGIN_DIR/../mysql-installer/install_db.sh" ] || fail "install_db.sh exists outside plugin scripts/"
[ ! -e "$PLUGIN_DIR/../mysql-installer/install-alt-mariadb.sh" ] || fail "install-alt-mariadb.sh still exists outside plugin scripts/"
BAD_REFS="$(
old_plugin_path="/usr/local/directadmin/plugins/"'mysql'
old_cmd_path="/CMD_PLUGINS/"'mysql'
find "$PLUGIN_DIR" -type f \
! -path '*/tests/plugin_identity_test.sh' \
! -path '*/data/*' \
-exec grep -HnE "$old_plugin_path|$old_cmd_path" {} + || true
)"
[ -z "$BAD_REFS" ] || {
printf '%s\n' "$BAD_REFS" >&2
fail "old DirectAdmin plugin path references remain"
}
LEGACY_REFS="$(
legacy_sudoers="/etc/sudoers.d/directadmin-"'mysql'"-plugin"
legacy_cron="/etc/cron.d/"'mysql'"-jobs"
legacy_csf="/etc/csf/"'mysql'"-plugin.allow"
find "$PLUGIN_DIR" -type f \
! -path '*/tests/plugin_identity_test.sh' \
! -path '*/data/*' \
-exec grep -HnE "$legacy_sudoers|$legacy_cron|$legacy_csf" {} + || true
)"
[ -z "$LEGACY_REFS" ] || {
printf '%s\n' "$LEGACY_REFS" >&2
fail "legacy mysql plugin artifact references remain"
}
echo "plugin_identity_test: OK"