# Listaller

Listaller is a free computer software installation system (similar to a package management system) aimed at making it simple to create a package that can be installed on all Linux distributions as well as providing tools and API to make software management on Linux more user-friendly.

## History

Listaller was started in December 2007 by freedesktop.org developer Matthias Klumpp as an experimental project to explore the possibility of writing a universal user interface to manage all kinds of Linux software, no matter how it was installed. Therefore, Listaller had backends to manage Autopackage, LOKI, Mojo and native distribution packages. The original project provided one user interface to manage all kinds of installed software. Interaction with the native distribution package management was done via an own abstraction layer, which was later replaced by PackageKit. Listaller also provided a cross-distribution software installation format which should have made it easier to create packages which run on multiple distributions. The installer part of Listaller was also able to assist in installing Autopackage packages. The very first versions were written in Object Pascal.
Although the project started as an experiment, it soon evolved to a competitor for Autopackage and Mojo. Until 2011, Listaller never made any stable release. With the announcement of AppStream a lot of the original Listaller goals would be achieved, so the author decided to change Listaller away from a full software manager to a software installer only and joined forces with the AppStream project. Because Pascal was not considered as ideal language to collaborate with other projects and the project already had spent much time in developing Pascal bindings to third-party libraries, Listaller was rewritten in Vala with a subset of the original features and the main goal to provide seamless integration with AppStream and PackageKit. Therefore the universal software manager part was removed and the project now focuses on creating a cross-distro format for distribution of binary Linux software.
As of Nov 10, 2014 Matthias announced the Limba project. Limba is supposed to be Listaller's next version.

## Methodology

Listaller is intended to be used for installing binary, or pre-compiled, versions of non-core applications such as word processors, web browsers, and personal computer games, rather than core libraries and applications such as operating system shells. Listaller is not intended to provide support for installing system libraries for security reasons. Listaller is using an own package format, so-called IPK packages (short for Installation package), which are LZMA-compressed signed tarballs.
IPK packages contain only small configuration files to modify the setup process. They do not provide their own logic or scripts which are run during install time. All parts of a setup process are handled by Listaller's built-in routines, which make it possible for distributors to modify the setup process of 3rd-party applications to comply to their own policy, if necessary.
The key value of Listaller is integration into desktop environments, existing package management tools and distributions. Therefore, the project provides several integration components by default, which make it possible to manage Listaller-installed 3rd-party applications from any software manager which supports PackageKit and/or AppStream.
At time it is discussed to run all installed 3rd-party tools in a Sandbox by default.
Programs that use Listaller must also be relocatable, meaning they must be installable to varying directories with a single binary. This makes it possible for Listaller to install software for non-root users into their home directory, although this method has to be enabled explicitly and its use is not encouraged. The Listaller Developer Tools provide tools and documentation for application developers to make their software relocatable.

## Listaller and Autopackage

In August 2010 both projects announced they will merge. As consequence of the merge, Autopackage abandoned its own package binary package format and all user interfaces to install Autopackage packages. Autopackage tools like BinReloc to create relocatable applications or APBuild are now developed as part of the Listaller project. Reason for merging Autopackage into Listaller was mainly a great lack of developers in both projects so they decided to join forces.

## Integration

KDE provides support for Listaller through Apper, although distributors need to explicitly enable it using a compile-time switch. Support for GNOME is currently being developed as part of the GNOME-PackageKit suite. In theory, any distribution which can run PackageKit >= 0.8.6 should be able to provide Listaller support too. Ubuntu announced that they will not use Listaller as 3rd-party installer for their Ubuntu Phone, but develop an own, Ubuntu-specific solution instead.