89 lines
3.4 KiB
Markdown
89 lines
3.4 KiB
Markdown
# synadm TUI – Thüringen Edition
|
||
|
||
Die Thüringen Edition ergänzt den unveränderten Anwendungskern von [`synadm-tui`](https://git.blackwall.ipv64.de/pan/synadm-tui) um das Thüringen-Thema, das Wappen und getrennte Release-Pakete.
|
||
|
||
Programmlogik, Navigation, Assistenten und Sicherheitsfunktionen werden nicht kopiert. Das Repository bindet einen geprüften `synadm-tui`-Stand als Git-Submodul ein; dadurch bleiben beide Editionen funktional identisch.
|
||
|
||
Die Bedienung funktioniert wahlweise per Tastatur oder Maus. Ein Klick auf einen Bereich zeigt dessen Befehle; ein Klick auf einen Befehl öffnet ihn direkt.
|
||
|
||
## Quellcode testen
|
||
|
||
```bash
|
||
git clone --recurse-submodules https://git.blackwall.ipv64.de/pan/synadm-tui-thueringen.git
|
||
cd synadm-tui-thueringen
|
||
PYTHONPATH=vendor/synadm-tui python3 -m unittest discover -v
|
||
PYTHONPATH=vendor/synadm-tui python3 -m synadm_tui_thueringen --version
|
||
```
|
||
|
||
## Native Datei und Pakete bauen
|
||
|
||
```bash
|
||
python3 -m pip install pyinstaller
|
||
python3 scripts/build_native.py
|
||
python3 scripts/build_packages.py
|
||
cd dist/packages && sha256sum --check SHA256SUMS
|
||
```
|
||
|
||
## Pakete ohne Runner veröffentlichen
|
||
|
||
```bash
|
||
python3 scripts/publish_packages.py --tea-login Building --dry-run
|
||
python3 scripts/publish_packages.py --tea-login Building
|
||
```
|
||
|
||
DEB-Pakete werden in die Distribution `thueringen`, RPM-Pakete in die Gruppe `thueringen` veröffentlicht. Dadurch bleiben auch die Paketquellen von der Standard Edition getrennt.
|
||
|
||
## Über APT installieren
|
||
|
||
```bash
|
||
sudo install -d -m 0755 /etc/apt/keyrings
|
||
sudo curl -fsSL https://git.blackwall.ipv64.de/api/packages/pan/debian/repository.key \
|
||
-o /etc/apt/keyrings/pan-gitea.asc
|
||
echo "deb [signed-by=/etc/apt/keyrings/pan-gitea.asc] https://git.blackwall.ipv64.de/api/packages/pan/debian thueringen main" \
|
||
| sudo tee /etc/apt/sources.list.d/synadm-tui-thueringen.list
|
||
sudo apt update
|
||
sudo apt install synadm-tui-thueringen
|
||
```
|
||
|
||
APT wählt automatisch die neueste verfügbare Version. Eine Versionsangabe wie
|
||
`synadm-tui-thueringen=0.17` ist für die normale Installation nicht erforderlich.
|
||
|
||
Dieser Ablauf wurde mit Version 0.17 in einer isolierten APT-Umgebung geprüft: Signaturprüfung, Paketauflösung, Download, Dateirechte und Programmstart waren erfolgreich.
|
||
|
||
## RPM-Status
|
||
|
||
Die getrennte und signierte RPM-Quelle wird so eingerichtet:
|
||
|
||
```bash
|
||
sudo curl -fsSL https://git.blackwall.ipv64.de/api/packages/pan/generic/synadm-tui-repository/1/synadm-tui-thueringen.repo \
|
||
-o /etc/yum.repos.d/synadm-tui-thueringen.repo
|
||
sudo dnf install synadm-tui-thueringen
|
||
```
|
||
|
||
Ab Version 0.16 besitzen die RPM-Pakete dieselbe eingebettete RSA/SHA512-Signatur wie die Standard Edition. `gpgcheck=1` bleibt aktiviert; der öffentliche Schlüssel wird aus dem neutralen Kernrepository geladen.
|
||
|
||
## Gemeinsamen Kern aktualisieren
|
||
|
||
Nach einem neuen `synadm-tui`-Release wird ausschließlich der Submodul-Pin aktualisiert:
|
||
|
||
```bash
|
||
git -C vendor/synadm-tui fetch --tags
|
||
git -C vendor/synadm-tui checkout vNEUE_VERSION
|
||
git add vendor/synadm-tui
|
||
PYTHONPATH=vendor/synadm-tui python3 -m unittest discover -v
|
||
```
|
||
|
||
Anschließend werden Overlay-Version, Binärdatei und Pakete mit derselben Versionsnummer gebaut. Programmlogik wird nicht kopiert.
|
||
|
||
## Voraussetzungen
|
||
|
||
- Linux x86-64 oder ARM64
|
||
- Python 3.10+ für den Quellstart
|
||
- PyInstaller für native Builds
|
||
- `dpkg-deb` und `rpmbuild` für Systempakete
|
||
- separat installiertes `synadm`, wahlweise über den integrierten Installationsassistenten
|
||
|
||
## Lizenz
|
||
|
||
GPL-3.0-or-later, siehe `LICENSE`.
|