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.

Autopackage
Original author(s)Mike Hearn
Developer(s)Jan Niklas Hasse
Initial releaseAround 2002; 22 years ago (2002)
Stable release
1.4.2[1] / May 24, 2009; 15 years ago (2009-05-24)
Written inBash, C, C++ and Python
Operating systemLinux
TypePackage management system
LicenseGNU Lesser General Public License
Websiteautopackage.org at the Wayback Machine (archive index)
Autopackage at Google Project Hosting
Autopackage installing software.

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

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).[3][4]

Methodology

edit

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.[5]

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.[6]

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

edit

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.[7]

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.[8] Listaller simply includes the Autopackage packages into its own package container format and handles Autopackage like any other Listaller package file.

See also

edit

References

edit
  1. ^ "autopackage.org". Archived from the original on April 30, 2010. Retrieved 2010-04-30.
  2. ^ Launchpad.net announcement: Listaller and Autopackage will merge
  3. ^ Autopackage struggling to gain acceptance By Bruce Byfield on February 12, 2007
  4. ^ Projects using Autopackage (archived)
  5. ^ Hearn, Mike (2011-07-17). "Autopackage FAQ". autopackage.org. Archived from the original on 2009-01-22. Retrieved 2012-01-21. 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.
  6. ^ Hearn, Mike (2011-07-17). "Autopackage FAQ". autopackage.org. Archived from the original on 2009-01-22. Retrieved 2012-01-21. 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.
  7. ^ Criticism of Autopackage format by author of Alien, a package adapter tool
  8. ^ Listaller Project Archived 2010-02-22 at the Wayback Machine
edit