Subversion Repositories DevTools

Rev

Rev 4003 | Blame | Compare with Previous | Last modification | View Log | RSS feed

#-------------------------------------------------------------------------------
#   Documentation
#

=pod

=for htmltoc    CORE::

=head1 NAME

Package Storage Archives used by JATS

=head1 SYNOPSIS

Package archives are repositories for Packages that have been built by JATS.
There are six types of package archive, as shown below together with the
search order.

=over

=item 1 

L<sandbox_archive>       (User current sandbox)

=item 2 

L<local dpkg_archive|local_dpkg_archive>    (User local store)

=item 3 

L<dpkg_archive_cache> (Machine local cache)

=item 4 

L<dpkg_archive_replica> (Site repository)

=item 5 

L<dpkg_archive> (Master repository)

=item 6 

L<deploy_archive> (Site repository)

=item 7 

L<dpkg_archive_store> (Global repository)

=back

These are detailed in the following sections.

=over 4

=item  dpkg_archive

dpkg_archive is the common package repository. This is on a shared network drive
and as such affects the build speed. JATS supports several mechanisms to supplement
dpkg_archive, as described below.

This archive is mandatory. Its location if specified by the EnvVar L<GBE_DPKG>.

=item   deploy archive

deploy_archive is the common package repository for deployable packages and
is similar to dpkg_archive. 

This archive is optional. Its location if specified by the EnvVar L<GBE_DPLY>.

=for htmlclass Note

Note: Use of the deploy_archive has been deprecated. It is now the same as 
dpkg_archive.

=item   sandbox archive

sandbox_archive is the common package repository for packages that are
being built within a jats 'L<Sandbox|TOOLS::jats_sandbox>'. It is used to store
the packages generated by all builds within a sandbox.

This archive location will be determined automatically by JATS. It is only
used with the scope of a sandbox.

=item  local dpkg_archive

JATS supports a package archive that is local to a project or suite of build
sandboxes. This is the archive used by the L<install|TOOLS::jats/"item_install"> command.

The user does not have to do anything to access this archive. The archive is
located by the JATS wrapper script by scanning up the directory tree for a
directory called "local_dpkg_archive". If it is found then it is used as the
preferred source for locating archives. This allows a component to be tested
with a "local" or "fixed" version of another package, before an official
release is made.

A local archive may be shared by members of a team by setting the environment
variable L<GBE_DPKG_LOCAL> to the location of a shared drive.

=for htmlclass Note

Note: This type of archive is being deprecated for normal development in favour
of the 'L<Sandbox|TOOLS::jats_sandbox>' Archive.

=item  dpkg_archive cache

JATS supports a package caching mechanism to reduce network utilization. If
the user specified L<GBE_DPKG_CACHE> exists then that archive is treated as a
cache archive. The various JATS tools work together to maintain the cache.

This cache must be setup by the user.

=item  dpkg_archive store

JATS supports a global, read-only, package distribution mechanism. If
the user specified L<GBE_DPKG_STORE> exists then that archive is treated as a
global store. The store archive will be searched after all other archives.

A global store may be used by members of a global team, in a situation in
which the store is rsync'ed from a central repository.

=item  dpkg_archive replica

JATS supports a global, read-only, package distribution mechanism. If
the user specified L<GBE_DPKG_REPLICA> exists then that archive is treated as a
global store. The store archive will be searched before other site repository.

A replica store is used to provide fast access to packages that have been replicated from
the main package archive, which may be located remotely.

=back