RSS-Feed anzeigen

Matthieu's Gedankenstrudel

Das Synology-Toolkit zur spk-Erstellung: EnvDeploy

Bewerten
Einige Jahre nachdem Synology offiziell das Dateiformat "spk" spezifiziert und veröffentlicht hat, gibt es auch ein offizielles Toolkit um diese Pakete automatisiert zu erstellen. Einige User haben sich in der Zwischenzeit eigene Toolkits gebaut, dennoch ist das "offizielle" durchaus einen Blick wert.
Im wesentlichen besteht es aus einer Sammlung von Skripten welche eine Reihe von Aufgaben automatisieren und außerdem mit dem von Synology erstellten Repository auf Sourceforge arbeiten. Die aktuellen Quellen und Toolchains werden stehts von dort abgeholt.

Bevor ich irgendetwas beschreibe, hier die wichtigsten Links:
Zentrale Anlaufstelle für Entwickler auf der Synology-Seite
Sourceforge-Repo einschließlich der Skripte und Toolchains
Offizielle Grundlagen-Doku für Entwickler

Möchte man mit dem Toolkit arbeiten, benötigt man zunächst vor allem eine laufende Linux-Installation (VM geht auch), sowie Root-Rechte auf selbiger (zwecks chroot). Dann lädt man sich von Synology aus dem Toolkit-Ordner das gepackte Archiv "toolkit.tgz" herunter. Nach dem entpacken auf der lokalen Maschine stehen die Skripte bereit. Um die verschiedenen Umgebungen zu nutzen und für die Plattformen cross-compiling anbieten zu können, muss man diese per Skript herunterladen.
Warnung: Alle Plattformen schlucken viel Speicherplatz, da für jede eine vollständige chroot-Umgebung bereitgestellt wird. Derzeit gibt es 12 Plattformen auf Sourceforge für die man jeweils mit mindestens 1 GB rechnen muss. Auch dauert das Herunterladen dieser Datenmenge natürlich eine ganze Weile, selbst bei bester Anbindung.
Das Herunterladen lässt sich über das folgende Skript bewerkstelligen (Pfad relativ zum entpackten Ordner):
Code:
pkgscripts/EnvDeploy -v 5.0 -p qoriq
Das Skript würde nun die Entwicklungsumgebung für DSM 5.0 der qoriq-Hardwareplattform herunterladen. Die Option "-p" ist optional. Solange man nur für die eigene DS testet, empfiehlt es sich auch nur die selbst benötigten Plattformen vorzuhalten. Wenn man das Paket aber für alle Benutzer anbieten möchte, kommt man kaum an allen Plattformen vorbei. Die Angabe von "-v" ist hingegen Pflicht. Wird sie nicht beim Start übergeben, fragt das Skript interaktiv danach. Damit lassen sich auch zwecks Kompatibilität Pakete für ältere DSM-Versionen bauen.
Je nach Parameter kann das Skript eine ganze Weile arbeiten. Schlussendlich erhält man im Ordner "build_env" vollständige chroot-Umgebungen für jede Zielplattform. Wenn man sehen möchte, auf welche Projekte/Programme/Binaries man als Abhängigkeit zurückgreifen kann, hilft folgendes Kommando:
Code:
pkgscripts/EnvDeploy --info project
Ein erneutes Aufrufen des Deployment-Vorgangs wie oben beschrieben aktualisiert übrigens die Umgebungen, sofern Synology Änderungen durchgeführt hat.

So viel für heute, so wie ich weiter mit den Skripten arbeite werde ich auch diese Serie hier hoffentlich fortsetzen. Zugegeben, die offizielle Doku ist alles andere als motivierend.
Kategorien
Firmware

Kommentare

  1. Avatar von atarifreak
    Vielen Dank für diesen Beitrag. ich überlege schon länger z.B. das seedDMS als SPK-Paket anzubieten. Aber irgendwie war mir das immer zu umständlich... Wird aber wohl nicht einfacher :-)
  2. Avatar von blinddark
    wenn ich es richtig verstanden habe, läuft hier alles über die Kommandozeile von linux? Orca liest diese aus, da ist es sicher mal einen "Blick" wert.. Debian läd schon..
  3. Avatar von Matthieu
    Zitat Zitat von atarifreak
    Aber irgendwie war mir das immer zu umständlich... Wird aber wohl nicht einfacher :-)
    Es stellt sich immer die Frage ob man nicht mit Kanonen auf Spatzen schießt. Wenn man keine kompilierten Programme benötigt (Stichwort Cross-Compiling), ist es sicher einfacher andere Skripte zu verwenden oder die Pakete selbst zu bauen. Wenn man aber automatisiert Pakete für 10+ Plattformen (mit jeweils 3+ Softwareversionen) anbieten möchte, kommt man kaum daran vorbei dieses Toolkit zu nutzen, zumindest um die Binärprogramme zu erzeugen.

    MfG
  4. Avatar von johnxuster1984
    [url=http://www.weltweit-akkus.de]Laptop Akku[/url] and [url=http://www.batteries-boutique.fr]laptop batterie[/url],[url=http://www.good-batteries.co.uk]laptop batteries u[/url] news online
  5. Avatar von Annabell
    Thank for your post. But it will not be easier [URL="http://www.geometrydash.me/"]geometry dash[/URL]