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

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

Name

teapot-glossary - TEApot Glossary of Terms

Description

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.

application

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
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.

client

See repository client.

daemon

See repository server.

entity

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
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.

package

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.

profile

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.

repository

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.

teacup

See repository client.

teapot

See repository server.

teapot-admin

See admin-client.

server

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.

Workflows

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.

BUGS, IDEAS, FEEDBACK

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.