PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : weitergabe einer linux-Anwendung



mile04
31-07-2004, 17:50
hallo alle Mitstreiter,
ich habe gerade eine Anwendung mit kylix3 open Edition unter Linux 9.0 Suse fertig geschrieben. ich habe auch in dem Verzeichnis die beiden Qt-Bibliotheken "libborgqt-6.9-qt2.3.so" und "libborgqt-6.9.0-qt2.3.so" eingebunden damit die Anwendung ohne Kylix zum start gebracht werden kann.
Meine Fragen lauten :
ist es alles oder soll man andere Bibliotheken für die Endanwender weiter nennen oder mitliefern?.
gibt´s andere Sachen die man in Betracht nehmen soll z.B. die Linux distribution(KDE,...) oder/und Kernel?
soll eine setup- Datei auch mitgeliefert wenn ja wie das geht?

Danke

SeeksTheMoon
31-07-2004, 19:49
wenn man sich irgendein Opensourceprogramm runterlädt, dann steht auf den Homepages oder in Readme-Dateien immer, dass man vorher die Bibliotheken xy installieren muss weil das Programm davon abhängig ist.
Mach das doch auch so, sonst musst Du Dich auch jedesmal noch drum kümmern alle Libs zusammen zu sammeln.

anda_skoa
01-08-2004, 21:19
Du brauchst ansich nur die Kylix spezifischen Bibliotheken mitgeben, bzw. extra verfügbar machen (falls das erlaubt ist).

Letzteres hat den Vorteil, dass man nicht bei jeder Kylix Anwendung wieder die Libs mit runter laden muss.

Vorteilhaft ist es, wenn man die Software in Paketen anbietet, die die Paketmanager der Distributionen installieren können.

Aber auch bei einem reinen Archiv (zB einer .tgz oder .zip Datei) sollte man darauf achten, dass die üblichen Pfade benutzt werden, also zB das Executable nach /bin, libs nach /lib)

Für Daten, Config und Menüeinträge kann man sich an den vorgeschlagenen Pfaden und Dateiformaten von freedesktop.org orientieren, besonders was den Ort und den Inhalt der .desktop Dateien betrifft, da diese die Menüenträge bestimmen.

http://www.freedesktop.org/Standards/Home

speziell:
http://www.freedesktop.org/Standards/menu-spec
http://www.freedesktop.org/Standards/basedir-spec

Ciao,
_

mile04
01-08-2004, 23:36
hallo skoa
erstmal bedanke ich mich bei dir sehr.
deine Antwort ist sehr interessant aber leider bin kein Profi. ausserdem habe mit linux kaum Erfahrung.
was meinst du mit spezifischen Bibliotheken? und wie kann man die verfügbar machen?
wie kann man das software in Paketen anbieten ?
Die sache noch mit Daten, Config und Menüeinträge
habe ich auch nicht so ganz verstanden ?
es wäre lieb wenn du das näher erlärst .
vielen Dank.

anda_skoa
02-08-2004, 18:41
.
was meinst du mit spezifischen Bibliotheken?

zB die CLX Lib von Kylix, die spezielle Qt Wrapper Lib von Kylix, also zusammen die Kylix Runtime.
Dann halt noch eventuell zusätzlich verwendete Bibliotheken.



und wie kann man die verfügbar machen?

ZB in zusätzlichen Paketen oder mit Links auf andere Downloadquellen.



wie kann man das software in Paketen anbieten ?


Ein Paket ist eine Art Archivdatei, die zusätzlich zu den Programmdateien noch Paketinformationen wie zB Abhängigkeiten und, je nach Paketmanager, auch Skripte enthalten kann, die ein Setup starten oder Dateien anlegen/löschen.

Siehst du ja wenn du dir Pakete deiner Distribution installierst.



Die sache noch mit Daten, Config und Menüeinträge
habe ich auch nicht so ganz verstanden ?

Entwickler verschiedener Desktop-Projekte (zB von KDE, GNOME, ROX, etc) haben gemeinsam Standards erarbeitet, bzw arbeiten noch daran, die es speziell für Dritthersteller (also zB für dich :) ) leichter machen sollen, ihre Software in den Desktopumgebungen einzubinden.

Dafür gibt es unter anderem die Base Directory Specification, die angibt, wo welche Art von Dateien gesucht werden sollen, bzw aus Entwicklersicht, wo Dateien abgelegt werden sollen.
Beispiel: deine Applikation möchte bestimmte Dateien eines Benutzer in einem Cache verwalten.
Die Applikation würde dann gemäß Base Dir Spec die Umgebungsvariable XDG_CACHE_DIR lesen und falls nicht leer, das dort angegeben Verzeichnis benutzen um dort das eigene Cache Verzeichnis als Unterverzeichnis anzulegen.
Wenn die Variable nicht gesetzt sein sollte, spezifiziert der Standard $(HOME)/.cache als Default.

Die Menüs der Desktops werden auch einheitlich generiert. Dazu muss für jede Applikation eine .desktop Datei vorhanden sein, die das Programm ausreichend beschreibt.
Als Beispiel kannst du dir die .desktop Dateien von KDE Programmen ansehen.
Sie sind einfache INI Style Dateien, die so Informationen wie den Namen der Executable Datei, den Namen im Menü (mit optionalen Übersetzungen) und eine kurze Beschreibung enthalten (ebenfalls mit optionalen Übersetzungen)

Ciao,
_