Initiales Setup


TODO: Voraussetzungen
velobox_S<major><minor><revision>.tar.gz

Stichpunkte

Dateinamen

*)Die Variante "S"(Setup) gibt es nicht als öffentliches Download.

Versionierung

Die Versionierung aller Softwarekomponenten folgt der Regel:

<main>.<minor>.<revision>[_<ancestor>].
revision:
Eine Version mit neuer Revisionsnummer beinhaltet nur Korrekturen.
minor:
Eine neue Unterversion ist kompatibel zu ihrem Vorgänger.
main:
Eine neue Hauptversion ist evtl. nicht kompatibel zu ihrem Vorgänger.
ancestor:
Ein optionaler "Vorläufigkeitsanhang" kennzeichnet die Version als vorläufigen Vorgänger der eigentlichen Version.
Versionen mit Vorläufigkeitsanhang werden nicht offiziell über vlbupdate verteilt und dürfen in FROM_MIN, FROM_MAX und TO in vlbupdates.json nicht vorkommen.*) Sie werden von vlbupdate ersetzt, wenn eine entsprechende fertige Version vorliegt.
Der optionale Vorläufigkeitsanhang kann folgende Formen annehmen:

Vorläufer Bedeutung Bemerkung
X[<date>] eXperimentell
A[<date>] Alpha prinzipiell unfertig
B<nr>[U[<date>]]Beta <nr> evtl. unfertig
P<nr>[U[<date>]]Prerelease <nr> evtl. unfertig
U[<date>] UnfinishedUnfertige neue Version
Die Datumsangaben haben das Format "YYYYMMDD".
Hinweis:
Das Datum sollte immer den Tag der Erstellung des Updates angeben. Die aktuelle (eingecheckte) Entwicklerversion wird zweckmäßigerweise ohne Datum angegeben. Dieses wird erst beim Erstellen des .tar.gz Paketes angehängt (oder ggf. ersetzt).

*) Man kann zu Testzwecken ggf. ein vorläufiges Update über die Direkteingabe des Namens der Downloaddatei bereitstellen, der nicht in der Datei vlbupdates.json auftaucht. Zudem ist es möglich, statt der angegebenen fertigen TO-Version X.Y.Z, eine vorläufige Version zu installieren. Dann aber muß das Installationsskript selbst regeln, inwieweit ein Update auf die installierte Version möglich ist.

Setup und Update mit Downgrade bei Fehler

Die beiden Daemons <vmkdaemon> (vlbupdate und vmkstationd) der Velobox werden mit allen ihren Dateien im Verzeichnis /usr/local/<vmkdaemon>_V<version> entpackt. Alte Versionen werden nicht gelöscht. (Noch) interessierende Versionen sind wie folgt verlinkt:

/usr/local/<vmkdaemon>:
Dieser Link zeigt auf die aktuelle Version, die vom Startskript aufgerufen werden soll.
/usr/local/<vmkdaemon>_next:
Dieser Link wird nach dem Entpacken einer neuen Version erzeugt und verweist auf eben diese.
Wenn das Startskript einen solchen Link findet, tut es folgendes:
  • Sofern es einen Link /usr/local/<vmkdaemon>_last gibt, wird dieser gelöscht.
  • Der Link /usr/local/<vmkdaemon> wird umbenannt in /usr/local/<vmkdaemon>_last.
  • Der Link /usr/local/<vmkdaemon>_next wird umbenannt in /usr/local/<vmkdaemon>. Damit wird die neue Version aktiviert.
  • Der Daemon (die nunmehr aktuelle, neue Version) wird gestartet.
Am Ende des erfolgreichen Durchlaufens der Startprozedur des Daemons löscht dieser einen evtl. vorhandenen Link /usr/local/<vmkdaemon>_last.
/usr/local/<vmkdaemon>_last:
Dieser Link zeigt auf die letzte Vorgängerversion.
Wenn das Startskript einen solchen Link findet, bedeutet das, daß der Start der (neuen) aktuellen Version gescheitert ist. Es tut deshalb folgendes:
  • Der Link /usr/local/<vmkdaemon> wird gelöscht.
  • Der Link /usr/local/<vmkdaemon>_last wird umbenannt in /usr/local/<vmkdaemon>.
  • Der Daemon (die vorhergehende, bereits gelaufene Version) wird gestartet.

TODO Erstellen von Installationspaketen

velobox3/devel/create_velobox_tar_gz.sh

TODO Updateskripte für vlbupdate