Listaller - Linux Software Manager (beta)

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Listaller - Linux Software Manager (beta)

Beitrag von Targion »

Bild
Letzte Änderung dieses Textes: 06. Jun. 2010
Hallo!
Heute möchte ich mal das Listaller-Projekt vorstellen, welches es sein nun ca. 3 Jahren gibt.
Der Listaller soll Software(de)installationen unter Linux vereinfachen. Das Projekt ist vollständig in Pascal mit Lazarus geschrieben.

Aber der Reihe nach: Es ist für Neulinge oft schwer, neue Software unter Linux zu installieren. So findet man, seitdem immer mehr Leute von Windows oder MacOS zu einer Linuxdistribution wechseln, immer häufiger Nutzer, die mit der Paketverwaltung überfordert sind. Auch häufen sich Anfragen z.B. in Launchpad oder Ubuntus Brainstorm-Website, die Softwareinstallation zu vereinfachen.
Kennt man sich mit dem Paketmanagement aus, ist die Installation von neuer Software unter Linux kein Problem: Komfortabler geht es wirklich nicht.
Dennoch kann es bei dieser Lösung zu Problemen kommen:
  • Was ist, wenn Software nicht in den Repositorien ist?
  • Was ist, wenn man eine neuere Version eines Programmes benötigt, diese aber nicht als Paket verfügbar ist?
  • Bei der Veröffentlichung neuer Linux-Software müssen Hersteller für jede Linux-Distribution eine Extrawurst in Sachen Paketformat braten
  • Nutzer ohne ausreichende Berechtigung können keine Software installieren
Primär Aufgrund dieser Probleme habe ich ein neues Projekt gestartet, welches Softwareinstallationen und Deinstallationen unter Linux einfacher machen soll.
Das Projekt "Listaller" (sehr wenig fantasievoll von "Linux" und "Installer" abgeleitet) ist ein Programm, welches Programmierern ermöglicht, ein Paket für alle Linux-Distributionen bereitzustellen und Anwendern das Installieren und Verwalten von Programmen auf dem Rechner erleichtert.

Dies wird vor allem durch ein neues Paketformat erreicht, welches Entwicklern die größtmögliche Freiheit beim Erstellen lässt und welches, wenn es mit dem Setup-Tool geöffnet wird, dem Nutzer einen komfortablen Installationsassistent bietet.
Dieses „Paketformat“, ein LZMA-Komprimierter Tarball mit der Endung .IPK. (Installationspaket) kann je nach Typ verschiedene Aufgaben erfüllen:
Ist das IPK-Paket vom Typ „normal“, enthält die Paketkonfigurationsdatei weitere Informationen über die Abhängigkeiten der Software. Der Listaller löst die Abhängigkeiten dann auf und entpackt anschließend die Anwendung.
Wenn das IPK-Paket vom Typ „container“ ist, wird schlicht und einfach das im Paket enthaltene Autopackage/LOKI-Setup-Paket installiert. Der Listaller hat später die Möglichkeit, Autopackage- und LOKI-Setups wieder zu entfernen.
Das IPK-Paket kann auch vom Typ „dlink“ sein. Dieser Typ ist für Entwickler gedacht, die zwar für jede Distribution eigene Pakete erstellt haben und diese auch weiter nutzen verbreiten, jedoch dem Nutzer trotzdem die Wahl des richtigen Paketes erleichtern wollen: In einem DLinkIPK-Paket sind passend zu jeder Distribution die Weblinks zu den entsprechenden passenden Paketen angegeben, die der Listaller bei Bedarf herunterlädt und installiert. Der Nutzer hat davon, dass sich die Anwendung mit einem simplen Klick auf „Deinstallieren“ im Software Manager wieder entfernen lässt und Neue Nutzer sich keine Sorgen darum machen müssen, welches Paket für ihre Distri geeignet ist. Dieses Feature ist vergleichbar mit dem 1-Klick-Install-Dienst der Linux-Distribution openSUSE.

Der Listaller hat auch noch einige weitere nette Funktionen:
Normale Pakete können vom Listaller-eigenen Updater Gerauch machen. Entwickler können Updatequellen für ihre Software automatisch aus dem Quellcode des Projektes generieren.
Der Listaller enthält auch ein Management-Tool, welches alle auf dem System installierten Anwendungen anzeigt und es ermöglicht, diese auch zu Entfernen. Dabei Spielt es keine Rolle, ob die Anwendung mittels Autopackage, LOKI, IPK-Setup oder dem Paketmanagement installiert wurde, da der Listaller mit allen Systemen kompatibel ist.
Das Projekt sucht noch dringend Mitstreiter, die bei der Programmierung helfen.
Der Listaller ist unter der GPLv3 lizenziert.

