The Maemo Record

The Maemo repositories

PACKAGErepositories
SECTIONthe software
IN THE LINEcore: the platform itself
ANSWERSmaemo repositories
ARCHIVED LINKS1 old article address points here

The maemo repositories are the three Debian catalogue layers that a Maemo device downloaded from: stable, the tested ground floor, and the two Extras channels built on top of it, extras-testing and extras-devel, which carried newer software before it could be trusted. They are the reason a 2008 Nokia device could still be picking up updated maps in 2012. This page explains what each layer was, how you switched between them, and where the whole system stands today on a living device.

Tall shelves of metal filing cabinets in a dim room, one drawer left hanging open.

Start with the layer underneath: stable. It held the core of the operating system and the official application set: the browser, the mail client, the terminal, the system settings stack. Packages there had passed the Maemo community's testing round and were the safest base to build on. On top of stable sat the two extras repositories, which the community maintained from the maemo.org package infrastructure rather than from Nokia. The Ovi Store, Nokia's own application marketplace, ran beside this system instead of replacing it: it served signed .deb packages for the N900 and the later N9, while the extras repositories served the Debian-style packages that tools like the APT package manager and the package manager GUI drew from. The two systems could coexist, but they were never the same catalogue, and knowing which one you were in decided what you saw.

What each repository actually contained

What each repository actually contained is easiest to see as three shelves. The stable shelf held the system: the 6.5 gigabyte of base system and core applications that shipped on the N900's flash, plus the security updates that maemo.org kept publishing for it. The extras-testing shelf held packages that had passed a round of testing but were not yet old enough to trust blindly, and the extras-devel shelf held the newest uploads, the ones a developer had just pushed and a packager had not yet validated.

The difference mattered in practice. A package that appeared in extras-devel on a Tuesday could be broken on a Thursday and promoted to extras-testing after someone confirmed it worked. That promotion was the entire quality gate. No version number changed between the two shelves; the same build simply moved to a shelf with a longer track record.

What you could actually install

What you could actually install from the extras repositories depended on the device's generation, and the split is a hard one. On Maemo 5 and 6 hardware such as the N900, the catalogue was broad: the full Extras ecosystem existed there, and it is the layer that people who own an N900 today still use. On Maemo 7 and 8 hardware such as the N9, Nokia's move to the MeeGo-based system narrowed the third-party scene, and the extras ecosystem that people remember was largely a Maemo 5 and 6 phenomenon. The practical rule is this: if you hold an N900, the extras repositories are alive for you; if you hold an N9, the practical community life sits elsewhere.

Four categories cover most of what people actually installed:

The 2011 launch of the Ovi Store on the N900 was the moment this layer met Nokia's own catalogue head on, and the overlap is why old guides read confusingly: the same application name could resolve from two different sources, and the extras repositories kept the Debian-style metadata while the store kept the signed-package model.

How enabling and switching worked

How enabling and switching worked came down to one file per channel: each repository was a source list entry, and the APT toolset read them at update time. The stock device pointed at stable out of the box. To reach extras-testing, a user added the extras-testing source line and ran a system update; to reach extras-devel, the same for the devel line. Reverting was the mirror image: remove the line, update again, and the package set falls back to what stable and the remaining channel provide.

The recommended order was stable first, then extras-testing, and extras-devel only when a specific package demanded it. Developers working on a package usually tracked extras-devel for their own build dependencies. Power users who wanted the newest maps or the newest file manager tracked extras-testing, because it is the shelf where a package sat after someone had run it for real. Treating extras-devel as a permanent source was how people ended up with a system that updated fine in a guide and broke in a hallway.

Version pinning and the package manager GUI

Version pinning and the package manager GUI gave the same three shelves a second face. The GUI, the application most owners knew as the package manager, listed what it could install, held, and remove, and it showed the repository a package came from, which is the detail that saved people when an update pulled a newer build from extras-devel than they wanted. Pinning the same package to an older version in the GUI stopped the automatic upgrade without touching the channel itself. The two views, the source lists and the GUI, always described the same three repositories; picking one was a preference, not a different system.

Where the repositories stand today

Where the repositories stand today is the question that decides whether a device is worth powering on. For the N900, the extras repositories remain the live community supply line, because the project that keeps that hardware running, Maemo Leste, the continuation, was built on the same Debian base and the same repository logic: a stable shelf, a testing shelf, and a development shelf, with the same promotion rule between them. The 2011 Ovi Store era is gone from the live picture, but the repository layout it ran beside survived on the Leste side, and the package manager GUI on a Leste device is the same face, repointed at the same kind of shelves. If the device is a Nokia 770, a Nokia 810, or an N800, the same three-shelf logic applied under Maemo 5, and the historical record of what was installable is preserved in the archives of the maemo.org package infrastructure.

The short version: the maemo repositories were three shelves, stable, extras-testing and extras-devel, and the shelves are still stocked for the hardware that outlived their maker.

Where to go next