Autopackage

aus Wikipedia, der freien Enzyklopädie
Autopackage

Autopackage-logo.png
Autopackage ready to install software.png
Installation von Inkscape mit Autopackage
Basisdaten

Maintainer Jan Niklas Hasse
Entwickler Mike Hearn
Betriebssystem GNU/Linux
Kategorie Installationssystem (Paketmanager)
Lizenz LGPL (Freie Software)

Autopackage war ein alternatives Linux-Softwareinstallationssystem.[1][2] Ihr Zweck war eine einfache Installation von Software, unabhängig von der verwendeten Linux-Distribution. Sie sollte sowohl Nutzern als auch Entwicklern das Leben erleichtern, indem sie es ermöglicht, nur ein einziges Paket zu erzeugen, das sich vom Nutzer auf jedem beliebigen Linux-System mit einem Klick installieren und auch wieder löschen lässt.[3] Durch die mögliche direkte Verbreitung von Software hat der Anwendungsanbieter mehr Kontrolle über Produktupgradezyklen.[4] Es wurde von etablierten Open-Source-Projekten wie AbiWord[5], Inkscape[6][7] oder Gajim erfolgreich eingesetzt.

Funktionsweise

Autopackage selbst ist ein Shellskript, welches das zu installierende Programm beinhaltet. Bis auf die Bash ist kaum zusätzliche Software nötig. Sollte Autopackage auf dem System fehlen, wird das Programm automatisch heruntergeladen und installiert. Die Installation des Programmes ist skriptgesteuert und lässt sich dadurch flexibel anpassen und weiter automatisieren. Der Installationsprozess soll praktisch keine Benutzerinteraktion erfordern. Benutzern kann es auch erlaubt werden Pakete ohne Root-Passwort zu installieren. Abhängigkeiten werden automatisch und unabhängig von der eingesetzten Paketverwaltung des Stammsystems aufgelöst, heruntergeladen und installiert. Zur besseren Integration auf dem Linux-Desktop gibt es grafische Interfaces sowohl für Qt und GTK+, aber auch eine textbasierte Schnittstelle für Terminals.

Herausforderungen

Autopackage unterliegt jedoch einigen Einschränkungen, besonders im Bereich der Binär-Kompatibilität des Linux-Ökosystems[8], weswegen seine Verbreitung überschaubar ist. Nach wie vor sind einige Probleme nur teilweise oder noch gar nicht gelöst. Zum Beispiel kann die Verwendung der Versionen 3.4 oder 4.0 des GNU-C++-Compilers zu früheren gcc-Versionen ABI-inkompatiblen Code erzeugen. Dieses Problem betrifft unter anderem das Qt-Toolkit, welches in C++ geschrieben ist.

Auch die Zusammenarbeit mit den Distributions-eigenen Paketverwaltungen klappt noch nicht immer reibungsfrei. So können installierte Pakete fälschlicherweise als eigene identifiziert und diese im Zuge von Veränderungen irrtümlich deinstalliert werden, da die jeweils andere Paketverwaltungssystem von dieser Deinstallation jedoch nichts mitbekommt wird angenommen, diese Pakete wären noch vorhanden und so kommt es in beiden Paketverwaltungen zu falschen Paketlisten.

Auch das Umplatzieren (Relocation) von Applikationen zwischen verschiedene Verzeichnissen ist in Linux nicht vorgesehen, Pfade werden typischerweise zur Compilezeit in der Anwendung hart-codiert.[9] Die Autopackage-Bibliothek binreloc löst dieses Problem jedoch über die Bereitstellung von Funktionalität vergleichbar der Win32-API-Funktion GetModuleFilename() wodurch Verzeichnis relokierbare Anwendungen und Bibliotheken möglich werden.

Entwicklungsgeschichte

Vision des 2002 von Mike Hearn gestarteten Projekts war auch eine Weiterentwicklung von Linux zu einer Desktop-Plattform.[10] Technisch sollte dazu eine binärkompatible Plattform mit stabilen ABIs entstehen[10], ähnlich Windows oder Mac-OS, hierzu sollte mit der LSB kooperiert werden.[11] Als weiterer Aspekt sollte ein Fokuswechsel stattfinden: Weg von den bereits gut ausgebauten „Corporate-Desktop“ Administrationswerkzeugen und Strukturen, hin zu den Desktopanwendern und deren Bedürfnis nach „Simplen Lösungen“.[12][13] Damit einhergehen sollte eine schärfere Differenzierung zwischen Anwendungssoftware und Systemsoftware, wodurch differenziertere Sicherheitsmaßstäbe und Update-Zyklen angelegt werden könnten.[13] Dieser weitgehende Ansatz wurde von vielen aus der Linux-Community kritisiert, besonders aus dem Umfeld der Distributionen.[14][15][16][17]

