Commit Graph
8 Commits
Author SHA1 Message Date
ARIA 0d0c137de3 native-macos: Downloads-Bibliothek des Docker-Tools als zweite Quelle nutzbar machen
- Neuer Auswahlschritt: Apple-Server (Download) vs. lokale downloads/library
  (Docker-Tool) -- letzteres komplett offline nutzbar.
- InstallAssistant.pkg (Big Sur+) wird per installer -pkg -target / zur
  vollstaendigen Install-App entpackt, danach normaler
  createinstallmedia-Weg.
- BaseSystem.dmg/InstallESD.dmg (bis Catalina) ist bereits ein fertiges
  bootfaehiges Volume -- kein createinstallmedia noetig, stattdessen
  diskutil eraseDisk + asr restore --erase (etablierte Community-Technik).
- Flat-JSON-Parser (sed) fuer meta.json ohne jq/python3-Abhaengigkeit.
- Auswahl-/Verzweigungslogik unter Linux mit simulierter Bibliothek
  end-to-end durchgetestet (beide Modi laufen korrekt bis zum jeweils
  ersten macOS-only-Befehl).
2026-07-18 12:04:03 +02:00
ARIA e4dd003bd6 feat(native-macos): create-stick.sh — nativer createinstallmedia-Weg fuer echte Macs
Alternative zum Docker/Linux-Tool: nutzt softwareupdate --fetch-full-installer
+ createinstallmedia direkt, wenn ein Mac (10.15+) verfuegbar ist. Bewusst
unabhaengig vom ./downloads-Ordner, da createinstallmedia die volle
Install-App braucht, nicht die rohen Katalog-Images des Docker-Pfads.
Reines Terminal-Menue ohne externe Abhaengigkeiten (softwareupdate, diskutil,
PlistBuddy). Zukunftssicher analog zum Docker-Tool, da Apples eigene
Versionsliste live abgefragt wird.
2026-07-18 09:53:41 +00:00
ARIA 6f8538428c feat: Multiboot-Stick-Modus (mehrere macOS-Versionen auf einem USB-Stick)
- GUI: dritter Modus-Umschalter, Checkbox-Mehrfachauswahl statt Single-Select
- Backend: sgdisk partitioniert den Stick in N Apple_HFS-Partitionen (Typ AF00),
  jede mit Label = macOS-Titel/Version, jede bekommt ihr eigenes Installer-Image
  per dd -- Macs EFI-Bootpicker (Alt/Option) zeigt alle Partitionen zur Auswahl
- Groessen-Check VOR dem Schreiben: bricht mit klarer Fehlermeldung ab wenn der
  Stick zu klein ist, statt mittendrin zu scheitern
- Dockerfile: parted (partprobe) ergaenzt
- End-to-end gegen ein echtes Loop-Device verifiziert: sgdisk legt korrekte
  Partitionen mit Labels an, dd schreibt in die richtige Partition, Inhalt
  stimmt exakt ueberein (nicht nur behauptet)
- README: neuer Abschnitt 4 (Funktionsweise, Ablauf, ehrliche Grenzen),
  Multiboot als experimentell markiert (erbt recovery-Pfad-Unsicherheit bei
  Big Sur+, kein echter Mac-Boot-Test bisher durchgefuehrt)
2026-07-18 11:34:59 +02:00
ARIA 5c2cdd7543 feat: Offline-Bibliothek + Download-only-Modus
Neuer Modus in der GUI: Image nur herunterladen und dauerhaft unter
./downloads/library/ ablegen, ohne USB-Stick. Baut sich so vorab eine
komplette Offline-Sammlung aller macOS-Versionen auf (z.B. auf externe
Platte kopierbar). Stick-Jobs pruefen jetzt IMMER zuerst die lokale
Bibliothek und ueberspringen den Download bei Treffer -- jeder normale
Stick-Bau traegt so nebenbei zur Bibliothek bei.

Backend: installer.py bekommt job_type (stick|download), persistente
Downloads in library/<name>/ mit meta.json + atomarem .part-Rename,
neue /api/library. Frontend: Modus-Umschalter, Bibliotheks-Status,
Offline-Badges in der Versionsliste.

Live getestet auf aria-wohnung: Container neu gebaut, Katalog laedt 37
Installer, Download-Job End-to-End ueber die echte API (Cache-Miss dann
Cache-Hit verifiziert), Stick-Job-Validierung weiterhin intakt.
2026-07-18 10:58:55 +02:00
ARIA 40964b9130 docker-compose: Downloads als Bind-Mount statt named volume
Downloads landen jetzt in ./downloads im Projektverzeichnis statt in
einem Docker-Volume -- Projekt bleibt portabel (Ordner kopieren/
verschieben reicht, kein docker volume inspect noetig). ./downloads
wird per .gitignore ausgeschlossen, Docker legt den Ordner beim ersten
Start automatisch an.
2026-07-18 10:49:13 +02:00
aria.hacker 1c97be6bb7 fix: apt deb822/OpenSSL3/pbzx-repo build errors + Big-Sur+-Katalogfilter
- Dockerfile: hfsprogs-Sources per sed auf bestehende deb822-Datei
  patchen statt zweite sources.list-Datei (Signed-By-Konflikt)
- Dockerfile: xar configure.ac OpenSSL-Probe auf EVP_EncryptInit
  umbiegen (OpenSSL_add_all_ciphers ist in OpenSSL 3.x nur noch Makro)
- Dockerfile: xar vor pbzx bauen (Linker-Abhaengigkeit), pbzx-Quelle auf
  NiklasRosenstein/pbzx (mackyle/pbzx existiert nicht mehr)
- catalog.py: doppeltes gzip.decompress auf bereits von requests
  dekomprimierten Content entfernt
- catalog.py: Big-Sur-bis-Tahoe-Installer wurden durch veralteten
  OSInstall-Filter komplett verworfen, jetzt SharedSupport-Schema
  ebenfalls erkannt (37 statt 13 gefundene Installer)

Alles live gegen echten docker compose build/up + echten Apple-Katalog
verifiziert, nicht nur behauptet.
2026-07-18 10:46:45 +02:00
ARIA c6dc2cd9cb fix(docker): hfsprogs/xar Build-Fehler beheben
hfsprogs liegt in Debians non-free-Repo (bookworm-slim aktiviert nur main),
xar existiert in bookworm ueberhaupt nicht als Paket. non-free per eigener
sources.list.d aktiviert, xar aus dem mackyle-Upstream (gleicher Maintainer
wie das bereits genutzte pbzx) selbst gebaut.
2026-07-18 08:30:41 +00:00
ARIA e93ab96faa Initial commit: macOS USB Stick Creator - Docker Compose Web-GUI fuer bootfaehige macOS-Installer 2026-07-18 08:25:03 +00:00