#!/bin/bash set -euo pipefail PLUGIN_DIR="$(cd "$(dirname "$0")/.." && pwd)" fail() { echo "FAIL: $*" >&2 exit 1 } case "$(basename "$PLUGIN_DIR")" in alt-mysql|src) ;; *) fail "plugin directory name is neither alt-mysql nor src" ;; esac 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.19" "$PLUGIN_DIR/plugin.conf" || fail "plugin.conf version is not 1.2.19" 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"