2006 zeigte sich Hearn in einem Vortrag auf der Free Standard Group’s Packaging Summit Konferenz[18] der Linux Foundation pessimistisch über die Chancen die großen Distributionen zur Kooperation bewegen zu können. Als Grund nannte er das Konkurrenzdenken der Distributionen untereinander, welches Weiterentwicklung in Richtung übergreifender Standards verhindere.[19] Weiter kritisiert Hearn das vorherrschende Modell des Paketmanagements direkt als „überholt“ und „anti-demokratisch“[14]:

„The whole idea of packaging/installation is bogus and leftover from the times when software was distributed on floppy disks, […] The web 'instant activation' model is better but requires advances in client-side platforms first around streaming and security.“

Mike Hearn: Free Standard Group’s Packaging Summit 2006[14]

Obwohl die meisten technischen Probleme gelöst wurden und auch einige namhafte Anwendungen Autopackage verwendeten, gelang es dem Projekt nicht, breiteren Zuspruch zu erringen. 2007 kam der Autor des Linux.com-Artikel Autopackage struggling to gain acceptance zu dem Schluss, dass eine mögliche, schmerzhafte Lehre des Autopackage-Projekts die scheinbare Unmöglichkeit größere Änderungen an der Infrastruktur des Linux-Ökosystems zu erreichen, sei.[14] Projektinitiator Mike Hearn wechselte schließlich zu Google und gab die Projektführung von Autopackage ab.[7]

2010 wurde das Projekt dann eingestellt[20], dazu wurde auf der Homepage auf Alternativ-Projekte verwiesen: Listaller, Zero Install, portablelinuxapps.org (heute AppImage.org) und das MojoSetup. Teile der Codebasis wurden vom Listaller-Projekt übernommen.[21]

Ähnliche Softwareprojekte

  • Tabellarischer Vergleich der Autopackage-Eigenschaften mit anderen Ansätzen, Zeroinstall-Analyse, klik-Tabelle.

Weblinks

