Skip to content

Latest commit

 

History

History
106 lines (77 loc) · 3.68 KB

guide-repository-format.rst

File metadata and controls

106 lines (77 loc) · 3.68 KB

Repository file system layout

File system Layout

The types of information that the depot server stores and/or retrieves can be categorized as follows:

  • depot data
    This includes: configuration data, presentation content (such as web page templates), publishing data (e.g. in-flight transactions), and temporary data (e.g. the feed cache).
  • repository data
    This includes: catalog information, package content (files), package metadata (manifests), and search data.

Layout

The depot server uses the following 'root' directory structures for the storage and retrieval of depot and repository data:

  • repo_dir (depot and repository data)
    cfg_cache (depot data)

    A file containing the cached configuration information for the depot server.

    catalog/ (repository data)

    This directory contains the repository catalog and its related metadata.

    file/ (repository data)

    This directory contains the file content of packages in the repository.

    Files are stored using a two-level path fragment, derived from the SHA1-hash of a file's content, assumed to have at least 8 distinct characters.

    Example:

    00/ 0023bb/ 000023bb53fdc7bcf35e62b7b0b353a56d36a504

    index/ (repository data)

    This directory contains the search indices for the repository.

    pkg/ (repository data)

    This directory contains the metadata (manifests) for the repository's packages.

    The manifests for each package are stored in a directory with the same name as the package stem using a URL-encoded filename.

    Example:
    entire/

    0.5.11%2C5.11-0.86%3A20080422T234219Z

    trans/ (depot data)

    This directory contains in-flight transactions for packages that are waiting for the publication process to complete so that they can be added to the repository's catalog.

    Each transaction is stored in a directory named after the pending transaction id and contains the manifest waiting for publication to finish stored with the filename of 'manifest'.

    Example:
    1229379580_pkg%3A%2Fsystem%2Flibc%400.1%2C5.11-98%3A20081215T221940Z/

    manifest

    updatelog/ (repository data)

    This directory contains metadata detailing changes to the repository by publishing operations.

  • content_root (depot data)

    web/

    This directory contains all of the web presentation content for the depot.