123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124 |
- .TH PM 1
- .SH NAME
- install, list, pull, remove \- package management scripts
- .SH SYNOPSIS
- .B pm/install
- [
- .B -f
- ]
- .I category/name
- .br
- .B pm/list
- [
- .B -i
- |
- .B -v
- ]
- [
- .I category
- ]
- .br
- .B pm/pull
- .I category/name
- .br
- .B pm/remove
- .I category/name
- .SH DESCRIPTION
- .I PM
- is a package management system inspired by
- .IR contrib
- and
- .IR 9pm ,
- but with greater focus on speed and maintainability. Packages are stored as
- .B .tgz
- files on an HTTP server, rather than as discrete files on sources, for improved speed.
- .PP
- Packages are described by a category and a name. Categories include
- .I devel,
- .I lib,
- and
- .I network.
- Package names include
- .I mercurial,
- .I openssl,
- and
- .I openssh.
- A full accounting of categories may be obtained by simply listing the directories in
- .B /contrib/packages/ .
- Listing of individual packages is accomplished through the
- .B pm/list
- command.
- .TP
- .I pm/install
- Installs the package and any necessary dependencies. The specified package will be automatically downloaded using the
- .B pm/pull
- command, as will any dependencies. By default, existing files will not be overwritten. The
- .B -f
- option forces the overwriting of existing files.
- .TP
- .I pm/list
- List the available packages, one per line, with no additional description, suitable for further processing. The
- .B -i
- option gives a listing of all currently installed packages. The
- .B -v
- option gives a description of each package. If a category is specified, only packages under that category are listed.
- .TP
- .I pm/pull
- Download the specified package from the package repository. This is not necessary for installation tasks, but may be of interest if you wish to examine the package prior to installing.
- .TP
- .I pm/remove
- Deletes files installed by the specified package. Does not remove dependency packages, as they may be needed by other packages.
- .SH PACKAGE SERVERS
- Any HTTP server may act as a package server provided its HTTP root directory contains a
- .B contrib/packages
- directory with
- .B root.tgz
- files in the package directories. The list of package servers is maintained in
- .B /lib/ndb/local
- in the following format:
- .br
- .EX
- pm=srvlist
- srv=jfloren.net
- srv=anotherserver.com
- .EE
- .br
- Additional servers may be added; servers will be tried in order. If a package is not found on one server, the other servers will be tried one after the other until a
- .B root.tgz
- file is found.
- .SH EXAMPLES
- .LP
- Install Mercurial.
- .sp 1
- .EX
- % pm/install devel/mercurial
- .EE
- .PP
- Remove Mercurial, leaving any dependencies installed.
- .sp 1
- .EX
- % pm/remove devel/mercurial
- .EE
- .SH FILES
- .TP
- .B /contrib/packages/installed
- listing of currently installed packages.
- .TP
- .B /contrib/packages/*
- directories representing package categories.
- .TP
- .B /contrib/packages/*/*
- directories for individual packages.
- .TP
- .B /lib/ndb/local
- HTTP servers with packages for downloading.
- .SH SOURCE
- .B /rc/bin/pm
- .SH SEE ALSO
- .IR proto (2),
- .IR replica (1),
- .IR replica (8),
- .IR contrib (1),
- .SH BUGS
- Send bug reports to
- .I john@jfloren.net
|