Einzelnachweise

  1. Mike Hearn: AutoPackage – Introduction to the Next Generation Linux Packaging (englisch) www.osnews.com. 6. Dezember 2002. Abgerufen am 18. Februar 2012.
  2. Robert Staudinger: Distributionsunabhängige Pakete mit Autopackage – Eines für alle. Linux-Magazin 2006/02. 1. Februar 2006. Abgerufen am 11. April 2012: „Obwohl sie nach dem gleichen Prinzip arbeiten, laufen RPMs von Suse 9.2 nicht unter Suse 9.3 und schon gar nicht unter Red Hat. Das Autopackage-Projekt setzt auf einen einheitlichen Standard für die Erstellung von Installationspaketen. Dabei lösen die einzelnen Pakete ihre Abhängigkeiten selbst auf.
  3. Mike Hearn: Autopackage FAQ (englisch) autopackage.org. 17. Juli 2011. Archiviert vom Original am 22. Januar 2009. Abgerufen am 21. Januar 2012: „What is autopackage? For users: it makes software installation on Linux easier. If a project provides an autopackage, you know it can work on your distribution. You know it’ll integrate nicely with your desktop and you know it’ll be up to date, because it’s provided by the software developers themselves. You don’t have to choose which distro you run based on how many packages are available. For developers: it’s software that lets you create binary packages for Linux that will install on any distribution, can automatically resolve dependencies and can be installed using multiple front ends, for instance from the command line or from a graphical interface. It lets you get your software to your users quicker, easier and more reliably. It immediately increases your user base by allowing people with no native package to run your software within seconds.
  4. Sean Michael Kerner: Autopackage 1.0 Targets Developers (englisch) internetnews.com. 28. März 2005. Abgerufen am 21. Januar 2012: „„RPM itself isn’t that bad. The Big Issue is that RPMs are specific to particular distributions and distribution versions and sometimes even patch levels of those distributions, […] Autopackage gets around that problem by being universal. It also provides a consistent experience for all users, which means we can improve it faster than every distro doing their own thing can. […] I think you’ll see RPMs become less common on sourceforge download pages, if only because they’re such a pain to constantly rebuild,“ Hearn said.
  5. Joe Brockmeier: Autopackage 1.0 (englisch) lwn.net. 30. März 2005. Abgerufen am 24. Januar 2012: „Overall, Autopackage is a very promising project. It makes it possible for third-parties to distribute software for Linux users […] It’s too bad that such a system is still necessary at this time, but it fills a necessary gap until the day that Linux distributions can settle on a standard base system and packaging format.
  6. Bryce Harrington: Inkscape – A Union of Contributions Makes a Difference (englisch) www.osnews.com. 2. Juni 2004. Abgerufen am 18. Februar 2012: „The latest contribution that I think will have widespread and exciting ramification’s was brought to Inkscape quite out of the blue by Mike Hearn. Mike’s project, called AutoPackage, seeks to solve the perennial problem of easily installing software on Linux.
  7. a b Samartha Vashishtha: A conversation with the autopackage team (englisch) linux.com. 17. Januar 2008. Abgerufen am 12. Februar 2012.
  8. Random Collection of Current Linux Problems Binary Portability (englisch) autopackage.org. 2006. Archiviert vom Original am 18. Mai 2009. Abgerufen am 23. Januar 2012: „This page was prepared for the OSDL meeting in December 2005. It describes many of the problems inherent to Linux we’ve encountered whilst distributing complex software in binary form to end users. It also offers a few suggestions for improvements.
  9. Mike Hearn: Guide to Making Relocatable Applications (BinReloc 2.0) (englisch) autopackage.org. Archiviert vom Original am 25. Januar 2009. Abgerufen am 26. Januar 2012: „However, most applications are not relocatable. The paths where in they search for data files are usually hardd at compile time. On Win32, applications and libraries are easily relocatable because applications and DLLs can use GetModuleFilename() to obtain their full path.
  10. a b Mike Hearn: Autopackage FAQ (englisch) autopackage.org. 17. Juli 2011. Archiviert vom Original am 22. Januar 2009. Abgerufen am 21. Januar 2012: „What’s a desktop Linux platform? Why do we need one? Essentially, software is easy to install on Windows and MacOS […] because by depending on „Windows 2000 or above“ developers get a huge chunk of functionality guaranteed to be present, and it’s guaranteed to be stable. In contrast, on Linux you cannot depend on anything apart from the kernel and glibc.
  11. Robin Miller: Young project leader hopes to make Linux software installation easier. newsforge.com. 5. März 2003. Archiviert vom Original am 10. März 2005. Abgerufen am 21. Januar 2012.
  12. Mike Hearn: The user interface vision (englisch) autopackage.org. 2004. Archiviert vom Original am 1. Februar 2009. Abgerufen am 25. Januar 2012: „We already have a great deal more power than the competition in the area where it most counts in the short term – the corporate desktop. […] So, given that we already have power for those who most need it, the next place to push forward is in ease of use.
  13. a b Bruce Byfield: Autopackage: Toward a universal package manager for the desktop (englisch) linux.com. 1. Dezember 2005. Archiviert vom Original am 13. Januar 2008. Abgerufen am 12. Februar 2012.
  14. a b c d Bruce Byfield: Autopackage struggling to gain acceptance (englisch) linux.com. 12. Februar 2007. Archiviert vom Original am 31. März 2008. Abgerufen am 21. Januar 2012: „If Hearn is correct, the real lesson of Autopackage is not how to improve software installation, but the difficulty -- perhaps the impossibility -- of large-scale changes in Linux architecture this late in its history. It’s a sobering, disappointing conclusion to a project that once seemed so promising.
  15. Jeff Licquia: Autopackage goes insane (englisch) licquia.org. März 2006. Abgerufen am 21. Oktober 2012.
  16. Jeff Licquia: Autopackage Considered Harmful (englisch) licquia.org. 27. März 2005. Abgerufen am 21. Oktober 2012.
  17. Mike Hear: on the future of autopackage (englisch) In: Mike’s Journal. 3. März 2006. Archiviert vom Original am 15. Juli 2006. Abgerufen am 13. Februar 2012.
  18. Packaging summit. In: LSB face-to-face (December 2006). linuxfoundation.org. 6. Dezember 2006. Archiviert vom Original am 25. Oktober 2013. Abgerufen am 12. Februar 2012.
  19. Mike Hearn: Packaging for people who aren’t distros (englisch) Free Standard Group’s Packaging Summit. 1. Dezember 2006. Archiviert vom Original am 5. März 2009. Abgerufen am 21. Januar 2012.
  20. The end of Autopackage auf groups.google.com (November 2010, englisch)
  21. Launchpad.net announcement: Listaller and Autopackage will merge