Dokumentiert, dass die vor-gerenderten Panel-Bitmaps (img.cache) Laufzeit- Pflicht sind und nicht regeneriert werden können. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
49 lines
2.1 KiB
Docker
49 lines
2.1 KiB
Docker
# VA-Remotecontrol NATIV auf Linux (kein Wine) — aus ORIGINAL-macOS-Bytecode.
|
|
#
|
|
# Kernidee: die App-Module (one_unit, child_unit, ...) liegen im macOS-.app als
|
|
# UNVERAENDERTES Python-2.7-Bytecode vor. CPython-Bytecode ist OS-unabhaengig,
|
|
# laeuft also direkt auf einem Linux-CPython-2.7 — KEINE Dekompilierung noetig.
|
|
# Nur die C-Extensions kommen nativ aus dem Distro (wxGTK3, numpy, scipy, ...).
|
|
#
|
|
# macOS-Build nutzt wxPython 3.0.3 (Classic) -> Linux-Pendant: python-wxgtk3.0
|
|
# (wxPython 3.0.2) aus Debian stretch. Stretch ist EOL -> archive.debian.org.
|
|
# Muss auf einer Maschine gebaut werden, die archive.debian.org erreicht.
|
|
FROM debian:stretch
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# stretch ist EOL -> Paketquellen auf archive.debian.org umbiegen.
|
|
# [trusted=yes] = Signaturpruefung aus (Release-Key ist abgelaufen/fehlt im
|
|
# Base-Keyring -> sonst exit 100). Check-Valid-Until aus = abgelaufenes Release ok.
|
|
# WICHTIG: debian-security MUSS mit rein - das Base-Image hat security-gepatchte
|
|
# Libs (z.B. libnettle6 ...deb9u1); ohne stretch/updates findet apt die passenden
|
|
# libhogweed4/libgnutls30/libcups2 (deb9u1) nicht -> "held broken packages".
|
|
RUN { echo 'deb [trusted=yes] http://archive.debian.org/debian stretch main contrib'; \
|
|
echo 'deb [trusted=yes] http://archive.debian.org/debian-security stretch/updates main'; \
|
|
} > /etc/apt/sources.list && \
|
|
echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99no-check-valid && \
|
|
apt-get update && \
|
|
apt-get install -y --no-install-recommends \
|
|
python-wxgtk3.0 \
|
|
python-numpy \
|
|
python-scipy \
|
|
python-serial \
|
|
python-pyaudio \
|
|
python-imaging \
|
|
xauth \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# App-Baum: ORIGINAL Mac-.pyc + pure-Python-Libs + Assets + Linux-win32-Stubs.
|
|
# Enthaelt auch die vor-gerenderten Panel-Bitmaps (img.cache) - Laufzeit-PFLICHT,
|
|
# sonst "Failed to get image ..." (keine PNG-Quellen zum Regenerieren vorhanden).
|
|
COPY va /opt/va
|
|
|
|
# Nicht als root laufen
|
|
RUN useradd -m app && chown -R app /opt/va
|
|
USER app
|
|
ENV HOME=/home/app
|
|
|
|
WORKDIR /opt/va
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
ENTRYPOINT ["/bin/bash", "/entrypoint.sh"]
|