Zum Inhalt

Updates (Post-Install-Patches)

Generisches Update-Framework für Rezepte mit Patches nach der Erstinstallation (z. B. ElAmigos-Updates).

Nicht gemeint: App-/Rezept-Bundle-Updates von Rezeptor (rezeptor-update.sh) — siehe LAUNCHER.md.

Vertrag (recipe.yml)

Feld Bedeutung
fix_kind: none\|optional\|required Schalter „Rezept kann Updates“
update: update.sh Pflicht wenn fix_kind != none (Lint ERROR sonst)
install_stepsapply_updates Optional: Updates schon bei der Installation anwenden

Hook update.sh:

recipe_hooks::load update
recipe_hooks::runtime_init || exit 1
recipe_updates::apply_all

Erkennung (Hybrid)

  1. Unter der Install-Quelle (Auto): Ordner updates/, Updates/ oder update/ mit nummerierten Unterordnern 1 - …, 2 - … — auch mit Zwischenordner updates/<Paketname>/1 - …/ (ElAmigos)
  2. Oder direkt unter dem Root: nummerierte Ordner 1 - …
  3. Plus separates Feld Update / Fix im Quellen-Dialog (RECIPE_UPDATE_ROOT / Alias RECIPE_FIX_ROOT)

Sortierung: numerisch nach führender Zahl (1 vor 2 vor 10).

Jede Einheit: Ordner mit .exe (+ optional .bin) oder einzelne .exe.

GUI

  • Installieren: Ziel = freier Ort der Software (kein Zwangspfad). Unter der Quelle erkennt der Dialog Updates (updates/1 - …) und zeigt eine Statuszeile; Info-Button „?“ erklärt die Ordnerstruktur. Optionales Update-/Fix-Feld für separate Pakete.
  • Mehr → Update anwenden…: eigener Dialog nur für die Update-Quelle (wenn installiert und fix_kind != none).
  • Mehr → Ziel verschieben…: gesamten Datenbaum (inkl. Prefix) auf einen anderen Ordner/eine andere Platte umziehen; data_root.path und Verknüpfungen werden angepasst.
  • Idempotenz: angewandte IDs in recipe.env als APPLIED_UPDATES=1,2,… — erneutes Anwenden überspringt sie.

Core-API

Siehe CORE-API.md — Kurz:

Funktion Rolle
recipe_updates::discover Geordnete ID\|PATH-Liste
recipe_updates::roots_from_env Roots aus Env
recipe_updates::apply_all Ausführen + State
recipe_updates::status Log/Validate

ISO großer Spiel-Packs: core/recipe-iso.shMount (udisksctl), kein Voll-Extract.

Beispiel-Layout

Halo Campaign Evolved/          ← Quelle
  Halo Campaign Evolved.iso
  updates/
    1 - Halo … update …/
      *.exe
      elamigos-1.bin

# oder separates Update-Root:
… update 29.07.2026/
  1 - …

Referenz-Rezept: halo-campaign-evolved.

Weiter