summaryrefslogtreecommitdiff
path: root/pkgtools/pkg_install/files/create/pkg_create.cat1
diff options
context:
space:
mode:
Diffstat (limited to 'pkgtools/pkg_install/files/create/pkg_create.cat1')
-rw-r--r--pkgtools/pkg_install/files/create/pkg_create.cat1298
1 files changed, 298 insertions, 0 deletions
diff --git a/pkgtools/pkg_install/files/create/pkg_create.cat1 b/pkgtools/pkg_install/files/create/pkg_create.cat1
new file mode 100644
index 00000000000..7ba95b827a2
--- /dev/null
+++ b/pkgtools/pkg_install/files/create/pkg_create.cat1
@@ -0,0 +1,298 @@
+PKG_CREATE(1) NetBSD Reference Manual PKG_CREATE(1)
+
+NNAAMMEE
+ ppkkgg__ccrreeaattee - a utility for creating software package distributions
+
+SSYYNNOOPPSSIISS
+ ppkkgg__ccrreeaattee [--hhllOORRUUVVvv] [--BB _b_u_i_l_d_-_i_n_f_o_-_f_i_l_e] [--CC _c_p_k_g_s] [--DD _d_i_s_p_l_a_y_f_i_l_e]
+ [--PP _d_p_k_g_s] [--XX _e_x_c_l_u_d_e_f_i_l_e] [--bb _b_u_i_l_d_-_v_e_r_s_i_o_n_-_f_i_l_e] [--ff _c_o_n_t_e_n_t_s]
+ [--ii _i_s_c_r_i_p_t] [--II _r_e_a_l_p_r_e_f_i_x] [--kk _d_s_c_r_i_p_t] [--LL _S_r_c_D_i_r] [--mm _m_t_r_e_e_f_i_l_e]
+ [--pp _p_r_e_f_i_x] [--rr _r_s_c_r_i_p_t] [--ss _s_i_z_e_-_p_k_g_-_f_i_l_e] [--SS _s_i_z_e_-_a_l_l_-_f_i_l_e]
+ [--tt _t_e_m_p_l_a_t_e] --cc _c_o_m_m_e_n_t --dd _d_e_s_c_r_i_p_t_i_o_n --ff _p_a_c_k_l_i_s_t _p_k_g_-_n_a_m_e
+
+DDEESSCCRRIIPPTTIIOONN
+ The ppkkgg__ccrreeaattee command is used to create packages that will subsequently
+ be fed to one of the package extraction/info utilities. The input de-
+ scription 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 descrip-
+ tion of the input syntax is included in this document.
+
+OOPPTTIIOONNSS
+ The following command line options are supported:
+
+ --BB _b_u_i_l_d_-_i_n_f_o_-_f_i_l_e
+ Install the file _b_u_i_l_d_-_i_n_f_o_-_f_i_l_e so that users of binary packages
+ can see what make(1) definitions were used to control the build
+ when creating the binary package. This allows various build def-
+ initions to be retained in a binary package and viewed wherever
+ it is installed, using pkg_info(1).
+
+ --bb _b_u_i_l_d_-_v_e_r_s_i_o_n_-_f_i_l_e
+ Install the file _b_u_i_l_d_-_v_e_r_s_i_o_n_-_f_i_l_e so that users of binary pack-
+ ages can see what versions of the files used to control the build
+ were used when creating the binary package. This allows some
+ fine-grained version control information to be retained in a bi-
+ nary package and viewed wherever it is installed, using
+ pkg_info(1).
+
+ --CC _c_p_k_g_s
+ Set the initial package conflict list to _c_p_k_g_s. This is assumed
+ to be a whitespace separated list of package names and is meant
+ as a convenient shorthand for specifying multiple @@ppkkggccffll direc-
+ tives in the packing list (see PACKING LIST DETAILS section be-
+ low).
+
+ --cc _[_-_]_d_e_s_c
+ Fetch package ``one line description'' from file _d_e_s_c or, if pre-
+ ceded by --, the argument itself. This string should also give
+ some idea of which version of the product (if any) the package
+ represents.
+
+ --DD _d_i_s_p_l_a_y_f_i_l_e
+ Display the file after installing the package. Useful for things
+ like legal notices on almost-free software, etc.
+
+ --dd _[_-_]_d_e_s_c
+ Fetch long description for package from file _d_e_s_c or, if preceded
+ by --, the argument itself.
+
+ --ff _p_a_c_k_i_n_g_l_i_s_t
+ Fetch ``packing list'' for package from the file _p_a_c_k_i_n_g_l_i_s_t or
+ ssttddiinn if _p_a_c_k_i_n_g_l_i_s_t is a -- (dash).
+
+ --hh Force tar to follow symbolic links, so that the files they point
+ to are dumped, rather than the links themselves.
+
+ --II _r_e_a_l_p_r_e_f_i_x
+ Provide the real prefix, as opposed to the staging prefix, for
+ use in staged installations of packages.
+
+ --ii _i_s_c_r_i_p_t
+ Set _i_s_c_r_i_p_t to be the install procedure for the package. This
+ can be any executable program (or shell script). It will be in-
+ voked automatically when the package is later installed.
+
+ --kk _d_s_c_r_i_p_t
+ Set _d_s_c_r_i_p_t to be the de-install procedure for the package. This
+ can be any executable program (or shell script). It will be in-
+ voked automatically when the package is later (if ever) de-in-
+ stalled.
+
+ --LL _S_r_c_D_i_r
+ This sets the package's @src directive; see below for a descrip-
+ tion of what this does.
+
+ --ll Check that any symbolic links which are to be placed in the pack-
+ age are relative to the current prefix. This means using
+ unlink(2) and symlink(2) to remove and re-link any symbolic links
+ which are targeted at full path names.
+
+ --mm _m_t_r_e_e_f_i_l_e
+ Run mtree(8) with input from mtreefile before the package is in-
+ stalled. Mtree is invoked as mmttrreeee --uu --ff _m_t_r_e_e_f_i_l_e --dd --ee --pp
+ _p_r_e_f_i_x, where _p_r_e_f_i_x is the name of the first directory named by
+ a @@ccwwdd directive.
+
+ --OO Go into a `packing list Only' mode. This is used to do `fake
+ pkg_add' operations when a package is installed. In such cases,
+ it is necessary to know what the final, adjusted packing list
+ will look like.
+
+ --PP _d_p_k_g_s
+ Set the initial package dependency list to _d_p_k_g_s. This is as-
+ sumed to be a whitespace separated list of package names and is
+ meant as a convenient shorthand for specifying multiple @@ppkkggddeepp
+ directives in the packing list (see PACKING LIST DETAILS section
+ below). In addition, the exact versions of the packages referred
+ to in the _d_p_k_g_s list will be added to the packing list in the
+ form of @@bbllddddeepp directives.
+
+ --pp _p_r_e_f_i_x
+ Set _p_r_e_f_i_x as the initial directory ``base'' to start from in se-
+ lecting files for the package.
+
+ --RR Re-order any directories in the pkg/PLIST file into reverse al-
+ phabetic order, so that child directories will automatically be
+ removed before parent directories.
+
+ --rr _r_s_c_r_i_p_t
+ Set _r_s_c_r_i_p_t 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 de-
+ termine whether or not installation/deinstallation should pro-
+ ceed.
+
+ --SS _s_i_z_e_-_a_l_l_-_f_i_l_e
+ Store the given file for later querying with the pkg_info(1) _-_S
+ flag. The file is expected to contain the size (in bytes) of all
+ files of this package plus any required packages added up and
+ stored as a ASCII string, terminated by a newline.
+
+ --ss _s_i_z_e_-_p_k_g_-_f_i_l_e
+ Store the given file for later querying with the pkg_info(1) _-_s
+ flag. The file is expected to contain the the size (in bytes) of
+ all files of this package added up and stored as a ASCII string,
+ terminated by a newline.
+
+ --tt _t_e_m_p_l_a_t_e
+ Use _t_e_m_p_l_a_t_e as the input to mktemp(3). By default, this is the
+ string _/_t_m_p_/_i_n_s_t_m_p_._X_X_X_X_X_X, but it may be necessary to override it
+ in the situation where space in your _/_t_m_p directory is limited.
+ Be sure to leave some number of `X' characters for mktemp(3) to
+ fill in with a unique ID.
+
+ --UU Do not update the package file database with any file informa-
+ tion.
+
+ --VV Print version number and exit.
+
+ --vv Turn on verbose output.
+
+ --XX _e_x_c_l_u_d_e_f_i_l_e
+ Pass _e_x_c_l_u_d_e_f_i_l_e as a ----eexxcclluuddee--ffrroomm argument to ttaarr when creat-
+ ing final package. See ttaarr man page (or run ttaarr with ----hheellpp
+ flag) for further information on using this flag.
+
+PPAACCKKIINNGG LLIISSTT DDEETTAAIILLSS
+ The ``packing list'' format (see --ff) 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 spec-
+ ifying where things are supposed to go and, optionally, what ownership
+ and mode information they should be installed with. This is done by em-
+ bedding specialized command sequences in the packing list. Briefly de-
+ scribed, these sequences are:
+ @@ccwwdd _d_i_r_e_c_t_o_r_y
+ Set the internal directory pointer to point to _d_i_r_e_c_t_o_r_y. All
+ subsequent filenames will be assumed relative to this directory.
+ Note: @@ccdd is also an alias for this command.
+ @@ssrrcc _d_i_r_e_c_t_o_r_y
+ Set the internal directory pointer for _creation only_ to
+ _d_i_r_e_c_t_o_r_y. That is to say that it overrides @@ccwwdd for package
+ creation but not extraction.
+ @@eexxeecc _c_o_m_m_a_n_d
+ Execute _c_o_m_m_a_n_d as part of the unpacking process. If _c_o_m_m_a_n_d
+ contains any of the following sequences somewhere in it, they
+ will be expanded inline. For the following examples, assume that
+ @@ccwwdd is set to _/_u_s_r_/_l_o_c_a_l and the last extracted file was
+ _b_i_n_/_e_m_a_c_s.
+ %%FF Expands to the last filename extracted (as specified), in
+ the example case _b_i_n_/_e_m_a_c_s
+ %%DD Expand to the current directory prefix, as set with @@ccwwdd,
+ in the example case _/_u_s_r_/_l_o_c_a_l.
+ %%BB Expand to the ``basename'' of the fully qualified file-
+ name, that is the current directory prefix, plus the last
+ filespec, minus the trailing filename. In the example
+ case, that would be _/_u_s_r_/_l_o_c_a_l_/_b_i_n.
+ %%ff Expand to the ``filename'' part of the fully qualified
+ name, or the converse of %%BB, being in the example case,
+ _e_m_a_c_s.
+ @@uunneexxeecc _c_o_m_m_a_n_d
+ Execute _c_o_m_m_a_n_d as part of the deinstallation process. Expansion
+ of special %% sequences is the same as for @@eexxeecc. This command is
+ not executed during the package add, as @@eexxeecc 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 con-
+ tents (and hence not automatically removable). The advantage of
+ using @@uunneexxeecc 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 --pp).
+ @@mmooddee _m_o_d_e
+ Set default permission for all subsequently extracted files to
+ _m_o_d_e. Format is the same as that used by the cchhmmoodd command
+ (well, considering that it's later handed off to it, that's no
+ surprise). Use without an arg to set back to default (extrac-
+ tion) permissions.
+ @@ooppttiioonn _o_p_t_i_o_n
+ Set internal package options, the only two currently supported
+ ones being _e_x_t_r_a_c_t_-_i_n_-_p_l_a_c_e, 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
+ _p_r_e_s_e_r_v_e, which tells pkg_add to move any existing files out of
+ the way, preserving the previous contents (which are also resur-
+ rected on pkg_delete, so caveat emptor).
+ @@oowwnneerr _u_s_e_r
+ Set default ownership for all subsequently extracted files to
+ _u_s_e_r. Use without an arg to set back to default (extraction)
+ ownership.
+ @@ggrroouupp _g_r_o_u_p
+ Set default group ownership for all subsequently extracted files
+ to _g_r_o_u_p. Use without an arg to set back to default (extraction)
+ group ownership.
+ @@ccoommmmeenntt _s_t_r_i_n_g
+ Imbed a comment in the packing list. Useful in trying to docu-
+ ment some particularly hairy sequence that may trip someone up
+ later.
+ @@iiggnnoorree
+ Used internally to tell extraction to ignore the next file (don't
+ copy it anywhere), as it's used for some special purpose.
+ @@iiggnnoorree__iinnsstt
+ Similar to @@iiggnnoorree, but the ignoring of the next file is delayed
+ one evaluation cycle. This makes it possible to use this direc-
+ tive in the _p_a_c_k_i_n_g_l_i_s_t file, so you can pack a specialized
+ datafile in with a distribution for your install script (or some-
+ thing) yet have the installer ignore it.
+ @@nnaammee _n_a_m_e
+ Set 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 ppkkgg__ccrreeaattee will de-
+ rive this field from the package name and add it automatically if
+ none is given.
+ @@ddiirrrrmm _n_a_m_e
+ Declare directory _n_a_m_e to be deleted at deinstall time. By de-
+ fault, directories created by a package installation are not
+ deleted when the package is deinstalled; this provides an explic-
+ it directory cleanup method. This directive should appear at the
+ end of the package list. If more than one @@ddiirrrrmm directives are
+ used, the directories are removed in the order specified. The
+ _n_a_m_e directory will not be removed unless it is empty.
+ @@mmttrreeee _n_a_m_e
+ Declare _n_a_m_e as an mtree(8) input file to be used at install time
+ (see --mm above). Only the first @@mmttrreeee directive is honored.
+ @@ddiissppllaayy _n_a_m_e
+ Declare _n_a_m_e as the file to be displayed at install time (see --DD
+ above).
+ @@ppkkggddeepp _p_k_g_n_a_m_e
+ Declare a dependency on the _p_k_g_n_a_m_e package. The _p_k_g_n_a_m_e package
+ must be installed before this package may be installed, and this
+ package must be deinstalled before the _p_k_g_n_a_m_e package is dein-
+ stalled. Multiple @@ppkkggddeepp directives may be used if the package
+ depends on multiple other packages.
+ @@bbllddddeepp _p_k_g_n_a_m_e
+ Declare that this package was built with the exact version of
+ _p_k_g_n_a_m_e (since the @@ppkkggddeepp directive may contain wildcards or re-
+ lational package version information).
+ @@ppkkggccffll _p_k_g_c_f_l_n_a_m_e
+ Declare a conflict with the _p_k_g_c_f_l_n_a_m_e package, as the two pack-
+ ages contain references to the same files, and so cannot co-exist
+ on the same system.
+
+SSEEEE AALLSSOO
+ pkg_add(1), pkg_admin(1), pkg_delete(1), pkg_info(1), sysconf(3),
+ packages(7)
+
+HHIISSTTOORRYY
+ The ppkkgg__ccrreeaattee command first appeared in FreeBSD.
+
+AAUUTTHHOORRSS
+ Jordan Hubbard
+ most of the work
+ John Kohl
+ refined it for NetBSD
+ Hubert Feyrer
+ NetBSD wildcard dependency processing, pkgdb, pkg size recording
+ etc.
+
+BBUUGGSS
+ Hard links between files in a distribution must be bracketed by @@ccwwdd di-
+ rectives in order to be preserved as hard links when the package is ex-
+ tracted. They additionally must not end up being split between ttaarr invo-
+ cations due to exec argument-space limitations (this depends on the value
+ returned by ssyyssccoonnff(___S_C___A_R_G___M_A_X)).
+
+NetBSD 1.6 April 21, 1995 5