274 lines
7.5 KiB
Groff
274 lines
7.5 KiB
Groff
.\"
|
|
.\" 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_create.1
|
|
.\"
|
|
.TH pkg_create 1 "July 18, 1993" "" "FreeBSD"
|
|
|
|
.SH NAME
|
|
pkg_create - a utility for creating software package distributions.
|
|
.SH SYNOPSIS
|
|
.na
|
|
.B pkg_create
|
|
.RB [options]
|
|
.RB pkg-name
|
|
|
|
.SH DESCRIPTION
|
|
The
|
|
.B pkg_create
|
|
command is used to create packages that will subsequently be fed to
|
|
one of the package extraction/info utilities. The input description
|
|
and command line arguments for the creation of a package are not
|
|
really meant to be human-generated, though it is easy enough to
|
|
do so. It is more expected that you will use a front-end tool for
|
|
the job rather than muddling through it yourself. Nonetheless, a short
|
|
description of the input syntax is included in this document.
|
|
|
|
.SH OPTIONS
|
|
.TP
|
|
The following command line options are supported.
|
|
.TP
|
|
.B \-Y
|
|
Assume a default answer of `Yes' for any questions asked.
|
|
.B "Optional."
|
|
.TP
|
|
.B \-N
|
|
Assume a default answer of `No' for any questions asked.
|
|
.B "Optional."
|
|
.TP
|
|
.B \-v
|
|
Turns on verbose output.
|
|
.B "Optional."
|
|
.TP
|
|
.BI "\-c\ " [-]desc
|
|
Fetch package "one line description" from file
|
|
.I desc
|
|
or, if preceeded by
|
|
.B -
|
|
, the argument itself. This string should also
|
|
give some idea of which version of the product (if any) the package
|
|
represents.
|
|
.B "Mandatory."
|
|
.TP
|
|
.BI "\-d\ " [-]desc
|
|
Fetch long description for package from file
|
|
.I desc
|
|
or, if preceeded by
|
|
.B -
|
|
, the argument itself.
|
|
.B "Mandatory."
|
|
.TP
|
|
.BI "\-f\ " file
|
|
Fetch "packing list" for package from
|
|
.I file
|
|
or
|
|
.B stdin
|
|
if
|
|
.I file
|
|
is a
|
|
.B -
|
|
(dash).
|
|
.B "Mandatory."
|
|
.TP
|
|
.B -h
|
|
Forces tar to follow symbolic links, so that the files they point to
|
|
are dumped, rather than the links themselves.
|
|
.TP
|
|
.BI "\-i\ " script
|
|
Sets
|
|
.I script
|
|
to be the install procedure for the package. This can be any
|
|
executable program (or shell script). It will be invoked automatically
|
|
when the package is later installed.
|
|
.B "Optional."
|
|
.TP
|
|
.BI "\-p\ " prefix
|
|
Sets
|
|
.I prefix
|
|
As the initial directory "base" to start from in selecting files for
|
|
the package.
|
|
.B "Optional."
|
|
.TP
|
|
.BI "\-k\ " script
|
|
Sets
|
|
.I script
|
|
to be the de-install procedure for the package. This can be any
|
|
executable program (or shell script). It will be invoked automatically
|
|
when the package is later (if ever) de-installed.
|
|
.B "Optional."
|
|
.TP
|
|
.BI "\-r\ " script
|
|
Sets
|
|
.I script
|
|
to be the "requirements" procedure for the package. This can be any
|
|
executable program (or shell script). It will be invoked automatically
|
|
at installation/deinstallation time to determine whether or not
|
|
installation/deinstallation should proceed.
|
|
.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
|
|
.BI "\-X\ " file
|
|
Pass
|
|
.I file
|
|
as a
|
|
.B \-exclude-from
|
|
argument to
|
|
.B tar
|
|
when creating final package. See
|
|
.B tar
|
|
man page (or run
|
|
.B tar
|
|
with
|
|
.B --help
|
|
flag) for further information on using this flag.
|
|
.PP
|
|
.SH "TECHNICAL DETAILS"
|
|
The "packing list" format (see \fB-f\fR) is fairly simple, being
|
|
nothing more than a single column of filenames to include in the
|
|
package. However, since absolute pathnames are generally a bad idea
|
|
for a package that could be installed potentially anywhere, there is
|
|
another method of specifying where things are supposed to go
|
|
and, optionally, what ownership and mode information they should be
|
|
installed with. This is done by imbeding specialized command sequences
|
|
in the packing list. Briefly described, these sequences are:
|
|
.TP
|
|
.BI "@cwd\ " directory
|
|
Sets the internal directory pointer to point to
|
|
.I directory.
|
|
All subsequent filenames will be assumed relative to this directory.
|
|
Note:
|
|
.BI @cd
|
|
is also an alias for this command.
|
|
.TP
|
|
.BI "@exec\ " command
|
|
Execute
|
|
.I command
|
|
as part of the unpacking process. If
|
|
.I command
|
|
contains a any of the following sequences somewhere in it, they will
|
|
be expanded inline. For the following examples, assume that
|
|
.B @cwd
|
|
is set to
|
|
.B /usr/local
|
|
and the last extracted file was
|
|
.B bin/emacs.
|
|
.TP
|
|
.I "%F"
|
|
Expands to the last filename extracted (as specified), in the example case
|
|
.B bin/emacs
|
|
.TP
|
|
.I "%D"
|
|
Expands to the current directory prefix, as set with
|
|
.B @cwd,
|
|
in the example case
|
|
.B /usr/local.
|
|
.TP
|
|
.I "%B"
|
|
Expands to the "basename" of the fully qualified filename, that
|
|
is the current directory prefix, plus the last filespec, minus
|
|
the trailing filename. In the example case, that would be
|
|
.B /usr/local/bin.
|
|
.TP
|
|
.I "%f"
|
|
Expands to the "filename" part of the fully qualified name, or
|
|
the converse of
|
|
.B %B
|
|
, being in the example case,
|
|
.B emacs.
|
|
.TP
|
|
.BI "@unexec\ " command
|
|
Execute
|
|
.I command
|
|
as part of the deinstallation process. Expansion of special
|
|
.B %
|
|
sequences is the same as for
|
|
.B @exec.
|
|
This command is not executed during the package add, as
|
|
.B @exec
|
|
is, but rather when the package is deleted. This is useful
|
|
for creating links and other ancillary files that were created
|
|
as a result of adding the package, but not directly known to
|
|
the package's table of contents (and hence not automatically
|
|
removable). The advantage of using
|
|
.B @unexec
|
|
over a deinstallation script is that you can use the "special
|
|
sequence expansion" to get at files regardless of where they've
|
|
been potentially redirected (see
|
|
.B -p)
|
|
.TP
|
|
.BI "@mode\ " mode
|
|
Sets default permission for all subsequently extracted files to
|
|
.I mode.
|
|
Format is the same as that used by the
|
|
.B chmod
|
|
command (well, considering that it's later handed off to it, that's
|
|
no surprise). Use without an arg to set back to default (extraction)
|
|
permissions.
|
|
.TP
|
|
.BI "@owner\ " user
|
|
Sets default ownership for all subsequently extracted files to
|
|
.I user.
|
|
Use without an arg to set back to default (extraction)
|
|
ownership.
|
|
.TP
|
|
.BI "@group\ " group
|
|
Sets default group ownership for all subsequently extracted files to
|
|
.I group.
|
|
Use without an arg to set back to default (extraction)
|
|
group ownership.
|
|
.TP
|
|
.BI "@comment\ " string
|
|
Imbed a comment in the packing list. Useful in
|
|
trying to document some particularly hairy sequence that
|
|
may trip someone up later.
|
|
.TP
|
|
.BI "@ignore\ " file
|
|
Used internally to tell extraction to ignore the next file (don't
|
|
copy it anywhere), as it's used for some special purpose. Also useful
|
|
if you want to pack some specialized datafiles in with a distribution
|
|
for your install script (or something) and want to have the installer
|
|
ignore it.
|
|
.TP
|
|
.BI "@name\ " name
|
|
Sets the name of the package. This is mandatory and is usually
|
|
put at the top. This name is potentially different than the name of
|
|
the file it came in, and is used when keeping track of the package
|
|
for later deinstallation. Note that
|
|
.B pkg_create
|
|
will derive this field from the package name and add it automatically
|
|
if none is given.
|
|
|
|
.SH BUGS
|
|
Sure to be some.
|
|
.SH "SEE ALSO"
|
|
.BR pkg_add "(" 1 "),"
|
|
.BR pkg_info "(" 1 "),"
|
|
.BR pkg_delete "(" 1 "),"
|
|
.SH AUTHORS
|
|
Jordan Hubbard
|
|
|