DragonFly On-Line Manual Pages
epkg(1) Package Management epkg(1)
NAME
epkg - Encap package manager
SYNOPSIS
epkg [options] [-i] pkgspec ...
epkg [options] -r pkgspec ...
epkg [options] -k pkgspec ...
epkg [options] -u [pkgspec ...]
epkg [options] -b
epkg [options] -c
VERSION
This man page documents version 2.3 of epkg.
DESCRIPTION
epkg is an Encap package manager. It allows the administrator to
flexibly install, remove, and manage software packages which are
commonly installed in /usr/local.
epkg supports the Encap 2.1 package format.
PACKAGE MODES
epkg has the following operating modes:
-b Batch mode. epkg will select the latest version of each package
installed in the Encap source directory, remove all of the older
versions, and install the latest version.
-c Clean target directory. epkg will recursively go through the
Encap target directory and remove any dangling symbolic links
which point under the Encap source directory. All
subdirectories of the target directory are processed, except for
the entries in the global exclude list (and, if -E is specified,
encap.exclude entries in the target tree).
-k Check mode. For each pkgspec listed on the commandline, epkg
will check to see if the package is installed.
-i Install mode. epkg will install only the package(s) specified
on the commandline. This mode is assumed if none are specified.
If versioning is on (see -S), epkg will scan the source
directory for all versions of each pkgspec listed on the
commandline. It then selects one version to be installed,
removes all the other versions, and installs the selected one.
If the pkgspec specifies a version, that version is selected for
installation. If no version is specified, the latest available
version is selected.
If versioning is off, epkg will install only the exact package
name and version which matches each pkgspec on the commandline.
No other versions will be removed.
-r Remove mode. epkg will remove the package(s) listed on the
commandline.
If versioning is on (see -S), epkg will remove all versions of
each pkgspec which do not specify a version. For the pkgspecs
which do specify a version, only that version is removed.
If versioning is off, only the exact package name and version
which matches each pkgspec will be removed.
-u Update mode. This mode will check a set of central distribution
directories for new Encap packages and install them on the local
system. The central distribution directories are referred to as
the "update path".
The update path is specified as a space-delimited list in the
ENCAP_UPDATE_PATH environment variable. In directory names, the
special token "%p" is replaced by the host platform name.
If one or more pkgspecs are listed on the commandline, the
update path is searched for newer versions of the listed
packages than those that are already available on the system.
If a listed package is not available locally, any version of
that package which is found in the update path is installed.
If no pkgspecs are given on the commandline, the update path is
searched for newer versions of each of the packages which are
already available on the system.
OPTIONS
Options which turn on or off features act as toggles. Specifying them
twice will return to the default behavior.
-1 Back off from most recent version. In versioning install mode,
for each pkgspec which doesn't specify a version, install the
next-to-latest version of the package rather than the latest
version.
-a Use absolute symlinks. The default is to use relative links.
-A platform_suffix
Add platform_suffix to the list of acceptable platform suffixes.
Packages with any of the listed suffixes are considered
acceptable for installation.
-C Client operation. epkg will execute package scripts, but wont
do any linking or removing. This is useful when your Encap
source and target directories are NFS-mounted on many client
machines from a central server. The linking or removing is
taken care of on the server, but it is often desirable to run
the package scripts on each client as well.
-d Tells epkg not to remove empty target directories.
-D Tells epkg not to honor linkdir directives in the packages it
processes.
-E Check for encap.exclude files in places other than under the
package directory. This includes the Encap source directory
itself and all directories in the Encap target tree. This
option is deprecated, and is provided only for compatibility
reasons.
-f Force conflict resolution. If a file already exists when epkg
attempts to create a link, it will be removed so that the link
can be created.
-F Display debugging output for update mode. This is especially
useful for FTP connections.
-H host_platform
Use host_platform to identify the platform name of the machine
epkg is running on. If this option is not specified, the
platform name is generated automatically.
-K Keep checking all update directories to find the latest matching
package. This option is enabled by default. If disabled, epkg
will stop looking for updates after the first update directory
that contains any version of the requested package.
-l Disable transaction logging.
-L Tells epkg not to honor linkname directives in the packages it
processes.
-n Show what operations would have been performed without actually
doing anything.
-N Removes the default entries from the global exclude list.
-o Removes the default entries from the list of packages to
automatically override.
The override list is primarily intended to help people
transition from a monolithic /usr/local to using Encap.
-O pkgspec
Add pkgspec to the list of packages whose links will be
overriden when a new package is installed. This option can be
used multiple times.
-p Don't perform prerequisite checking.
-P Link or remove files directly in the package directory.
Normally, files in the package directory are not linked or
removed. Special package files, such as encapinfo and the
package scripts, are not linked or removed even when -P is
specified. This option is deprecated, and is provided only for
compatibility reasons.
-q Quiet mode. epkg will not produce any output except for error
messages.
-R Don't run package scripts.
-s source_dir
Tells epkg to use source_dir as the Encap source directory. If
the source is not specified but the target is, epkg will assume
the relative path from the target to the source is encap/. If
neither is specified, epkg will check the contents of the
ENCAP_SOURCE environment variable. If that is not set, it will
use the default set at compile-time (usually /usr/local/encap).
-S Specific package only. This tells epkg to disable versioning
and operate only on the exact package and version specified.
This option is only meaningful in install and remove modes.
-t target_dir
Tells epkg to use target_dir as the Encap target directory. If
the target is not specified but the source is, epkg will assume
the relative path from the source to the target is ../. If
neither is specified, epkg will check the contents of the
ENCAP_TARGET environment variable. If that is not set, it will
use the default set at compile-time (usually /usr/local).
-T Don't automatically retry connections to update directories.
The default is to retry connections.
-U update_dir
Prepends update_dir to the update path (which is specified by
the ENCAP_UPDATE_PATH environment variable).
-v Increase verbosity. This option can be specified multiple
times.
-V Print epkg's version and compile-time defaults.
-x Do not check for excluded files within packages. This does not
affect the global exclude list (see -X) or encap.exclude files
in other places (see -E).
-X exclude_path
Add exclude_path to the global exclude list.
If the Encap source directory lies under the Encap target
directory, the relative path from target to source is
automaticly added to the list.
TRANSACTION LOGGING
By default, epkg will log an entry to the file epkg.log in the Encap
source directory for each transaction indicating the date, target
directory, package, install or remove as appropriate, and the status.
The status is success if completely successful, failed if there was a
fatal error, forced if invoked in force mode (see above), or partial if
the operation was partially successful (for example, most of the links
were created, but some could not be created because of a link by the
same name into a previously-installed package).
EXAMPLES
To install only package mutt-0.93.2i:
epkg -Si mutt-0.93.2i
To upgrade to the latest version of mutt:
epkg mutt
BUGS
Probably quite a few. Reports are welcome.
ENVIRONMENT VARIABLES
ENCAP_SOURCE
ENCAP_TARGET
ENCAP_PKGNAME
ENCAP_MODE
ENCAP_UPDATE_PATH
FILES
/usr/local/encap/pkgname/encapinfo
/usr/local/encap/pkgname/preinstall
/usr/local/encap/pkgname/postinstall
/usr/local/encap/pkgname/preremove
/usr/local/encap/pkgname/postremove
SEE ALSO
mkencap(1)
The epkg Homepage (http://www.encap.org/epkg/)
The Encap Archive (http://www.encap.org/)
AUTHOR
Mark D. Roth <roth@feep.net>
University of Illinois Oct 2002 epkg(1)