1. Grundidee
Die Anwendung liegt auf dem Zielrechner unter `/opt/scoreboard`.
Dort stehen zwei Sorten von Dingen nebeneinander:
- **Programmteile**, die bei jedem Update ersetzt werden sollen
- **Nutzdaten**, die ein Update auf keinen Fall anfassen darf
Deshalb wird jedes Verzeichnis genau einer von vier Kategorien
zugeordnet. Die Zuordnung steht in der `build.conf`:
| Kategorie | Verzeichnisse | Bedeutung |
|---|---|---|
| `REPLACE_DIRS` | `lib`, `etc`, `web` | Gehören dem Paket. dpkg ersetzt sie bei jedem Update. |
| `INITIAL_COPY_DIRS` | `data`, `auto-sync`, `scripte`, `tokens` | Werden nur bei der Erstinstallation angelegt. Ein Update lässt sie in Ruhe. |
| `CREATE_ONLY_DIRS` | `doc`, `temp`, `log`, `backup` | Werden nur als leeres Verzeichnis angelegt. |
| `APPLICATION_DIRS` | `db` | Legt die Anwendung selbst an. Das Paket fasst sie nicht an. |
Technisch ist der Unterschied wichtig: Nur was aus `REPLACE_DIRS`
kommt, landet im Paket unter `/opt/scoreboard` und gehört damit
dpkg. Alles aus `INITIAL_COPY_DIRS` wird nach
`/usr/share/scoreboard-system/initial/` gelegt und erst von
`postinstall.sh` an seinen Platz kopiert – und zwar nur, wenn dort
noch nichts steht.
**Merksatz:** Was dpkg gehört, wird ersetzt. Was dpkg nicht
gehört, bleibt.
---
No comments to display
No comments to display