.\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_add.1 .\" .TH pkg_add 1 "July 18, 1993" "" "FreeBSD" .SH NAME pkg_add - a utility for installing software package distributions. .SH SYNOPSIS .na .B pkg_add .RB [options] .RB "pkg-name\ [.. pkg-name]" .SH DESCRIPTION The .B pkg_add command is used to extract packages that have been previously created with the .B pkg_create command. .SH OPTIONS .TP The following command line options are supported. .TP .B \-v Turns on verbose output. .B "Optional." .TP .B \-I If an installation script exists for a given package, do not execute it. .B "Optional." .TP .B \-n Don't actually install a package, just report the steps that would be taken if it was. .B "Optional." .TP .B \-R Do not record the installation of a package. This means that you cannot deinstall it later, so only use this option if you know what you are doing! .B "Optional." .TP .BI "\-p\ " prefix Sets .I prefix as the directory in which to extract files from a package. If a package has set its default directory, it will be overridden by this flag. Note that only the first directory default will be replaced, since .B pkg_add has no way of knowing which directory settings are relative and which are absolute. It is rare, in any case, that more than one directory transition is made, but when such is the case then you may wish to look into the use of .B MASTER and .B SLAVE mode (see .B \-M and .B \-S options). .B "Optional." .TP .BI "\-t\ " template Use .I template as the input to mktemp(3). By default, this is the string .B /tmp/instmp.XXXXXX , but it may be necessary to override it in the situation where space in your .B /tmp directory is limited. Be sure to leave some number of `X' characters for mktemp(3) to fill in with a unique ID. .B "Optional." .TP .B \-M Run in .B MASTER mode. This is a very specialized mode for running .B pkg_add and is meant to be run in conjunction with .B SLAVE mode. When run in this mode, .B pkg_add does no work beyond extracting the package into a temporary staging area (see .B \-t option), reading in the packing list, and then dumping it (prefaced by the current staging area) to stdout where it may be filtered by a program such as .B sed(1). When used in conjunction with .B SLAVE mode, it allows you to make radical changes to the package structure before acting on its contents. .TP .B \-S Run in .B SLAVE mode. This is a very specialized mode for running .B pkg_add and is meant to be run in conjunction with .B MASTER mode. When run in this mode, .B pkg_add expects the release contents to be already extracted and waiting in the staging area, the location of which is read as a string from stdin. The complete packing list is also read from stdin, and the contents then acted on as normal. .PP .SH "TECHNICAL DETAILS" .B pkg_add is fairly simple. It simply extracts the requested packages into a "staging area" directory and then performs the following steps: .PP If the package contains a .B require file (see .B pkg_create ), then this is executed first with the flag .b INSTALL to see whether or not installation should continue (a non-zero exit status means no). .PP If an .B install script exists for the package, it is then executed as follows: .PP First, before installing files in the data set, the .B install script is called with the flags .PP .B