[poldek home]

1. Overview

poldek is a full-featured frontend to RPM package manager. Its core features are similar to every modern package updater like apt-get. Features include package installation, upgrading and removal with automatic dependency handling, querying/ search the package database and more.

Features

Easy to use

Basic command line options and switches are similar in use to rpm so poldek is easy to learn for users familiar with it. Apart from rpm-like command line switches, poldek provides higher level command set ("install", "upgrade", "ls", etc) quite intuitive for those who knows apt-get. Shell-like interface with auto-completion and history is also provided.

Relatively fast and scalable

poldek has been designed with efficiency and scalability in mind. Native package repository index format is optimized for storage size and loading speed. Package dependencies, conflicts and setting in order are handled without using rpmlib, so the program is significantly faster and needs less memory than rpmlib-based tools. On typical machine poldek can handle 20K packages without noticable speed degradation.

Incremental repository updates

poldek's repositories are updateable by downloading a changes of remote repository only, what drastically reduces amout of data need to be retrieved when remote repository was changed a bit.

Support for multiple repository types

poldek supports various types of package repositories including apt-get, yum and XML Package Metadata. See the list of supported repository types for details. Support for other types may be easily added.

Flexible installation of a big package sets

Before their installation packages are divided into small groups, usually 2-10 items (depending on their reciprocal dependencies). Each group is installed separately, what ensures that unsucessful installation of one of the groups does not influence other ones. Another benefit of this separate installation is that it requires less memory and disk space than the usual one.

Flexible downloading

Out of the box FTP, HTTP, HTTPS, RSYNC and SMB are supported. This list may be easily extended to other protocols by external scripts.

FTP and HTTP are handled by built-in client designed to retrieve files over slow or unstable network connections -- if a download fails due to a network problem, it will keep trying until the whole file will be downloaded. Download resuming, timestamp checking, proxy support are implemented as well.

Repository management

poldek provides functionality which helps to manage distribution repositories. Features include:

  • Detail reports about dependency loops, unmet dependencies, package conflicts, file sharing/conflicts, orphaned directories and missing dependencies.

  • Division package set to chunks to be placed on removable media with ordering according dependency tree and with priority handling.

  • Moving packages from one repository to another with full dependency checking.