Mit der ersten Veröffentlichung des OpenCloud Desktop-App wird es Zeit, darüber nachzudenken, wie wir die Desktop App – insbesondere für Linux-Nutzer – künftig ausliefern.
Wir arbeiten aktuell daran, dass der Client von den großen Linux-Distributionen übernommen wird, sodass er über deren Haupt-Paket-Repositories gewartet und ausgeliefert werden kann. Das geschieht beispielsweise bereits mit openSUSE, was uns sehr freut.
Allerdings möchten wir unsere App nicht ausschließlich über Distro-Paketierungen zur Verfügung stellen, sondern unseren Kunden die Software-Pakete auch direkt und flexibel bereitstellen können. Um also den Aufwand für die vielen ehrenamtlichen Distro-Paketpfleger und auch uns möglichst gering zu halten, haben wir folgende Lösung gefunden.
Wir werden künftig ein AppImage mit der neuesten Version der OpenCloud Desktop-App – frei für alle Nutzer – anbieten, das auf allen Linux-Distributionen und Desktop-Umgebungen lauffähig ist.
Zu beachten ist dabei, dass die Desktop App Abhängigkeiten zum installierten Linux-System hat, insbesondere zu den Dateimanager-Erweiterungen, die den Synchronisierungsstatus in Dateimanagern wie KDE Dolphin, Nautilus und anderen anzeigen. Diese Erweiterungen werden in der Regel von jeder Distribution separat gepackt.
Die gute Nachricht: Die OpenCloud Desktop-App ist so konzipiert, dass diese Erweiterungen fast vollständig unabhängig vom eigentlichen Code sind. Dadurch können die Dateimanager-Erweiterungen von den Distributionen selbst paketiert und gewartet werden – und bleiben dabei kompatibel mit Clients, die als Distro-Pakete oder als AppImages ausgeliefert werden. Der Code der Erweiterungen ist klein und stabil, so dass der Packaging-Aufwand gering bleibt.
Wir bitten die Maintainer der Linux-Distributionen, uns und unsere Nutzer zu unterstützen und die folgenden Pakete in ihre Standard-Repositories aufzunehmen.
1. Desktop-Shell-Integrations-Ressourcen
Dies ist ein statisches Paket, das allgemein verwendete Icons für alle Dateimanager-Erweiterungen enthält.
2. Desktop-Integrations-Paket
Dieses Paket erstellt Erweiterungen für Nautilus, Caja und Nemo. Alle Erweiterungen sind ähnlich und hängen von einigen Python-Paketen, CMake und dem oben genannten Ressourcenpaket ab.
3. OpenCloud Dolphin
Die Integration für Dolphin wird kompiliert und ist abhängig von spezifischen KDE Frameworks-Versionen (aktuell mindestens Version 6.1.0).
Durch die Bereitstellung dieser Pakete wird eine gute OpenCloud-Integration in die Desktop-Umgebung der Nutzer sichergestellt, unabhängig davon, ob sie die App aus ihren Repositories oder via unser AppImage installieren. Wir werden Änderungen an der Integration auf ein Minimum beschränken, um den Packaging-Aufwand gering zu halten.
Fragen oder Anmerkungen können gerne über den → OpenCloud Community Matrix Channel eingebracht werden.