Wer den Listaller testen möchte, kann auf unserer Downloadseite passende Pakete und Paketquellen für die jeweilige Distribution der Wahl finden.
Technisch basiert der Listaller auf dem PackageKit-Projekt, welches von Richard Hughes ins Leben gerufen wurde, um ein einheitliches FrontEnd für alle Paketmanagementsysteme zu bieten und um die Update-Funktion der Distributionen ins nächste Jahrhundert zu befördern. Der Listaller benutzt ab Version 0.3a PackageKit für die Interaktion mit dem Paketmanagement, früher kam eine eigene Lösung zum Einsatz.
Grafische Oberflächen gibt es dank der LCL für GTK+ und Qt, aber auch ein in C++ geschriebenes KDE-Frontend ist in Arbeit.
Bugs im Listaller kann man bequem über den Bugtracker auf Launchpad melden, damit alle im Team den Bug zur Kenntnis nehmen (und fixen) können. Bugs in diesem Thread zu melden ist nicht so optimal.
Damit das Testen des Listallers nicht zu langweilig wird, haben wird auf der Listaller Website den Service getIPK gestartet. Dieser Dienst stellt fertige IPK Setup Pakete für einige Anwendungen zur Verfügung.
So, damit wären die wichtigsten Sachen gesagt. Viel Spaß beim Testen. Ich freue mich auf eure Kritik!

Links:
Listaller Projektwebsite
Listaller in Launchpad
PackageKit Website
Quellcoderepositiorium des Projektes
Listaller bei Sourceforge
Zuletzt geändert von Targion am Di 6. Jul 2010, 14:48, insgesamt 7-mal geändert.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

ich verstehe den Hintergrund schon aber meineserachtens ist das keinesfalls die Lösung. Es gibt viele slcher Ansätze und die erzeugen mehr frust als Nutzen.
Ich denke die Akzeptanz bei Unix Nutzern für soetwas wird niemals da sein. ich will EINEN Paketmanager auf meinem System und nicht 2 oder 6 oder 38. ich fänd ein Tool nett welches mit Installationsskripte für

InnoSetup,
apt,
rpmbuild,
und den Mac Packanger mit einem schlag bauen kann, und evrwaltet schön. Das wäre mal was wirklich tolles in diesem bereich jedoch hab ich mittlerweile schöne Scripte die ich nur minimal abändern muss dafür.
Ein weiterer Paketmanager wird nicht die Lösung sein (just my opinion)...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Beitrag von Targion »

Genau das ist der Punkt! Der Listaller ist kein wirklich neues Paketmanagement. Ein Entwickler kann ein IPK-Paket vom Typ "DepGET" auf den Server stellen, welches nur ein "Rezept" enthält, welche Pakete das Gastpaketmanagementsystems zu installieren sind. Die Anwendung wird dann zwecks einfacher Deinstallation im Listaller registriert und schön grafisch mit weiteren Informationen im "Software-Manager" angezeigt. Das hat mit Linux-Anwendungen wie Skype schon perfekt funktioniert.
Weiterhin vereinfacht der Listaller auch die Installation von LOKI-Installern (Wie Google Earth) und fügt auch da eine zentrale Deinstallationsmöglichkeit hinzu.
Natürlich ist es auch möglich, die Anwendung direkt in das IPK-Paket zu stellen. (Typ: Normal)
Alle diese Typen können dann auch offline installiert werden, sofern man die Abhängigkeiten eingefügt hat.
Das RPM-System ist meiner Meinung nach überholt, wird aber leider von großen Distributionen wie openSuSE verwendet. Mit DEB-only-und-in-allen-Distributionen-gleich hätte man nur ein "Optik"-Problem in Synaptic. Bei RPM sind noch nichteinmal die Paketquellen alle gleich. (Ein Riesenproblem im Listaller - Nachladen von Abhängigkeiten aus RPM-Quellen ist nicht möglich)

DiBo33
Beiträge: 334
Registriert: Do 11. Okt 2007, 18:01

Beitrag von DiBo33 »

OT: Hast du die Icons mittels Gtk2LoadStockPixmap() ermittelt?
Sieht mir so aus, wenn ja dann setze mal den alpha_thereshold von 128 auf 192, dann sehen die nicht mehr so "verfranst" aus.

ralli
Beiträge: 374
Registriert: Mi 13. Sep 2006, 15:57
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Hagen a.T.W.
Kontaktdaten:

Beitrag von ralli »

Ich benutze InstallJammer. Funktioniert einwandfrei.

GucksT Du hier: http://www.installjammer.com/

ralli

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Beitrag von Targion »

