summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pkg_install/create/pkg_create.1
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/pkg_install/create/pkg_create.1')
-rw-r--r--usr.sbin/pkg_install/create/pkg_create.1666
1 files changed, 0 insertions, 666 deletions
diff --git a/usr.sbin/pkg_install/create/pkg_create.1 b/usr.sbin/pkg_install/create/pkg_create.1
deleted file mode 100644
index 5b46374..0000000
--- a/usr.sbin/pkg_install/create/pkg_create.1
+++ /dev/null
@@ -1,666 +0,0 @@
-.\"
-.\" 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
-.\" $FreeBSD$
-.\"
-.\" hacked up by John Kohl for NetBSD--fixed a few bugs, extended keywords,
-.\" added dependency tracking, etc.
-.\"
-.\" [jkh] Took John's changes back and made some additional extensions for
-.\" better integration with FreeBSD's new ports collection.
-.\"
-.Dd Oct 12, 2010
-.Dt PKG_CREATE 1
-.Os
-.Sh NAME
-.Nm pkg_create
-.Nd a utility for creating software package distributions
-.Sh SYNOPSIS
-.Nm
-.Op Fl YNOhjnvyz
-.Op Fl C Ar conflicts
-.Op Fl P Ar pkgs
-.Op Fl p Ar prefix
-.Op Fl i Ar iscript
-.Op Fl I Ar piscript
-.Op Fl k Ar dscript
-.Op Fl K Ar pdscript
-.Op Fl r Ar rscript
-.Op Fl s Ar srcdir
-.Op Fl S Ar basedir
-.Op Fl t Ar template
-.Op Fl X Ar excludefile
-.Op Fl D Ar displayfile
-.Op Fl m Ar mtreefile
-.Op Fl o Ar originpath
-.Fl c Ar comment
-.Fl d Ar description
-.Fl f Ar packlist
-.Ar pkg-filename
-.Nm
-.Op Fl EGYNRhnvxy
-.Fl b Ar pkg-name
-.Op Ar pkg-filename
-.Sh DESCRIPTION
-The
-.Nm
-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
-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
-The following command line options are supported:
-.Bl -tag -width indent
-.It Fl f Ar packinglist
-Fetch
-.Dq packing list
-for package from the file
-.Ar packinglist
-or
-.Cm stdin
-if
-.Ar packinglist
-is a
-.Cm -
-(dash).
-.It Fl c Xo
-.Oo Fl Oc Ns Ar desc
-.Xc
-Fetch package
-.Dq one line description
-from file
-.Ar desc
-or, if preceded by
-.Cm - ,
-the argument itself.
-This string should also
-give some idea of which version of the product (if any) the package
-represents.
-.It Fl d Xo
-.Oo Fl Oc Ns Ar desc
-.Xc
-Fetch long description for package from file
-.Ar desc
-or, if preceded by
-.Cm - ,
-the argument itself.
-.It Fl Y , -yes
-Assume a default answer of `Yes' for any questions asked.
-.It Fl N , -no
-Assume a default answer of `No' for any questions asked.
-.It Fl O , -plist-only
-Go into a `packing list Only' mode.
-This is a custom hack for the
-.Fx
-.Em "Ports Collection"
-and is used to do `fake pkg_add' operations when a port is installed.
-In such cases, it is necessary to know what the final, adjusted packing
-list will look like.
-.It Fl v , -verbose
-Turn on verbose output.
-.It Fl h
-Force tar to follow symbolic links, so that the files they point to
-are dumped, rather than the links themselves.
-.It Fl i Ar iscript
-Set
-.Ar iscript
-to be the pre-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.
-It will be passed the package's name as the
-first argument.
-.Pp
-.Sy Note :
-if the
-.Fl I
-option is not given, this script will serve as both the pre-install and the
-post-install script for the package, differentiating between the
-functionality by passing the keywords
-.Ar PRE-INSTALL
-and
-.Ar POST-INSTALL
-respectively, after the package's name.
-.It Fl I Ar piscript
-Set
-.Ar piscript
-to be the post-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.
-It will be passed the package's name as
-the first argument.
-.It Fl C Ar conflicts
-Set the initial package conflict list to
-.Ar conflicts .
-This is assumed to be a whitespace separated list of package names
-and is meant as a convenient shorthand for specifying multiple
-.Cm @conflicts
-directives in the packing list (see PACKING LIST DETAILS section below).
-.It Fl P Ar pkgs
-Set the initial package dependency list to
-.Ar pkgs .
-This is assumed to be a whitespace separated list of package names
-and is meant as a convenient shorthand for specifying multiple
-.Cm @pkgdep
-directives in the packing list (see
-.Sx "PACKING LIST DETAILS"
-section below).
-Each argument from the
-.Ar pkgs
-list could be in the form
-.Ar pkgname Ns Op : Ns Ar pkgorigin ,
-where optional
-.Ar pkgorigin
-element denotes origin of each dependency from the list and it is
-recorded into the packing list along with the
-.Ar pkgname
-using
-.Cm @comment
-directive.
-.It Fl p , -prefix Ar prefix
-Set
-.Ar prefix
-as the initial directory
-.Dq base
-to start from in selecting files for
-the package.
-.It Fl k Ar dscript
-Set
-.Ar dscript
-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.
-It will be passed the package's
-name as the first argument.
-.Pp
-.Sy Note :
-if the
-.Fl K
-option is not given, this script will serve as both the de-install and the
-post-deinstall script for the package, differentiating between the
-functionality by passing the keywords
-.Ar DEINSTALL
-and
-.Ar POST-DEINSTALL
-respectively, along with the package's name.
-.It Fl K Ar pdscript
-Set
-.Ar pdscript
-to be the post-deinstall procedure for the package.
-This can be any
-executable program (or shell script).
-It will be invoked automatically when
-the package is later de-installed.
-It will be passed the package's name as
-the first argument.
-.It Fl r Ar rscript
-Set
-.Ar rscript
-to be the
-.Dq 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.
-To differentiate between installation and deinstallation, the keywords
-.Ar INSTALL
-and
-.Ar DEINSTALL
-are passed respectively, along with the package's name.
-.It Fl s Ar srcdir
-.Ar srcdir
-will override the value of
-.Cm @cwd
-during package creation.
-.It Fl S Ar basedir
-.Ar basedir
-will be prefixed to all
-.Cm @cwd
-during package creation.
-.It Fl t , -template Ar template
-Use
-.Ar template
-as the input to
-.Xr mktemp 3 .
-By default, this is the string
-.Pa /tmp/instmp.XXXXXX ,
-but it may be necessary to override it in the situation where
-space in your
-.Pa /tmp
-directory is limited.
-Be sure to leave some number of `X' characters
-for
-.Xr mktemp 3
-to fill in with a unique ID.
-.It Fl X Ar excludefile
-Pass
-.Ar excludefile
-as a
-.Fl exclude-from
-argument to
-.Cm tar
-when creating final package.
-See
-.Cm tar
-man page (or run
-.Cm tar
-with
-.Fl -help
-flag) for further information on using this flag.
-.It Fl D Ar displayfile
-Display the file (by concatenating it to stdout)
-after installing the package.
-Useful for things like
-legal notices on almost-free software, etc.
-.It Fl m Ar mtreefile
-Run
-.Xr mtree 8
-with input from mtreefile before the package is installed.
-Mtree is invoked as
-.Cm mtree
-.Fl u
-.Fl f
-.Ar mtreefile
-.Fl d
-.Fl e
-.Fl p
-.Pa prefix ,
-where
-.Pa prefix
-is the name of the first directory named by a
-.Cm @cwd
-directive.
-.It Fl o , -origin Ar originpath
-Record an
-.Ar originpath ,
-as location of the port from which package has been created in the
-.Fx
-.Em "Ports Collection" .
-It should be in the form
-.Pa MASTERCATEGORY/PORTDIR .
-.It Fl j
-Use
-.Xr bzip2 1
-utility to compress package tarball instead of
-.Xr gzip 1 .
-Please note that this option is a NO-OP if the format of the resulting
-archive is explicitly specified by the recognizable suffix of
-.Ar pkg-filename .
-Currently
-.Nm
-recognizes the following suffixes:
-.Pa .tbz , .tgz, .txz
-and
-.Pa .tar .
-.It Fl y
-Compatibility synonym for
-.Fl j .
-.It Fl z
-Use
-.Xr gzip 1
-utility to compress package tarball.
-.It Fl J
-Use
-.Xr xz 1
-utility to compress package tarball instead of
-.Xr gzip 1 .
-Please note that this option is a NO-OP if the format of the resulting
-archive is explicitly specified by the recognizable suffix of
-.Ar pkg-filename .
-Currently
-.Nm
-recognizes the following suffixes:
-.Pa .tbz , .tgz, .txz
-and
-.Pa .tar .
-.It Fl b , -backup Ar pkg-name
-Create package file from a locally installed package named
-.Ar pkg-name .
-If the
-.Ar pkg-filename
-is not specified, then resulting archive will be created in the
-current directory and named
-.Ar pkg-name
-with an appropriate extraction suffix applied.
-.It Fl R , -recursive
-When creating package file from a locally installed package
-also create package files for all packages required by
-.Ar pkg-name .
-Resulting archive(s) will be created in the current directory
-and named using name of the respective package with appropriate
-extraction suffix applied.
-.It Fl x , -regex
-Use basic regular expressions for
-.Ar pkg-name .
-.It Fl E , -extended
-Use extended (modern) regular expressions for
-.Ar pkg-name .
-.It Fl G , -no-glob
-Use exact matching for
-.Ar pkg-name .
-.It Fl n
-Run in
-.Dq no clobber
-mode.
-If a package tarball exists, the
-.Nm
-utility will not overwrite it.
-This is useful, for example, when multiple packages are saved with
-several consecutive runs of
-.Nm
-with the
-.Fl Rb
-options.
-Saving common dependencies multiple times would do a lot of duplicate
-work in this case.
-The
-.Fl n
-option avoids repackaging common dependencies multiple times.
-.El
-.Sh PACKING LIST DETAILS
-The
-.Dq packing list
-format (see
-.Fl f )
-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 embedding specialized command sequences
-in the packing list.
-Briefly described, these sequences are:
-.Bl -tag -width indent -compact
-.It Cm @cwd Op Ar directory
-Set the internal directory pointer to point to
-.Ar directory .
-All subsequent filenames will be assumed relative to this directory.
-If no
-.Ar directory
-argument is given, it will set the internal directory pointer to the
-first prefix value.
-Note:
-.Cm @cd
-is also an alias for this command.
-.It Cm @srcdir Ar directory
-Set the internal directory pointer for _creation only_ to
-.Ar directory .
-That is to say that it overrides
-.Cm @cwd
-for package creation but not extraction.
-.It Cm @exec Ar command
-Execute
-.Ar command
-as part of the unpacking process.
-If
-.Ar command
-contains any of the following sequences somewhere in it, they will
-be expanded inline.
-For the following examples, assume that
-.Cm @cwd
-is set to
-.Pa /usr/local
-and the last extracted file was
-.Pa bin/emacs .
-.Bl -tag -width indent -compact
-.It Cm "%F"
-Expands to the last filename extracted (as specified), in the example case
-.Pa bin/emacs
-.It Cm "\&%D"
-Expand to the current directory prefix, as set with
-.Cm @cwd ,
-in the example case
-.Pa /usr/local .
-.It Cm "\&%B"
-Expand to the
-.Dq 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
-.Pa /usr/local/bin .
-.It Cm "%f"
-Expand to the
-filename
-part of the fully qualified name, or
-the converse of
-.Cm \&%B ,
-being in the example case,
-.Pa emacs .
-.El
-.It Cm @unexec Ar command
-Execute
-.Ar command
-as part of the deinstallation process.
-Expansion of special
-.Cm %
-sequences is the same as for
-.Cm @exec .
-This command is not executed during the package add, as
-.Cm @exec
-is, but rather when the package is deleted.
-This is useful
-for deleting 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
-.Cm @unexec
-over a deinstallation script is that you can use the
-.Dq special sequence expansion
-to get at files regardless of where they have
-been potentially redirected (see
-.Fl p ) .
-.It Cm @mode Ar mode
-Set default permission for all subsequently extracted files to
-.Ar mode .
-Format is the same as that used by the
-.Cm chmod
-command (well, considering that it is later handed off to it, that is
-no surprise).
-Use without an arg to set back to default (extraction)
-permissions.
-.It Cm @option Ar option
-Set internal package options, the only two currently supported ones
-being
-.Ar extract-in-place ,
-which tells the pkg_add command not to extract the package's tarball
-into a staging area but rather directly into the target
-hierarchy (this is typically meant to be used only by distributions
-or other special package types), and
-.Ar preserve ,
-which tells pkg_add to move any existing files out of the way,
-preserving the previous contents (which are also resurrected on
-pkg_delete, so caveat emptor).
-.It Cm @owner Ar user
-Set default ownership for all subsequently extracted files to
-.Ar user .
-Use without an arg to set back to default (extraction)
-ownership.
-.It Cm @group Ar group
-Set default group ownership for all subsequently extracted files to
-.Ar group .
-Use without an arg to set back to default (extraction)
-group ownership.
-.It Cm @comment Ar string
-Imbed a comment in the packing list.
-Useful in
-trying to document some particularly hairy sequence that
-may trip someone up later.
-.It Cm @noinst Ar option Ar file
-Specify that the package would have installed
-.Pa file
-if
-.Pa option
-had been specified at build time.
-The action of
-.Cm @noinst
-is the same that
-.Cm @comment
-(which is doing nothing, it is just additional information).
-.It Cm @ignore
-Used internally to tell extraction to ignore the next file (do not
-copy it anywhere), as it is used for some special purpose.
-.It Cm @ignore_inst
-Similar to
-.Cm @ignore ,
-but the ignoring of the next file is delayed one evaluation cycle.
-This
-makes it possible to use this directive in the
-.Ar packinglist
-file, so you can pack a
-specialized datafile in with a distribution for your install script (or
-something) yet have the installer ignore it.
-.It Cm @name Ar name
-Set the name of the package.
-This is mandatory and is usually
-put at the top.
-This name is potentially different from the name of
-the file it came in, and is used when keeping track of the package
-for later deinstallation.
-Note that
-.Nm
-will derive this field from the package name and add it automatically
-if none is given.
-.It Cm @dirrm Ar name
-Declare directory
-.Pa name
-to be deleted at deinstall time.
-By default, directories created by a
-package installation are not deleted when the package is deinstalled;
-this provides an explicit directory cleanup method.
-This directive
-should appear at the end of the package list.
-If more than one
-.Cm @dirrm
-directives are used, the directories are removed in the order specified.
-The
-.Pa name
-directory will not be removed unless it is empty.
-.It Cm @mtree Ar name
-Declare
-.Pa name
-as an
-.Xr mtree 8
-input file to be used at install time (see
-.Fl m
-above).
-Only the first
-.Cm @mtree
-directive is honored.
-.It Cm @display Ar name
-Declare
-.Pa name
-as the file to be displayed at install time (see
-.Fl D
-above).
-.It Cm @pkgdep Ar pkgname
-Declare a dependency on the
-.Ar pkgname
-package.
-The
-.Ar pkgname
-package must be installed before this package may be
-installed, and this package must be deinstalled before the
-.Ar pkgname
-package is deinstalled.
-Multiple
-.Cm @pkgdep
-directives may be used if the package depends on multiple other packages.
-.It Cm @conflicts Ar pkgcflname
-Declare a conflict with the
-.Ar pkgcflname
-package, as the two packages contain references to the same files,
-and so cannot co-exist on the same system.
-.El
-.Sh ENVIRONMENT
-The environment variable
-.Ev PKG_TMPDIR
-names the directory where
-.Nm
-will attempt to create its temporary files.
-If
-.Ev PKG_TMPDIR
-is not set,
-the directory named by the contents of
-.Ev TMPDIR
-will be used.
-If neither of
-.Ev PKG_TMPDIR
-and
-.Ev TMPDIR
-are set, the builtin defaults are used.
-.Sh FILES
-.Bl -tag -width /usr/tmp -compact
-.It Pa /var/tmp
-Temporary directory if environmental variables
-.Ev PKG_TMPDIR
-and
-.Ev TMPDIR
-are not set.
-.It Pa /tmp
-The next choice if
-.Pa /var/tmp
-does not exist.
-.It Pa /usr/tmp
-The last choice if
-.Pa /tmp
-is unsuitable.
-.El
-.Sh SEE ALSO
-.Xr pkg_add 1 ,
-.Xr pkg_delete 1 ,
-.Xr pkg_info 1 ,
-.Xr pkg_version 1 ,
-.Xr sysconf 3
-.Sh HISTORY
-The
-.Nm
-command first appeared in
-.Fx .
-.Sh AUTHORS
-.An Jordan Hubbard
-.Sh CONTRIBUTORS
-.An John Kohl Aq jtk@rational.com ,
-.An Oliver Eikemeier Aq eik@FreeBSD.org
-.Sh BUGS
-Hard links between files in a distribution must be bracketed by
-.Cm @cwd
-directives in order to be preserved as hard links when the package is
-extracted.
-They additionally must not end up being split between
-.Cm tar
-invocations due to exec argument-space limitations (this depends on the
-value returned by
-.Fn sysconf _SC_ARG_MAX ) .
-.Pp
-Sure to be others.
OpenPOWER on IntegriCloud