diff options
Diffstat (limited to 'pkgtools/pkg_install/files/create/pkg_create.cat1')
-rw-r--r-- | pkgtools/pkg_install/files/create/pkg_create.cat1 | 298 |
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 |