|
ActiveTcl User Guide |
|
[ Main Table Of Contents | Table Of Contents | Keyword Index ]
teapot-trepo(n) 1.0 tpm "TEA Package Management"
teapot-trepo - TEApot Transparent Repository Structure
TABLE OF
CONTENTS
DESCRIPTION
Base
directory
Location
details
Zip archives
Packages, Tcl Modules
Applications, Tcl Modules
Summary
BUGS,
IDEAS, FEEDBACK
SEE ALSO
KEYWORDS
COPYRIGHT
This document specifies the directory structure used by transparent
repositories (i.e. installation repositories) to
store entities.
Assuming that the main directory of the repository is "FOO/" the stored entities are first sorted by their
entity type, then their architecture, and at last according to
their storage format (Tcl Module, vs. Zip archive). This means that
the base path for an entity X is:
- "FOO/<entity-type>/<architecture>/<storage>/"
The first two, entity type and architecture, are pulled out of
the meta data contained in the archive, whereas the last is
determined by the file type and translated into the path segment
per the list in the next paragraph
- Tcl Module
- teapot
- Zip archive
- lib
In the following sections we will write "BASE/" as a shorthand for this directory.
Examples:
- The Tcl application BAR, coming in a Tcl Module will be stored
under the directory "FOO/application/tcl/teapot/".
- The linux-glibc2.2-ix86 package Trf,
coming in a Zip archive will be stored under the directory "FOO/package/linux-glibc2.2-ix86/lib/"
Note that while profiles could principally
be stored in a transparent repository this is forbidden, and the teacup client
prevents it from happening.
Now that the base directory for an entity is known the exact
location inside of the base directory can be fully specified. This
continues to be dependent on the entity type and storage format,
with further dependencies on entity name, version, and its
dependencies.
For all entities X coming in a zip archive a directory D is
created under the base directory and the zip archive is expanded
into this directory. The name of this directory D is of the form
NAME-VERSION, using name and version of the entity, as per its
TEAPOT meta data. Examples:
- The exact location of the linux-glibc2.2-ix86 package Trf,
version 2.1, coming in a Zip archive is the directory "BASE/Trf-2.1/".
- The exact location of version 1 of the Tcl application BAR,
coming in a Zip archive is the directory "BASE/BAR-1/".
For packages coming in as Tcl Modules the directory structure
under the base directory is as specified by TIP 189, i.e.
| |
"BASE/tcl8/8.1/"
"BASE/tcl8/8.2/"
"BASE/tcl8/8.3/"
"BASE/tcl8/8.4/"
"BASE/tcl8/8.4/"
"BASE/tcl8/8.5/"
...
|
and with the file name the name and version of the package, also
encoded as per TIP 189, and extension ".tm".
The proper subdirectory depends on the minimal version of Tcl the
package depends on, information which is pulled out of the
package's meta data, i.e. the package's dependencies.
Example:
- The tcl package doctools::toc, version
1.0, depending on Tcl 8.2, is stored in the file "BASE/tcl8/8.2/doctools/toc-1.0.tm".
For applications coming in as Tcl Modules the directory
structure under the base directory is simplified, i.e. there are no
subdirectories to sort the applications by the version of Tcl they
depend on. The encoding of the application name and version into a
file name is however also done by the rules of TIP 189.
Example:
- The Tcl application BAR, version 2, coming in a Tcl Module is
stored in the file "BASE/BAR-2.tm".
Pulling everything together the structure of a transparent
repository is
| |
FOO/
package/ARCHITECTURE/ Packages
lib/NAME-VERSION/ Zip archive, expanded
teapot/tcl8/8.y/PKG.tm Tcl Module, TIP 189
application/ARCHITECTURE/ Applications
lib/NAME-VERSION/ Zip archive, expanded
teapot/APP.tm Tcl Module, TIP 189
|
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.
teacup, teapot-md
TEAPOT, package management, repository, transparent
Copyright © 2007 ActiveState Software Inc.
|