teapot-glossary - TEA Package Management
[ Table Of Contents | Keyword Index ]

teapot-glossary(n) 1.0 tpm "TEA Package Management"


teapot-glossary - TEApot Glossary of Terms


This document is the central glossary of terms used throughout the documentation of the TEApot package management.

The list is sorted alphabetically.

admin client

The application for the administrative management of opaque local repositories. Its name is teapot-admin.


An application is one class of entities which can be stored in a repository. It is, as the name suggests, an executable script (or starkit), or a binary executable (starpack), although extended with TEApot meta data.

archive repository

An archive is a repository where a person or organization stores entities and their meta data for distribution to and access by users of said entities.

All types of repositories can be used as archives, however opaque repositories are the most general.

The distinction between archive and installation repository is mainly made by teacup, the repository client. Archives are the origin of entities, installations the destination.


See repository client.


See repository server.


The general term used for all things which can be stored in a repository. Currently these are packages and applications.

filesystem repository

See local repository.

installation repository

An installation is a repository where a person puts the packages which should be automatically used by the tcl shells that person has access to. The above implies that installations are transparent repositories, as otherwise a tcl shell has no documented way of accessing and loading the packages in the repository.

Installations are managed by the repository client. By default this application sets up a standard installation in the directory "~/.teapot/repository", however other installations can be accessed as well, by overriding the default through command line options. Take note that the client is restricted to the handling of local installations, as implied by the previous sentence.

local repository

A local repository is a repository which is accessible to a tool through the filesystem of the host the tool is executed on. In other words, this is equivalent to a filesystem repository.

network repository

See remote repository.

meta data

The information associated with entities, like packages, applications, or profiles, etc., which describes the entity. In terms of a library of books this is the information you would find in the library catalog.

opaque repository

An opaque repository is a repository whose internal structure is not disclosed to the users.


A package is one class of entities which can be stored in a repository. It is, as the name suggests, simply a Tcl package, extended with TEApot meta data.


A profile is a named collection of entities. It consists of only TEApot meta data. The referenced entities are specified as its dependencies, required, or recommended.

Profiles are never installed, only their dependencies will be (If not profiles themselves). This makes them repository-level bundles of packages and applications, and an easy way to name and install larger collections.

remote repository

A remote repository is a repository which is accessible to a tool through the network. In other words, this is equivalent to a network repository.

Most often this means that the repository will be under the control of an external person, company, etc.


A repository is a collection of entities and their meta data. Repositories can be classified according to their

  1. Internal structure: opaque vs. transparent.

  2. Location (relative to a tool using it): local vs. remote.

  3. Type of access: filesystem vs. network.

  4. Type of use by a tool: archive vs. installation.

repository client

The application for the management of installations, retrieving and installing the requested packages from archives. This is teacup.

repository daemon
repository server

The application for the export of opaque local repositories as network repositories. This is teapot.


See repository client.


See repository server.


See admin-client.


See repository server.

transparent repository

A transparent repository is a repository whose internal structure is

  1. publicly documented and accessible to users, and

  2. specified such that a tcl shell can directly load packages which have been stored in the repository.


The system currently considers only two flows, for developers and users of packages.

Package developer

               (1)           (2)
+---------+    +--------+    +--------+    /------------\
| Develop | -> | Build  | -> | Upload | -> | Repository |
| Code    |    | Entity |    | Entity |    |            |
+---------+    +--------+    +--------+    \------------/

Step (1) is handled by teapot-pkggen, and step (2) by teapot-admin. The repository is local and opaque.

Package user

                (3)            (4)
/---------\    +----------+    +---------+    /--------------\    +---------+
| Archive | -> | Retrieve | -> | Unpack& | -> | Installation | -> | Run/Use |
|         |    | Entity   |    | Install |    |              |    |         |
\---------/    +----------+    +---------+    \--------------/    +---------+

Steps (3) and (4) are both handled by teacup. The installation repository is local and transparent.


This document will undoubtedly contain bugs and other problems. Please report such at the ActiveState ActiveTcl Bug Tracker. The relevant component is teapot. Please also report any ideas for enhancements you may have for either application and/or documentation.