packaging/iso: uninstall safety, fail-closed AUR updates, no sshd on live ISO

- tanin-greet.install: post_remove restores the previous greetd config —
  removing the package no longer leaves greetd pointing at a dead binary
- aur-autoupdate: skip packages when the AUR RPC is unreachable instead of
  building blind (fail closed)
- build-tanin-repo: per-package makepkg logs instead of >/dev/null
- live ISO: drop sshd.service enablement (root has an empty password on the
  live medium); encoded in bootstrap-profile.sh so it survives re-bootstrap
- gtklock config: de-personalize hardcoded /home/karim path, mark as
  not-yet-packaged reference
- tanin-desktop PKGBUILD: correct stale AUR-vs-extra comments (gtklock,
  awww, cliphist are in extra), document the eww-git provides=eww contract
- docs/distribution.md: mark SigLevel TrustAll as temporary/insecure, add
  repo-signing TODO (repo-add -s, SigLevel Required), tick done roadmap items
- tanin-calendar + niri-config.kdl: pending session work

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-02 21:22:20 +02:00
parent ccc2d4e15d
commit 8fb8efcbbd
13 changed files with 1432 additions and 1058 deletions
+23 -5
View File
@@ -27,8 +27,8 @@ AUR/Binär-Pakete dürfen **nicht** nach `/home` schreiben. Daher:
## Phasen
1. **Fundament**`packaging/taninux/PKGBUILD` (fertig), LICENSE wählen,
`cd packaging/taninux && makepkg -si` lokal testen.
1. **Fundament**`packaging/taninux/PKGBUILD` (fertig), LICENSE (✅ da,
GPL-3.0-or-later), `cd packaging/taninux && makepkg -si` lokal testen.
2. **Meta + Config**`tanin-desktop` (Skelett da), `tanin-eww`, `tanin-setup`.
3. **Eigenes Repo `[tanin]`**. Hosts:
- **Code** → `git.openbureau.ch/karim/taninux` (PKGBUILD-`source`, woher `makepkg` klont)
@@ -47,11 +47,29 @@ AUR/Binär-Pakete dürfen **nicht** nach `/home` schreiben. Daher:
`pacman.conf`-Snippet für User:
```ini
[tanin]
SigLevel = Optional TrustAll # später: Required + Key importieren
# TEMPORÄR + UNSICHER: TrustAll akzeptiert JEDES Paket ohne Signaturprüfung.
# Nur zum Bootstrappen, solange die DB noch nicht signiert ist. Sobald der
# Packager-Key steht -> auf "Required DatabaseOptional" umstellen (siehe unten).
SigLevel = Optional TrustAll
Server = https://taninux.kgva.ch/$arch
```
4. **Calamares / ISO** — `archiso`-Profil mit `[tanin]` vorkonfiguriert +
Calamares `packages`-Modul, das `tanin-desktop` installiert.
#### Repo-Signing (TODO)
Zielzustand (bevor das Repo öffentlich empfohlen wird):
1. Packager-GPG-Key erzeugen (`gpg --full-gen-key`) und öffentlich ablegen
(z. B. `taninux.kgva.ch/tanin.gpg`), damit User ihn importieren können.
2. DB **signiert** bauen: `repo-add -s tanin.db.tar.zst *.pkg.tar.zst`
(`-s` signiert DB + jedes hinzugefügte Paket mit dem Packager-Key).
3. Key beim User installieren (`pacman-key --add`, `pacman-key --lsign-key`)
und dann in `pacman.conf` scharfschalten:
```ini
SigLevel = Required DatabaseOptional
```
→ jedes Paket muss signiert sein; die DB-Signatur ist optional.
4. **Calamares / ISO** ✅ — `archiso`-Profil mit `[tanin]` vorkonfiguriert +
Calamares `packages`-Modul, das `tanin-desktop` installiert
(`iso/build-profile/`, gebaute ISO in `iso/out/`).
## Dark Mode / Portal (Session-Fix)