fixed APT Repo (actual cope rn)

This commit is contained in:
2026-07-05 23:49:47 +02:00
parent baad0dca55
commit e6d0e38cd9
6 changed files with 187 additions and 2 deletions
+27 -2
View File
@@ -75,10 +75,32 @@ Releases werden als normale Releases angelegt, nicht als Pre-Releases.
Der Workflow veröffentlicht zusätzlich einen einfachen Debian-Repo-Baum auf
dem Branch `apt`.
Die Einbindung ist dann über die Raw-URL des Branches möglich, zum Beispiel:
Wichtig: APT braucht anonym erreichbare HTTP-Dateien wie `dists/stable/Release`
und `pool/...deb`. Ein funktionierendes `git ls-remote` reicht dafür nicht aus.
Auf dieser Gitea-Instanz war die bisher dokumentierte Raw-URL für anonyme
HTTP-Clients nicht erreichbar und lieferte `404`. Genau daran scheitert dann
`apt update` auf Ubuntu, obwohl der `apt`-Branch in Git existiert.
Deshalb gilt:
- nutze für Clients nur eine wirklich öffentlich erreichbare statische HTTP-URL
- setze diese Basis-URL in `config/mesa-opt.conf` als `APT_PUBLIC_BASE_URL`
- der Workflow prüft dann nach dem Publish, ob `Release`, `Packages` und das
referenzierte `.deb` anonym abrufbar sind
Beispiel für die Konfiguration:
```bash
APT_SUITE="stable"
APT_COMPONENT="main"
APT_PUBLIC_BASE_URL="https://packages.example.tld/mesa-repo"
```
Die Einbindung auf dem Client sieht dann so aus:
```text
deb [trusted=yes] https://git.mp-mueller.de/magges/mesa-repo/raw/branch/apt stable main
deb [trusted=yes] https://packages.example.tld/mesa-repo stable main
```
Danach:
@@ -92,6 +114,8 @@ Hinweis:
- das Repo ist aktuell unsigniert
- für APT wird deshalb hier `trusted=yes` verwendet
- `scripts/verify-apt-repo.sh --remote` prüft, ob die öffentliche URL wirklich
APT-tauglich ist
- wenn du willst, kann ich als nächsten Schritt auch noch Release-Signierung mit GPG einbauen
## Wichtige Dateien
@@ -100,6 +124,7 @@ Hinweis:
- `scripts/build-mesa-opt.sh`: Build und Paketierung
- `scripts/generate-release-notes.sh`: automatische Release-Notes aus Mesa-Commits
- `scripts/generate-apt-repo.sh`: erzeugt den APT-Repo-Baum
- `scripts/verify-apt-repo.sh`: prüft Repo-Struktur und optional den öffentlichen APT-Endpunkt
- `.gitea/workflows/build.yml`: Gitea-Workflow
## Benutzung