Metainformationen zur Seite
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
entwickler:plugin_fur_den_loxberry_entwickeln_ab_version_1x:start [2023/01/26 22:15] – Michael Schlenstedt | entwickler:plugin_fur_den_loxberry_entwickeln_ab_version_1x:start [2024/04/22 09:26] (aktuell) – [Unterverzeichnis: dpkg OPTIONAL] Michael Schlenstedt | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== Plugin für den Loxberry entwickeln | + | ====== Plugin für den Loxberry entwickeln ====== |
<do Prof.Mobilux> | <do Prof.Mobilux> | ||
- | |||
- | <do Prof.Mobilux> | ||
- | |||
- | <do Prof.Mobilux> | ||
- | |||
- | <WRAP center round tip 100%> | ||
- | |||
- | == Plugin-Interface V2 == | ||
- | |||
- | Diese Beschreibung erklärt die Erstellung eines Plugins mit dem **Plugin-Interface V2**, welches erst ab //LoxBerry V1.x// zur Verfügung steht. Plugins mit **Plugin-Interface V2** sind //nicht// kompatibel mit //LoxBerry V0.2.x//. | ||
- | |||
- | </ | ||
Der LoxBerry kann über Plugins erweitert werden. Plugins bestehen aus einer Reihe von Dateien in einem Standard-ZIP-Archiv, | Der LoxBerry kann über Plugins erweitert werden. Plugins bestehen aus einer Reihe von Dateien in einem Standard-ZIP-Archiv, | ||
Zeile 71: | Zeile 59: | ||
- Installation der Datei " | - Installation der Datei " | ||
- Installation zusätzlicher Pakete aus dem Distributions-Repository mit apt-get aus der Datei dpkg/apt | - Installation zusätzlicher Pakete aus dem Distributions-Repository mit apt-get aus der Datei dpkg/apt | ||
- | - Nur Raspberry-Architektur: | + | - Installation zusätzlicher mitgelieferter DEB-Pakete aus dem Verzeichnis dpkg/< |
- | - Nur X86-Architektur: | + | |
- | - Nur X64-Architektur: | + | |
- Ausführen der Datei " | - Ausführen der Datei " | ||
- Nur bei Update: Ausführen der Datei " | - Nur bei Update: Ausführen der Datei " | ||
Zeile 95: | Zeile 81: | ||
</ | </ | ||
- | | | Key | Value | | + | | |
| 1 | NAME | Legt den Namen des Autors oder der Projektgruppe fest. | | | 1 | NAME | Legt den Namen des Autors oder der Projektgruppe fest. | | ||
| 2 | EMAIL | Email-Adresse des Autors oder der Projektgruppe | | 2 | EMAIL | Email-Adresse des Autors oder der Projektgruppe | ||
Zeile 135: | Zeile 121: | ||
</ | </ | ||
- | | | Key | Value | | + | | |
| 1 | VERSION | Version des Plugins. Kann verwendet werden um spezielle Aktionen bei einem Update auszuführen (siehe unten). Wird zudem in der Plugin-Verwatung des LoxBerry angezeigt.\\ \\ Die Version muss eine [[entwickler: | | 1 | VERSION | Version des Plugins. Kann verwendet werden um spezielle Aktionen bei einem Update auszuführen (siehe unten). Wird zudem in der Plugin-Verwatung des LoxBerry angezeigt.\\ \\ Die Version muss eine [[entwickler: | ||
| 2 | NAME | Kurzer Plugin-Name. Keine Leerzeichen, | | 2 | NAME | Kurzer Plugin-Name. Keine Leerzeichen, | ||
Zeile 170: | Zeile 156: | ||
# plugin do not use any special features of an architecture. | # plugin do not use any special features of an architecture. | ||
# PUT in QUOTES "" | # PUT in QUOTES "" | ||
- | # Please check http:// | + | ARCHITECTURE=" |
- | # architectures and strings you should use here. | + | |
- | ARCHITECTURE=" | + | |
# If you are using the LoxBerry:: | # If you are using the LoxBerry:: | ||
Zeile 183: | Zeile 167: | ||
</ | </ | ||
- | | | Key | Value | | | + | | |
| 1 | REBOOT | | 1 | REBOOT | ||
| 2 | LB_MINIMUM | | 2 | LB_MINIMUM | ||
| 3 | LB_MAXIMUM | | 3 | LB_MAXIMUM | ||
- | | 4 | ARCHITECTURE | + | | 4 | ARCHITECTURE |
| 5 | CUSTOM_LOGLEVELS | Wenn true, wird im Plugin Management Widget dem User eine Auswahl an verschiedenen Loglevels angezeigt. Kann in Verbindung mit den LoxBerry Libraries LoxBerry:: | | 5 | CUSTOM_LOGLEVELS | Wenn true, wird im Plugin Management Widget dem User eine Auswahl an verschiedenen Loglevels angezeigt. Kann in Verbindung mit den LoxBerry Libraries LoxBerry:: | ||
- | | 6 | INTERFACE | + | | 6 | INTERFACE |
**4. Block: AUTOUPDATE** | **4. Block: AUTOUPDATE** | ||
Zeile 214: | Zeile 198: | ||
</ | </ | ||
- | | | Key | Value | | | + | | |
| 1 | AUTOMATIC_UPDATES | Legt fest, ob das Plugin die AutoUpdate-Funktion zur Verfügung stellt oder nicht. Details hier: [[entwickler: | | 1 | AUTOMATIC_UPDATES | Legt fest, ob das Plugin die AutoUpdate-Funktion zur Verfügung stellt oder nicht. Details hier: [[entwickler: | ||
- | | 2 | RELEASECFG | + | | 2 | RELEASECFG |
- | | 3 | PRERELEASECFG | + | | 3 | PRERELEASECFG |
====== Rootverzeichnis - Datei: | ====== Rootverzeichnis - Datei: | ||
- | Bei der Datei // | + | Bei der Datei // |
Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | ||
Zeile 345: | Zeile 329: | ||
====== Rootverzeichnis - Datei: | ====== Rootverzeichnis - Datei: | ||
- | Bei der Datei // | + | Bei der Datei // |
Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | ||
Zeile 469: | Zeile 453: | ||
====== Rootverzeichnis - Datei: | ====== Rootverzeichnis - Datei: | ||
- | Bei der Datei // | + | Bei der Datei // |
Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | ||
Zeile 591: | Zeile 575: | ||
====== Rootverzeichnis - Datei: | ====== Rootverzeichnis - Datei: | ||
- | Bei der Datei // | + | Bei der Datei // |
Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | ||
Zeile 714: | Zeile 698: | ||
====== Rootverzeichnis - Datei: | ====== Rootverzeichnis - Datei: | ||
- | Bei der Datei // | + | Bei der Datei // |
Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | ||
Zeile 838: | Zeile 822: | ||
====== Rootverzeichnis - Datei: | ====== Rootverzeichnis - Datei: | ||
- | Bei der Datei // | + | Bei der Datei // |
Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | Dem Skript werden auf der Kommandozeile folgende Parameter übergeben, die innerhalb des Bashskripts verwendet werden können: | ||
Zeile 1116: | Zeile 1100: | ||
====== Unterverzeichnis: | ====== Unterverzeichnis: | ||
- | Über dieses Unterverzeichnis können vom Plugin fehlende Softwarepakete nachinstalliert werden. Hierbei kann sowohl auf Stadardpakete | + | Über dieses Unterverzeichnis können vom Plugin fehlende Softwarepakete nachinstalliert werden. Hierbei kann sowohl auf Standardpakete |
**Software aus dem Standard Raspbian Repository: | **Software aus dem Standard Raspbian Repository: | ||
Zeile 1122: | Zeile 1106: | ||
Hierzu muss im Verzeichnis die Datei "'' | Hierzu muss im Verzeichnis die Datei "'' | ||
- | Vor Installation | + | Es ist auch möglich, abhängig von der **LoxBerry** Major-Versionsnummer unterschiedliche |
- | Wenn vom Plugin keine zusätzlichen Pakete benötigt werden, ist es ratsam die Datei //apt// zu löschen und nicht im Pluginarchiv zur Verfügung zu stellen. So wird die Installation des Plugins deutlich beschleunigt, | + | Zusätzlich ist es auch möglich, abhängig von der **Debian** Major-Versionsnummer unterschiedliche Pakete zu installieren. Diese Änderung war notwendig, weil nicht mehr zwingend anhand der LoxBerry Major-Versionsnummer auf die darunter liegende Debian-Versionsnummer geschlossen werden kann (seit DietPi kann z. B. LoxBerry 3.0 auf unterschiedlichen Distributionsversionen laufen). Dazu wird die Debian Major Versionsnummer an den Dateinamen der apt-Datei angehängt, also z. B. "'' |
+ | |||
+ | Vor Installation der Pakete wird der Befehl '' | ||
+ | |||
+ | Wenn vom Plugin keine zusätzlichen Pakete benötigt werden, ist es ratsam die Datei '' | ||
**Beispiel: Datei apt** | **Beispiel: Datei apt** | ||
Zeile 1139: | Zeile 1127: | ||
**Software aus selbst mitgelieferten DEB-Paketen: | **Software aus selbst mitgelieferten DEB-Paketen: | ||
- | Möchte man direkt DEB-Pakete mitliefern, z. B. weil die benötigte Software im Standard-Repository nicht zur Verfügung steht, muss für jede Hardware-Architektur ein entsprechendes Unterverzeichnis angelegt werden: | + | Möchte man direkt DEB-Pakete mitliefern, z. B. weil die benötigte Software im Standard-Repository nicht zur Verfügung steht, muss für jede Hardware-Architektur ein entsprechendes Unterverzeichnis angelegt werden, in dem dann die DEB-Pakete liegen. Es werden dabei Verzeichnisse mit dem Architektur-Namen erwartet, die auch der Befehl uname -m zurückliefert. Mit DietPi wurden die unterstützten Architekturen erweitert (ab LoxBerry 3.0). Aktuell (Stand: 07.03.2023) sind das: |
- | | Architektur | + | ^ Architektur |
- | | Raspberry | + | | %%Armv6l%% |
- | | X86 | '' | + | | %%Armv7l%% |
- | | X64 | '' | + | | %%Aarch64 bzw. Arm64%% |
+ | | %%x86_64%% | '' | ||
+ | | %%Riscv64%% | '' | ||
In die Unterverzeichnisse werden dann die DEB-Pakete direkt abgelegt. Diese werden auf der jeweiligen Hardware-Plattform in alphabetischer Reihenfolge per '' | In die Unterverzeichnisse werden dann die DEB-Pakete direkt abgelegt. Diese werden auf der jeweiligen Hardware-Plattform in alphabetischer Reihenfolge per '' | ||
+ | |||
====== Besonderheiten / Hinweise ====== | ====== Besonderheiten / Hinweise ====== |