This commit is contained in:
2026-05-16 20:33:36 +02:00
parent 96c1029d91
commit 968bf7d102
212 changed files with 954195 additions and 658 deletions

View File

@@ -105,12 +105,25 @@ if ($errors.Count -eq 0) {
Write-Host " Keine verbotenen Dateien in _internal"
}
# 4f) Empfang-Web-Huelle (Shell-EXE) muss mit dem Installer gebundelt werden
# 4f) Empfang-Web-Huelle: PyInstaller-Ausgabe und Kopie neben aza_desktop muessen identisch sein
$shellExeRoot = Join-Path $projectRoot "dist\AZA_EmpfangShell.exe"
$shellExeDist = Join-Path $projectRoot "dist\aza_desktop\AZA_EmpfangShell.exe"
if (-not (Test-Path $shellExeDist)) {
$errors += "AZA_EmpfangShell.exe fehlt in dist\aza_desktop (wird fuer die Empfang-Web-Huelle benoetigt)"
if (-not (Test-Path $shellExeRoot)) {
$errors += "AZA_EmpfangShell.exe fehlt in dist\ (PyInstaller-Ausgabe) - build_exe.ps1 pruefen"
} elseif (-not (Test-Path $shellExeDist)) {
$errors += "AZA_EmpfangShell.exe fehlt in dist\aza_desktop\ - build_exe.ps1 muss die Shell kopieren"
} else {
Write-Host " AZA_EmpfangShell.exe OK (neben aza_desktop.exe)"
$tRoot = (Get-Item $shellExeRoot).LastWriteTime
$tDesk = (Get-Item $shellExeDist).LastWriteTime
$hRoot = (Get-FileHash -Path $shellExeRoot -Algorithm SHA256).Hash
$hDesk = (Get-FileHash -Path $shellExeDist -Algorithm SHA256).Hash
Write-Host (" AZA_EmpfangShell.exe dist\: Zeit {0:yyyy-MM-dd HH:mm:ss}, SHA256={1}" -f $tRoot, $hRoot)
Write-Host (" AZA_EmpfangShell.exe desktop\: Zeit {0:yyyy-MM-dd HH:mm:ss}, SHA256={1}" -f $tDesk, $hDesk)
if ($hRoot -ne $hDesk) {
$errors += "AZA_EmpfangShell.exe: SHA256-Unterschied zwischen dist\ und dist\aza_desktop\ - Build inkonsistent"
} else {
Write-Host " AZA_EmpfangShell.exe: dist\ und dist\aza_desktop\ identisch OK"
}
}
# 4d) Installer existiert und hat Groesse > 0
@@ -143,6 +156,16 @@ if (-not (Test-Path $manifestPath)) {
if ($dlUrl -and ($dlUrl -match "127\.0\.0\.1|localhost")) {
$errors += "version.json download_url enthaelt localhost: $dlUrl"
}
$mfSha = $manifest.sha256
if ($mfSha -and (Test-Path $installerPath)) {
$instSha = (Get-FileHash -Path $installerPath -Algorithm SHA256).Hash
$mfShaNorm = $mfSha.ToString().Trim()
if ($mfShaNorm -and ($mfShaNorm -ne $instSha)) {
$errors += "version.json sha256 stimmt nicht mit Installer ueberein (Manifest=$mfShaNorm Installer=$instSha)"
} elseif ($mfShaNorm) {
Write-Host " sha256 OK: Manifest und Installer identisch"
}
}
} catch {
$errors += "version.json konnte nicht gelesen werden: $_"
}
@@ -167,6 +190,15 @@ $instInfo = Get-Item $installerPath
$sizeMB = [math]::Round($instInfo.Length / 1MB, 2)
$sha256 = (Get-FileHash -Path $installerPath -Algorithm SHA256).Hash
$stamp = Get-Date -Format "yyyyMMdd_HHmmss"
$stampedInstaller = Join-Path $projectRoot "dist\installer\aza_desktop_setup_$stamp.exe"
try {
Copy-Item -LiteralPath $installerPath -Destination $stampedInstaller -Force
Write-Host " Zeitstempel-Kopie des Installers: $stampedInstaller"
} catch {
Write-Warning "Zeitstempel-Kopie konnte nicht erstellt werden: $_"
}
Write-Host ""
Write-Host "=============================================="
Write-Host " RELEASE BEREIT FUER UPLOAD"
@@ -177,7 +209,7 @@ Write-Host " Groesse: $sizeMB MB"
Write-Host " SHA256: $sha256"
Write-Host " Manifest: $manifestPath"
Write-Host ""
Write-Host " Upload-Befehle:"
Write-Host " scp `"$installerPath`" root@5.78.100.228:/root/aza-app/release/aza_desktop_setup.exe"
Write-Host " scp `"$manifestPath`" root@5.78.100.228:/root/aza-app/release/version.json"
Write-Host " Upload-Befehle (Produktion laut Vorgabe; ggf. andere IP in Staging-Umgebungen):"
Write-Host " scp `"$installerPath`" root@178.104.51.177:/root/aza-app/release/aza_desktop_setup.exe"
Write-Host " scp `"$manifestPath`" root@178.104.51.177:/root/aza-app/release/version.json"
Write-Host ""