Hmm... Den kannte ich noch garnicht! Der Editor von Installjammer sieht sehr gut aus und auch ansonsten macht das Tool einen guten Eindruck. Allerdings hat IJ eine Menge Symbolloser Verknüpfungen angelegt, und ich kann nicht erkennen, dass Abhängigkeiten aufgelöst wurden... Erinnert mich an Windows

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Was mich immer Ägert ist z.b. jetzt bei KDE: Ich möchte sehr viele Tools/Packte löschen die ich einfach nicht brauche, aber das kann ich leider nicht tun, denn dann möchte er gleich auch KDE löschen, wobei diese Programm eigentlich nix mit KDE zu tun haben also jetzt mit den KERN.
aber irgendwelche Leute Meiten wohl entweder du installiert alles oder nix. Und ich habe keine lust bei jedem Packt Einzeln die Abhängigkeiten zu löschen(was auch noch eine Option währe.)

Aber zum Projekt: Ich finde die Idee wie schon in der DP gesagt eigentlich nicht schlecht. Bisher habe ich sie noch nicht getestet, was ich aber mal möchte bei der ersten Gelegenheit.

Aber ich stimme eigentlich auch Christian zu, was bringt mir schon ein neuen Packverwalter?
Dann brauche ich ja noch einen. Habe ich das jetzt richtig verstanden: Deiner kann mit RPM, und DEB Dateien umgehen ?

http://listaller.nlinux.org/preview/scr1.html
den link findet er bei mir nicht: "Objekt nicht gefunden !" steht in der Titeleiste wenn ich mir deine Bilder vom Projekt ansehen möchte.
MFG
Michael Springwald

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Beitrag von Targion »

So, der Link funktioniert jetzt wieder. (Ich hatte die Dateien versehentlich gelöscht)
Was tut jetzt der Listaller?
[hr]
- Der Listaller ist eine Schnittstelle zwischen Nutzer und Paketmanagement. Der Benutzer lädt beispielsweise eine Datei herunter, in der für jede Distribution/Paketmanagement-System steht, welche Abhängigkeiten nötig sind und wo man diese bekommen kann. Der Listaller installiert nun das Paket automatisch und registriert die Informationen über die Software in einer eigenen Datenbank, die mit dem Software-Manager verwaltet werden kann. Soll nun eine Anwendung entfernt werden, wird geprüft, ob die Abhängigkeiten noch benötigt werden und dann die Anwendung (die Selbst eine Abhängigkeit ist) entfernt. So wird nur noch "ein" Pseudopaket benötigt, welches auch für offline-Installationen benutzt werden kann.

- Die zweite Möglichkeit ist, die Anwendung vollständig in das Paket zu integrieren. So kann die Menge an zu ermittelnden Abhängigkeiten reduziert werden. (Außerdem ist die GUI dann schöner und man hat z.B. die Möglichkeit eine detaillierte Beschreibung oder eine Lizenz hinzuzufügen)

- Die 3. Möglichkeit: Einen LOKI-Installer (wie der von GoogleEarth) in das IPK-Paket zu integrieren und der Datenbank des Listallers zu sagen, wie man die Anwendung wieder deinstalliert. Somit entfällt das Suchen von Uninstall-Skripten in irgendwelchen Ordnern und LOKIs werden schneller de- und installiert. (Funktioniert auch mit Autopackage.org)

- Extrafeatures: Hat man Möglichkeit 1 gewählt kann man z.B. in der IPK-Datei festlegen, automatisch eine Paketquelle für die Anwendung in APT usw. zu registrieren.
Bei Möglichkeit 2 kann man das Listaller-eigene Updatesystem wählen, welches nur geänderte Dateien updatet.
[hr]
Der Listaller ist sozusagen die maximale Freiheit für Entwickler und Anwender unter einer Oberfläche. Um deine Frage mit einem Satz zu beantworten: Der Listaller ist kein neues Paketverwaltungssystem sondern eine Zwischenschicht zwischen APT, RPM und (später) Conari. Alleridings kann der Listaller auch direkt Anwendungen enthalten und selbst installieren, ohne ein Paketmanagement zu benötigen.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ach so, ich hatte das eigentlich so verstanden(in der DP) das es ein neues Packet Manger Format ist. Aber dann ist es ja ein Recht Praktisches "Werkzeug" wenn es evlt. noch ausreift und zu einer Vollversion wird.

Also braucht der Entwickler der ein Programm dem User anbieten möchte nicht mehr sein Programm einmal im DEB einmal im RPM Format zu packen sondern das macht jetzt dein Projekt.

Ändert sich was am meinem Projekt z.b. wird dieser Änderung an das Install Packet weiter geleitet.

