Package Formats

Applications on the Librem 5 are supplied in two different package formats:

  1. Debian packages are provided as part of the PureOS operating system running on the phone. Core applications are provided in this format.

  2. Flatpaks are created using the Flatpak suite of tools. Third party applications are provided in this format.

This document describes the differences between these formats and the reasoning behind the use of two types of package on the phone.

Debian Packages

System packages for PureOS, the operating system on the phone, are provided in the same format used by Debian because PureOS is itself based on Debian. The Debian binary package format used in deb package files describes an archive containing both packaging metadata and files that to be installed on a user’s system.

Because these packages can contain files that will be installed in critical locations on the system, only core applications and components are delivered in this format.

Flatpaks

Third party applications for the Librem 5 are supplied as flatpaks that are unpacked and run inside sandboxes, with access to the user’s environment restricted to well-defined services.

As a result, this format is more suitable for third party applications, since the user is not forced to trust the application with access to the entire system.

Command Line Tools

Each package format has its own set of tools for installing packages at the command line, and this can be useful when installing many applications at once or installing dependencies for applications you are developing yourself.

Both kinds of packages may be obtained from official Purism repositories as well as third party repositories, and the tools for managing these are different for each package format.