start fix

This commit is contained in:
Frank Harris 2026-06-07 18:01:52 -05:00
parent f2dbfe5e4e
commit 44f37dfaff
4 changed files with 91 additions and 7 deletions

View file

@ -13,6 +13,7 @@ if not "%errorLevel%" == "0" (
set "WD=%~dp0"
pushd "%WD%" >nul 2>&1
set "START_LOG_NATIVE="
set "BASH_EXE="
set "CYGWIN_ROOT="
@ -67,9 +68,14 @@ if not exist "%CYGWIN_ROOT%OGP\ogp_agent.pl" (
exit /b 1
)
set "START_LOG_NATIVE=%CYGWIN_ROOT%var\log\gsp_agent_start.log"
if not exist "%CYGWIN_ROOT%var\log" mkdir "%CYGWIN_ROOT%var\log" >nul 2>&1
set "PATH=%CYGWIN_ROOT%bin;%CYGWIN_ROOT%usr\sbin;%PATH%"
set "CYGWIN=server ntsec"
set "SHELL=/bin/bash"
set "GSP_AGENT_START_LOG_NATIVE=%START_LOG_NATIVE%"
set "GSP_AGENT_CYGWIN_ROOT=%CYGWIN_ROOT%"
set "HELPER=/Install/agent_start_cygwin.sh"
if exist "%CYGWIN_ROOT%OGP\Install\agent_start_cygwin.sh" set "HELPER=/OGP/Install/agent_start_cygwin.sh"
@ -83,6 +89,19 @@ if not exist "%CYGWIN_ROOT%Install\agent_start_cygwin.sh" if not exist "%CYGWIN_
exit /b 1
)
echo Detected startup paths:
echo Script directory: %WD%
echo Cygwin root: %CYGWIN_ROOT%
echo bash.exe: %BASH_EXE%
echo OGP path: %CYGWIN_ROOT%OGP
echo ogp_agent.pl: %CYGWIN_ROOT%OGP\ogp_agent.pl
echo Config path: %CYGWIN_ROOT%OGP\Cfg
echo Startup log: %START_LOG_NATIVE%
echo.
if exist "%START_LOG_NATIVE%" (
del /q "%START_LOG_NATIVE%" >nul 2>&1
)
rem Stop any existing agent processes whose PID files still exist.
if exist "%CYGWIN_ROOT%var\run\pure-ftpd.pid" set /p PID1=<"%CYGWIN_ROOT%var\run\pure-ftpd.pid"
if exist "%CYGWIN_ROOT%OGP\ogp_agent.pid" set /p PID2=<"%CYGWIN_ROOT%OGP\ogp_agent.pid"
@ -100,7 +119,13 @@ set "AGENT_EXIT=%ERRORLEVEL%"
if not "%AGENT_EXIT%" == "0" (
echo.
echo GSP Windows Agent exited with error code %AGENT_EXIT%.
echo Review the messages above. The window is staying open so the failure is visible.
echo.
echo ===== Last 100 lines of startup log: %START_LOG_NATIVE% =====
if exist "%START_LOG_NATIVE%" (
powershell -NoProfile -ExecutionPolicy Bypass -Command "Get-Content -LiteralPath '%START_LOG_NATIVE%' -Tail 100" 2>nul
) else (
echo Startup log was not created.
)
call :pause_on_error
exit /b %AGENT_EXIT%
)

View file

@ -5,6 +5,7 @@ set -u
AGENT_DIR="/OGP"
PIDFILE="${1:-/OGP/ogp_agent_run.pid}"
PREFS_FILE="$AGENT_DIR/Cfg/bash_prefs.cfg"
START_LOG_NATIVE="${GSP_AGENT_START_LOG_NATIVE:-}"
REPO_URL_DEFAULT="http://forge.runlevelsystems.com/dev/GSP.git"
REPO_BRANCH_DEFAULT="Panel-unstable"
RAW_AGENT_URL_DEFAULT="http://forge.runlevelsystems.com/dev/GSP/raw/branch/Panel-unstable/Agent-Windows/OGP64/OGP/ogp_agent.pl"
@ -19,6 +20,23 @@ fail() {
exit 1
}
setup_startup_log() {
local default_log="/var/log/gsp_agent_start.log"
local log_path="${default_log}"
if [ -n "$START_LOG_NATIVE" ] && command -v cygpath >/dev/null 2>&1; then
log_path="$(cygpath -u "$START_LOG_NATIVE" 2>/dev/null || printf '%s' "$default_log")"
elif [ -n "$START_LOG_NATIVE" ]; then
log_path="$START_LOG_NATIVE"
fi
mkdir -p "$(dirname "$log_path")" 2>/dev/null || true
touch "$log_path" 2>/dev/null || true
exec > >(tee -a "$log_path") 2>&1
printf 'GSP Windows Agent startup log: %s\n' "$log_path"
printf 'Cygwin root detected by batch: %s\n' "${GSP_AGENT_CYGWIN_ROOT:-unknown}"
}
normalize_text_files() {
local root="$1"
[ -d "$root" ] || return 0
@ -211,6 +229,7 @@ auto_update_windows_agent() {
cd "$AGENT_DIR" || fail "Could not enter $AGENT_DIR. Is the Windows agent installed under Cygwin /OGP?"
setup_startup_log
normalize_text_files "$AGENT_DIR"
normalize_text_files "/Install"
ensure_default_configs