Autopackage



Autopackage is a free computer package management system aimed at making it simple to create a package that can be installed on all Linux distributions, created by Mike Hearn around 2002.

In August 2010, Listaller and Autopackage announced that the projects will merge.

Projects such as aMSN and Inkscape offered an Autopackage installer, and Freecode offered content submitters a field to put the URL of Autopackages. The list of available packages is very limited, and most program versions are obsolete (for example, the most recent Autopackage of GIMP is 2.2.6, even though GIMP is now at version 2.8.2, as of August 2012).

Methodology
Autopackage was designed 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. Concept of autopackage was to "improve" Linux to a desktop platform, with stable binary interfaces comparable to Windows and MacOS.

Autopackage is not intended to provide installation of core applications and libraries for compatibility reasons. Using Autopackage to distribute non-core libraries is something of a thorny issue. On the one hand distributing them via Autopackage allows installation on a greater range of systems, on the other hand there can be conflicts with native package dependencies.

Autopackage is intended as a complementary system to a distribution's usual packaging system, such as RPM and deb. Unlike these formats, Autopackage verifies dependencies by checking for the presence of deployed files, rather than querying a database of installed packages. This simplifies the design requirements for autopackage by relying on available resources, rather than necessitating tracking all the package choices of all targeted distributions.

Programs that use autopackage must also be relocatable, meaning they must be installable to varying directories with a single binary. This enables an autopackage to be installed by a non-root user in the user's home directory.

Package format
Autopackage packages are indicated by the .package extension. They are executable bash scripts, and can be installed by running them. Files in an Autopackage archive are not easily extracted by anything other than Autopackage itself as the internal format must be parsed in order to determine file layout and other issues.

Autopackage programs are installed to hard-coded system paths, which may conflict with existing packages installed by other means, thus leading to corruption. This can usually be remedied by uninstalling an older version of a package being installed with Autopackage.

The Autopackage files can also be installed and removed using the Listaller toolset. Listaller simply includes the Autopackage packages into its own package container format and handles Autopackage like any other Listaller package file.