# Package Manager Specification

The Package Manager application installs and removes software to and from the device.

The Package Manager application is used to manage the user installed software on the device. The Package Manager can retrieve software from a set of user defined locations, install the software on the device or to removeable media, and then later can be used to remove software from the device or removeable media.

Status: BT

## Use Cases

- Installing software from network

  The user wants to install a new program. They have an address for a website that is hosting the software.

- Installing software from removable media

  A friend of the user downloads some software for the user, and places it on an CF card using Qtopia Desktop. They then lend the CF card to the user who then installs the software on their device.

- Installing software onto removable media

  The user has a program they want to install that is too large to install onto the device. The user installs the software onto an SD card using the Package Manager.

- Reviewing installed software

  The user checks to see what software they have already installed on their device.

- Removing software

  The user uses the Package Manager to remove a package they have installed but no longer use.

## Features

- Install from network: Packages can be installed from any webserver.
- Install from local: Package can be installed from pre-downloaded packages.
- Install to removeable media: Packages can be installed to removable media.
- Uninstall: Installed packages can later be removed from the device.
- Dependency checking: When installing from network the Package Manager can determine if other available packages are required for the user selected package to run correctly, and download the additional packages.

## Prerequisites

- Uses the `ipkg` system on Linux.