Ich glaube ich verstehe jetzt.... Kann man damit auch die Packt Abhänigkeiten wie von meinem Letzten Beitrag gesprochen bearbeiten ?
MFG
Michael Springwald

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Beitrag von Targion »

Genau so, wie du es beschreibst ist es in Pakettyp 3. Da muss der Entwickler nur für jede Distri oder jedes paketsystem angeben, welche Pakete die Anwendung benötigt bzw. wo die Listaller-Anwendung die herholen soll.
Alternativ kann man auch DEBs und RPMs erstellen und den Listaller anweisen, diese herunterzuladen und zu installieren.
Dein Problem wäre damit behoben, wenn die Anwendungen IPK-Pakete wären (also mit dem Listaller erstellt). Das würde ich allerdings keinem KDE-Core Entwickler raten, selbst wenn der Listaller Standard wäre. Denn so könnte der nutzer dann die Desktop-Umgebung mit einem Klick entfernen...
Wichtig ist: Es gibt nicht nur eine Möglichkeit für den Listaller eine Anwendung zu installieren, sondern der Programmierer kann nach seinen Bedürfnissen festlegen, was er ins Paket einfügt oder als DEB/RPM auf einem Server hinterlegt, oder aus einer Paketdatenbank des Systems holt. Erstmal ist das ein bisschen mehr Aufwand, als einfach nur ein DEB-Paket zu erstellen, aber es lohnt sich für den Nutzer.
Was sind das genau für Anwendungen, die du entfernen möchtest? Benutzt du ein APT-Basierendes System (Paketendung DEB) oder ein RPM-Basierendes (Endung: RPM)?

[edit]Ah, grade gesehen, dass du (auch) Ubuntu benutzt. (Also auch APT) [/edit]

Folgendes ist in meiner SVN-Version schon möglich:
- Autopackage.org Pakete installieren und die AP-Datenbank einlesen
- Software managen
- APT voll integriert
- DepGET (holen von DEB/RPM Paketen passend für die Distribution direkt von irgendeiner Website) Zurzeit nur über HTTP möglich
- lipa kann IPK-Dateien erstellen (naja, nicht gut, aber immerhin)
- erste Anfänge eines Editors, diese Aufgabe ist erstmal solange gestoppt, bis der Listaller auch vernünftig läuft
- Flags für die Installation (z.B. Dateirechte setzen usw.)
- GNOME-Integration (KDE folgt, sobald die GTK-Version problemlos auf mindestens 4 Distributionen lief)
- Anfänge am update-tool
Das soll noch kommen:
- Integration von RPM (schwierig, da es keine einheitlichen RPM-Quellen gibt und ich uner Ubuntu programmiere)
- Entwicklung des Editors z.B. mit einem Assistenten zu Paketeerstellen
- Testen des Listallers auf SuSE, Mandriva, Debian, Kubuntu und weiteren
- Verbesserung von lipa, damit es z.B. auch update-quellen erstellen kann
- Verbesserung am Updater
- Dokumentation schreiben
- Listaller übersetzen (kann ich nicht selber, vielleicht findet sich ja über Lauchpad jemand, der das macht)
- Eine Alpha-Version veröffentlichen
- im Prinzip muss alles verbessert werden :roll:
[hr]
Ich werde vielleicht nächste Woche hier mal eine etwas stabilere Version und ein paar IPK-Pakete veröffentlichen, damit jeder sehen kann, wie der Listaller funktioniert.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ubuntu nutzt ich nicht mehr, ich muss das mal ändern, ich nutzte KDE.
Und bei der KDE Installation werden so viele Packte mitisntalliert die ich einfach nicht ohne weiteres löschen kann, weil dann auch KDE selber entfernt wird. Was ich ja nicht möchte.
Hier sind einige Beispiele:
Verschiedene KDE Spiele, die ich nie Spielen werde wie z.b. Karten Spiele oder Brett Spiele. Dann verschiedene Bildungs Programme.
MFG
Michael Springwald

creed steiger
Beiträge: 957
Registriert: Mo 11. Sep 2006, 22:56

Beitrag von creed steiger »

[quote="pluto"]Ubuntu nutzt ich nicht mehr, ich muss das mal ändern, ich nutzte KDE.
/quote]

Das eine hat mit dem anderen nix zu tun.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Das hab ich schon 4x erklärt...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Ja ich weiß, auch wenn ich in Ubuntu versuche ein KDE Packet zu löschen möchte er immer gleich alles runter holen. Ich weiß das es Egel ist was man nutzt darum bin ich ja auch nicht umgestiegen. ich bin ja aus anderen gründen zu KDE gewselt.
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Jetzt lüg doch nicht, deine Gründe hattest du erklärt.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten