ASPN ActiveState Programmer Network
  ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups | Web Services
SEARCH
advanced | search help

Reference
ActiveTcl 8.5
ActiveTcl 8.5.1.0 User Guide
ActiveTcl 8.5.1.0 Documentation Index
TEApot Package Management
Keyword Index, Documentation, Tkcon Index , Img Index , Tcllib Index , Tklib Index , TclVFS Index , Tktreectrl Index , Sqlite Index
teacup
teapot
teapot-admin
teapot-glossary
teapot-md
teapot-pkg
teapot-trepo
teapot activetcl
teapot faq
teapot intro

MyASPN >> Reference >> ActiveTcl 8.5 >> ActiveTcl 8.5.1.0 User Guide >> ActiveTcl 8.5.1.0 Documentation Index >> TEApot Package Management
ActiveTcl 8.5 documentation


[ Main Table Of Contents | Table Of Contents | Keyword Index ]

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



NAME

teapot-trepo - TEApot Transparent Repository Structure

TABLE OF CONTENTS

    TABLE OF CONTENTS
    DESCRIPTION
    Base directory
    Location details
        Zip archives
        Packages, Tcl Modules
        Applications, Tcl Modules
    Summary
    BUGS, IDEAS, FEEDBACK
    SEE ALSO
    KEYWORDS
    COPYRIGHT

DESCRIPTION

This document specifies the directory structure used by transparent repositories (i.e. installation repositories) to store entities.

Base directory

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:

  1. The Tcl application BAR, coming in a Tcl Module will be stored under the directory "FOO/application/tcl/teapot/".

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

Location details

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.

Zip archives

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:

  1. 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/".

  2. The exact location of version 1 of the Tcl application BAR, coming in a Zip archive is the directory "BASE/BAR-1/".

Packages, Tcl Modules

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:

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

Applications, Tcl Modules

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:

  1. The Tcl application BAR, version 2, coming in a Tcl Module is stored in the file "BASE/BAR-2.tm".

Summary

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

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.

SEE ALSO

teacup, teapot-md

KEYWORDS

TEAPOT, package management, repository, transparent

COPYRIGHT

Copyright © 2007 ActiveState Software Inc.


Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState 2004 All rights reserved