The Basics

A repository, or "repo" is a library or storehouse of software made available online. All software for Maemo is distributed this way, most of it through the Extras repository hierarchy. Everything stored in the repository is contained in packages.


Using a repository system for software has some great benefits:

  • Resolving dependencies When a package is requested to be installed, an application manager can automatically install any other packages the application requires in order to work. These other packages are called dependencies.
  • Update awareness Whenever a new version of the application becomes available, it will automatically be detected by the application manager.
  • Uniformity All users can be sure they have the exact same copy of the software. This makes testing and sharing information about the applications easier, which is good for both the developer and the user.
  • Security Because all software comes from repositories, knowing the requirements for software to get into the repository means knowing the security risks involved when installing software. Compare this with downloading applications from arbitrary websites operated by independent parties. Each and every one of those operators has to be trusted not to provide malicious software.

Repositories and You

Because of the simplicity, safety and convenience of repositories, the only supported way to install applications in Maemo 5 is using an application manager set up to use the repositories. However, no knowledge of this or understanding of repositories is necessary for end users, who can simply browse to the downloads page on their maemo device. The page lists all the applications in the main maemo repository (Extras) and the user can simply click. The application manager will then automatically handle everything necessary to install the application.

Beyond the Basics

Maemo has a hierarchy of repositories that help the community move forward. New applications are first packaged and uploaded to the Extras-devel repository. They are worked on by developers until they are considered safe for users. At that point, they are "promoted" to Extras-testing. Power users who understand that these packages might still be risky to use and are able to recover from any problems then install and test the packages. When enough testers have given a vote of approval, the packages are again promoted, this time to Extras. They are available to the whole community.

Because of this hierarchy, there may be multiple versions of a package in the repositories: a stable version in Extras, a beta version in Extras-testing, and a development version in Extras-devel.

More technical details for the curious

Debian Package System

Debian has a manual on how to use repositories, which is relevant because maemo applications are distributed using the Debian package system. In the Debian package system, each package is a compressed archive (similar to the well-known "zip" file) with a .deb extension, and has information about its contents and dependencies built into it. When these packages are installed, the package manager maintains records of all of this information, making it easy to uninstall again.


Note that while maemo uses the debian package system, the actual contents of the packages are not the same. A .deb package from the debian project or Ubuntu won't work with maemo. The utilities and package format are the same, not the software inside.

Individual .debs

When a developer is building a new package, she or he might use one of the debian utility programs to install the individual package. It is hoped that the preceding discussion was sufficient to convey that this is not an end-user appropriate usage of the debian package system.

List of Maemo repositories