Autopackage

Last updated
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;14 years ago (2009-05-24)
Written in Bash, C, C++ and Python
Operating system Linux
Type Package management system
License GNU Lesser General Public License
Website autopackage.org at the Wayback Machine (archive index)
Autopackage at Google Project Hosting
Autopackage installing software. Autopackage installing software.png
Autopackage installing software.

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.

Contents

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

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

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

Related Research Articles

<span class="mw-page-title-main">Linux distribution</span> Operating system based on the Linux kernel

A Linux distribution is an operating system made from a software collection that includes the Linux kernel and often a package management system. Linux users usually obtain their operating system by downloading one of the Linux distributions, which are available for a wide variety of systems ranging from embedded devices and personal computers to powerful supercomputers.

<span class="mw-page-title-main">Package manager</span> Software tools for handling software packages

A package manager or package-management system is a collection of software tools that automates the process of installing, upgrading, configuring, and removing computer programs for a computer in a consistent manner.

<span class="mw-page-title-main">Linux Standard Base</span> Former standard for Linux distributions

The Linux Standard Base (LSB) was a joint project by several Linux distributions under the organizational structure of the Linux Foundation to standardize the software system structure, including the Filesystem Hierarchy Standard. LSB was based on the POSIX specification, the Single UNIX Specification (SUS), and several other open standards, but extended them in certain areas.

<span class="mw-page-title-main">Arch Linux</span> Rolling release distribution of Linux

Arch Linux is an independently developed x86-64 general-purpose Linux distribution that strives to provide the latest stable versions of most software by following a rolling-release model. The default installation is intentionally minimal so that users can add only the packages they require.

<span class="mw-page-title-main">Ingo Molnár</span> Linux kernel programmer

Ingo Molnár, employed by Red Hat as of May 2013, is a Hungarian Linux hacker. He is known for his contributions to the operating system in terms of security and performance.

Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages.

Puppy Linux is a family of light-weight Linux distributions that focus on ease of use and minimal memory footprint. The entire system can be run from random-access memory (RAM) with current versions generally taking up about 600 MB (64-bit), 300 MB (32-bit), allowing the boot medium to be removed after the operating system has started. Applications such as AbiWord, Gnumeric and MPlayer are included, along with a choice of lightweight web browsers and a utility for downloading other packages. The distribution was originally developed by Barry Kauler and other members of the community, until Kauler retired in 2013. The tool Woof can build a Puppy Linux distribution from the binary packages of other Linux distributions.

<span class="mw-page-title-main">VectorLinux</span> Linux distribution

VectorLinux, abbreviated VL, is a Linux distribution for the x86 platform based on the Slackware Linux distribution, originally developed by Canadian developers Robert S. Lange and Darell Stavem. Since version 7 the Standard Edition is also available for the x86-64 platform, known as VLocity64 7.

<span class="mw-page-title-main">TrueOS</span> Unix-like, desktop-oriented operating system

TrueOS is a discontinued Unix-like, server-oriented operating system built upon the most recent releases of FreeBSD-CURRENT.

<span class="mw-page-title-main">Zenwalk</span> Slackware-based Linux distribution

Zenwalk GNU/Linux is a desktop-focused Linux distribution founded by Jean-Philippe Guillemin. It is based on Slackware with very few modifications at system level making it 100% compatible with Slackware. It aims to be a modern, multi-purpose Linux distribution by focusing on internet applications, multimedia and programming tools. It comes with many specialized tools and is designed for beginners and advanced users alike, as it offers system configuration via both graphical tools and the command line.

AppImage is an open-source format for distributing portable software on Linux. It aims to allow the installation of binary software independently of specific Linux distributions, a concept often referred to as upstream packaging. As a result, one AppImage can be installed and run across Ubuntu, Arch Linux, and Red Hat Enterprise Linux without needing to use different files. It aims to be a format that is self-contained, rootless, and independent of the underlying Linux distribution.

<span class="mw-page-title-main">Portable application</span> Type of computer program

A portable application, sometimes also called standalone, is a program designed to operate without changing other files or requiring other software to be installed. In this way, it can be easily added to, run, and removed from any compatible computer without setup or side-effects.

<span class="mw-page-title-main">NimbleX</span>

NimbleX is a small Slackware-based Linux distribution optimized to run from a CD, USB drive or a network environment. NimbleX has been praised for how fast it boots, as well as for its small disk footprint, which is considered surprising for a distribution using KDE as desktop environment. NimbleX was also remarked for its website that allows users to generate custom bootable images by using a web browser. It was also covered in mainstream Romanian press as the first Linux distribution put together by a Romanian.

<span class="mw-page-title-main">RPM Package Manager</span> Package management system

RPM Package Manager (RPM) is a free and open-source package management system. The name RPM refers to the .rpm file format and the package manager program itself. RPM was intended primarily for Linux distributions; the file format is the baseline package format of the Linux Standard Base.

<span class="mw-page-title-main">Phatch</span> Raster graphics editing software

Phatch is a raster graphics editor used to batch process digital graphics and photographs. Phatch can be used on the desktop as a GUI program or on the server as a console program.

<span class="mw-page-title-main">Salix OS</span> Linux distribution

Salix OS is a multi-purpose Linux distribution based on Slackware.

<span class="mw-page-title-main">Listaller</span> Linux package management system

Listaller is a free computer software installation 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.

<span class="mw-page-title-main">Chakra (operating system)</span> Linux distribution

Chakra was a Linux distribution originally based on Arch Linux and focused on KDE software, intending to provide a KDE/Qt minimizing use of other widget toolkits where possible. It was well received by critics during its existence.

<span class="mw-page-title-main">Snap (software)</span> Software deployment system for Linux by Canonical

Snap is a software packaging and deployment system developed by Canonical for operating systems that use the Linux kernel and the systemd init system. The packages, called snaps, and the tool for using them, snapd, work across a range of Linux distributions and allow upstream software developers to distribute their applications directly to users. Snaps are self-contained applications running in a sandbox with mediated access to the host system. Snap was originally released for cloud applications but was later ported to also work for Internet of Things devices and desktop applications.

References

  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