Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
46 lines (36 sloc) 1.5 KB

Shared drives

Groups that share packages across users can save storage and network traffic by installing packages from a shared directory (e.g. on a network file server).

Create and populate shared package directory

  1. Create a quilt_packages directory on the shared file system.

  2. Set the QUILT_PRIMARY_PACKAGE_DIR to the path for quilt_packages in step 1.

    # select a path that you control & is durable, e.g.
    export SHARE_PATH=YOUR_SHARED_PATH/quilt_packages
    export QUILT_PRIMARY_PACKAGE_DIR=$SHARE_PATH
    mkdir -p "$SHARE_PATH"
    chmod o+r "$SHARE_PATH"
  3. Install packages to the shared directory

    quilt build USERNAME/PACKAGE PATH_TO_BUILD_YML
    quilt install USERNAME/PACKAGE
  4. Set read permissions on shared directory and sub-directories

    chgrp -R readers "$QUILT_PRIMARY_PACKAGE_DIR"
    chmod -R g+rx "$QUILT_PRIMARY_PACKAGE_DIR"

Configure clients to read from shared directory

  1. Each reader should set the following environment variable:
    # consider setting this in .bashrc
    export QUILT_PACKAGE_DIRS=$SHARE_PATH
  2. Readers can can import shared packages as follows example:
    from quilt.data.USERNAME import PACKAGE

Import precedence

Quilt will first check QUILT_PRIMARY (defaults to the local machine) and then check QUILT_PACKAGE_DIRS (if available) when importing a package.

Refer to the Python API docs for details on quilt commands.