Company Products/Technology Services News/Events Support Spacer Contact Partners Customers
English    日本語
Products Photo

Product Documentation for
Devicescape Universal Wireless Platform

Documentation Home for Devicescape Universal Wireless Platform | Package Guide

Package GuidePreviousNextIndex

 


ipkg package

Information on this package is covered here.

Package
Description
License
ipkg
The Itsy Package Manager

Summary

IPKG, or the Itsy(*) Package Management System, is a lightweight package management system designed specifically for use in Linux devices with limited storage. It is similar to RPMs and DPKGs. In fact, the iPKG file format is based on the Debian package management system (DPKG).

IPKG allows for addition, update or removal of packages on a running system. Like its larger cousins, it supports versioning, dependency tracking and conflict management.

IPKG is small in several ways:

  • The control programs themselves are designed to be very small.
  • The meta-data that is maintained on the device about both installed and available packages is limited to what is essential wherever possible.
  • The packages themselves are stripped down to the bare minimum needed on an embedded device. This includes stripping binaries to remove unnecessary symbolic & debug information, as well as removing most of an application's documentation.

Itsy is the name of a prototype device produced as part of a research project at what is now the HP Western Research Lab to develop small, potentially even wearable, computing devices with enough processing power to enable applications such as speech recognition. See
http://research.compaq.com/wrl/projects/itsy/ for more information on this project.

Usage

Runtime Configuration

ipkg has a number of runtime configuration files. The most important of these in terms of defining the behaviour of the tool is /etc/ipkg.conf.

This file contains definitions of the source(s) that are available for downloading packages, known as 'feeds' in ipkg parlance, and the destinations in the device file system where packages are installed. In most cases there will only be one destination, but depending on the application there could be several source feeds. Here is an example ipkg.conf file:

src stable http://support.devicescape.com/ipkgs/ixdpg425/stable
dest root /

The format of the two lines is:

src <Name> <URI_to_feed>

dest <Name> <local_fs_path>

The source name is used internally to maintain a list of packages available that that source. The destination name can be used on the command line (see "Command Line Options: -d, -dest" below) to specify where the package should be installed.

The remaining files that ipkg maintains, all under /usr/lib/ipkg are:

  • status - Record of the current state of all installed packages
  • info/ - per-package tracking information
  • lists/ - per-feed list of available packages

None of these should be touched directly; they are maintained by ipkg.

Command Line Options

Syntax

ipkg [options...] sub-command [arguments...]

Options

Option
Description
-A
Query all packages with whatdepends, whatprovides, whatreplaces, whatconflicts.
-V <level>
--verbosity <level>
Set verbosity level to <level>. If no value is provided increase verbosity by one. Verbosity levels:
  • 0 errors only
  • 1 normal messages (default)
  • 2 informative messages
  • 3 debug output
-f <conf_file>
Use <conf_file> as the ipkg configuration file
-conf <conf_file>
Default configuration file location is /etc/ipkg.conf
-d <dest_name>
-dest <dest name>
Use <dest_name> as the the root directory for package installation, removal, upgrading. <dest_name> should be a defined dest name from the configuration file, (but can also be a directory name in a pinch).
-o <offline_root>
-offline <offline_root>
Use <offline_root> as the root directory for offline installation of packages.
-verbose_wget
More wget messages

Force Options

Use these force options use when ipkg is too smart for its own good.

Option
Description
-force-depends
Make dependency checks warnings instead of errors. Install/remove package in spite of failed dependences.
-force-defaults
Use default options for questions asked by ipkg. (no prompts). Note that this will not prevent package installation scripts from prompting.
-force-reinstall
Allow ipkg to reinstall a package.
-force-overwrite
Allow ipkg to overwrite files from another package during an install.
-force-removal-of-dependent-packages
Force removal of dependent packages.
-force_space
Install even if there does not seem to be enough space.
-noaction
No action -- test only
-nodeps
Do not follow dependences
-recursive
Allow ipkg to remove package and all that depend on it.
-test
No action -- test only
-t
--tmp-dir
Specify tmp-dir.

Subcommands and Arguments

Subcommand [Arguments . . .]
Description
Package Manipulation Subcommands
update
Update list of available packages
upgrade
Upgrade all installed packages to latest version
install <pkg>
Download and install <pkg> (and dependencies)
install <file.ipk>
Install package <file.ipk>
configure [<pkg>]
Configure unpacked packages
remove <pkg|regexp>
Remove package <pkg|packages following regexp>
flag <flag> <pkg> ...
Flag package(s) <pkg>
<flag>
=hold|noprune|user|ok|installed|unpacked
(one per invocation)
Informational Subcommands
list
List available packages and descriptions
files <pkg>
List all files belonging to <pkg>
search <file|regexp>
Search for a package providing <file>
info [pkg|regexp]
Display all info for <pkg>
status [pkg|regexp]
Display all status for <pkg>
download <pkg>
Download <pkg> to current directory.
compare_versions <v1> <op> <v2>
compare versions using <= < > >= = << >>
print_architecture
Prints the architecture
print_installation_architecture
whatdepends [-A] [pkgname|pat]+
whatdependsrec [-A] [pkgname|pat]+
whatprovides [-A] [pkgname|pat]+
whatconflicts [-A] [pkgname|pat]+
whatreplaces [-A] [pkgname|pat]+
Prints the installation architecture

Building the Package

ipkg is itself built as a package, and can be upgraded like any other package in the running system. Follow the regular instructions for building packages from source to build a new version of ipkg.

Follow standard instructions for building userspace packages in the Devicescape Developer Guide topic on "Building the Packages", see subtopic: "Building a Userspace Package from a Source RPM"

Getting More Information on ipkg

If want to learn more about the the Itsy Package Management System (ipkg), there are a number of good places on the internet to look for more information. Here are some good sites:

Licensing

GPL2 (GNU General Public License, v.2)

Related Packages

Required

None

Suggested

None

Package GuidePreviousNextIndex