# Listaller

Listaller est un logiciel libre de création de système d'installation de logiciel, de manière similaire à un gestionnaire de paquets. Ses objectifs sont à la fois de faciliter la création de paquets pour l’ensemble des distributions Linux et de fournir un ensemble d'outils et d'APIs de gestion de paquets facilement utilisables pour un utilisateur de Linux.

## Historique

Le projet Listaller a démarré en décembre 2007, sous l’impulsion de Matthias Klumpp, comme un projet expérimental afin de découvrir la réelle difficulté d'écriture d'une interface universelle de gestion d'ensembles logiciels sous Linux, quelle que soit la manière dont ils sont installés. Par conséquent Linstaller est prévu pour fonctionner avec des systèmes de gestion de paquets préexistants comme Autopackage, LOKI, Mojo et les gestionnaires de paquets natifs des distributions. Le projet original fournissait une interface unique pour gérer toute sorte de logiciels installés. L'interaction avec le gestionnaire natif s'effectuait par une couche d'abstraction ad-hoc et fut plus tard remplacée par PackageKit. Linstaller fournissait également in format d'installation multi distribution qui était supposé faciliter la création de paquets multi-distribution. L'installeur fournissait aussi un assistant d'installation de paquets Autopackage. Les premières versions étaient écrites en Pascal Objet compilé par Free Pascal. Le projet est maintenant écrit en C et Vala.
Le projet a évolué pour devenir un concurrent valable à Autopackage et à Mojo. En 2011, Linstaller a sorti sa première version stable. À la suite de l'annonce d'AppStream (en), un projet d'installeur commun porté par les principaux éditeurs de distribution, l’auteur décida que la plupart des buts initiaux du projet seraient permis par AppStream et changea donc de perspective en transformant Linstaller en installeur logiciel plutôt qu'en gestionnaire de paquet.
Il changea également de langage pour faciliter l’écriture de bindings vers d'autres langage et pour faciliter les contributions externes de Pascal à Vala. L'objectif principal devint l’intégration totale à Appstream. Le gestionnaire de paquet fut supprimé du projet, qui se concentra sur la création d'un format multi distribution de diffusion de logiciels Linux en format binaires, et l'intégration avec PackageKit pour qu'il puisse installer des paquets Linstaller.

## Implémentation

Linstaller est conçu pour installer des programmes applicatifs binaires ou précompilés, comme des jeux vidéo, des navigateurs web ou des logiciels de traitement de texte, plutôt que des bibliothèques logicielles. Linstaller n’est pas supposé installer des bibliothèques systèmes pour préserver la sécurité.
Le format de paquet de Listaller, IPK (Installation package) est conforme aux spécification AppStream (en). Les versions récentes proposent moins d'options à l'utilisateur final que les précédentes pour personnaliser le processus d'installation, mais à l’empaqueteur pour lui permettre une plus grande liberté dans son processus de création d'installeur. En 2011 il était discuté la possibilité d'exécution des programmes dans un bac à sable par défaut.
Les programmes installés par Listaller doivent être relogeables, c'est-à-dire qu'ils doivent pouvoir être installés dans un répertoire arbitraire à l'aide d'un seul binaire. Ils peuvent ainsi être installé dans le répertoire personnel d'un utilisateur non privilégié.

## Listaller et Autopackage

En 2010 les projets Autopackage et Listaller ont annoncé leur fusion. Autopackage a alors abandonné son format de paquet et les interfaces utilisateurs le concernant. Les outils comme BinReloc, créant des applications relogeables, ou APBuild sont maintenant intégrés dans Listaller et développés par le projet Listaller. Les projets ont fusionné pour que leurs développeurs puissent coopérer, les deux manquant de main d'œuvre de leur propre aveux.