summaryrefslogtreecommitdiff
path: root/pkgtools
diff options
context:
space:
mode:
authorjoerg <joerg>2010-01-22 13:33:30 +0000
committerjoerg <joerg>2010-01-22 13:33:30 +0000
commit0487364b223df666b2541eb828a2d892eb81b0df (patch)
treecdb5df4a7016093e3fa2b090319274bbbde9afc9 /pkgtools
parent3be860b3d024e57d52acce60f41f56b9054e478d (diff)
downloadpkgsrc-0487364b223df666b2541eb828a2d892eb81b0df.tar.gz
Regen.
Diffstat (limited to 'pkgtools')
-rw-r--r--pkgtools/pkg_install/files/add/pkg_add.cat266
-rw-r--r--pkgtools/pkg_install/files/admin/pkg_admin.cat216
-rw-r--r--pkgtools/pkg_install/files/create/pkg_create.cat284
-rw-r--r--pkgtools/pkg_install/files/delete/pkg_delete.cat165
-rw-r--r--pkgtools/pkg_install/files/info/pkg_info.cat187
-rw-r--r--pkgtools/pkg_install/files/lib/pkg_install.conf.cat.in169
-rw-r--r--pkgtools/pkg_install/files/lib/pkg_summary.cat113
-rw-r--r--pkgtools/pkg_install/files/lib/pkgsrc.cat19
8 files changed, 1419 insertions, 0 deletions
diff --git a/pkgtools/pkg_install/files/add/pkg_add.cat b/pkgtools/pkg_install/files/add/pkg_add.cat
new file mode 100644
index 00000000000..faa8f9a3b4b
--- /dev/null
+++ b/pkgtools/pkg_install/files/add/pkg_add.cat
@@ -0,0 +1,266 @@
+PKG_ADD(1) NetBSD General Commands Manual PKG_ADD(1)
+
+NNAAMMEE
+ ppkkgg__aadddd -- a utility for installing and upgrading software package dis-
+ tributions
+
+SSYYNNOOPPSSIISS
+ ppkkgg__aadddd [--AAffIILLnnRRuuVVvv] [--KK _p_k_g___d_b_d_i_r] [--mm _m_a_c_h_i_n_e] [--PP _d_e_s_t_d_i_r] [--pp _p_r_e_f_i_x]
+ [--WW _v_i_e_w_b_a_s_e] [--ww _v_i_e_w] _f_i_l_e _._._.
+ [[ftp|http]://[_u_s_e_r][:_p_a_s_s_w_o_r_d]@]_h_o_s_t[:_p_o_r_t][/_p_a_t_h_/]_p_k_g_-_n_a_m_e _._._.
+
+DDEESSCCRRIIPPTTIIOONN
+ The ppkkgg__aadddd command is used to extract and upgrade packages that have
+ been previously created with the pkg_create(1) command. Packages are
+ prepared collections of pre-built binaries, documentation, configura-
+ tions, installation instructions and/or other files. ppkkgg__aadddd can recur-
+ sively install other packages that the current package depends on or
+ requires from both local disk and via FTP or HTTP.
+
+WWAARRNNIINNGG
+ _S_i_n_c_e _t_h_e ppkkgg__aadddd _c_o_m_m_a_n_d _m_a_y _e_x_e_c_u_t_e _s_c_r_i_p_t_s _o_r _p_r_o_g_r_a_m_s _c_o_n_t_a_i_n_e_d
+ _w_i_t_h_i_n _a _p_a_c_k_a_g_e _f_i_l_e_, _y_o_u_r _s_y_s_t_e_m _m_a_y _b_e _s_u_s_c_e_p_t_i_b_l_e _t_o _`_`_T_r_o_j_a_n
+ _h_o_r_s_e_s_'_' _o_r _o_t_h_e_r _s_u_b_t_l_e _a_t_t_a_c_k_s _f_r_o_m _m_i_s_c_r_e_a_n_t_s _w_h_o _c_r_e_a_t_e _d_a_n_g_e_r_o_u_s
+ _p_a_c_k_a_g_e _f_i_l_e_s_.
+
+ _Y_o_u _a_r_e _a_d_v_i_s_e_d _t_o _v_e_r_i_f_y _t_h_e _c_o_m_p_e_t_e_n_c_e _a_n_d _i_d_e_n_t_i_t_y _o_f _t_h_o_s_e _w_h_o _p_r_o_-
+ _v_i_d_e _i_n_s_t_a_l_l_a_b_l_e _p_a_c_k_a_g_e _f_i_l_e_s_. _F_o_r _e_x_t_r_a _p_r_o_t_e_c_t_i_o_n_, _u_s_e _t_h_e _d_i_g_i_t_a_l
+ _s_i_g_n_a_t_u_r_e_s _p_r_o_v_i_d_e_d _w_h_e_r_e _p_o_s_s_i_b_l_e _(_s_e_e _t_h_e pkg_install.conf(_5)_)_, _o_r_,
+ _f_a_i_l_i_n_g _t_h_a_t_, _u_s_e tar(_1) _t_o _e_x_t_r_a_c_t _t_h_e _p_a_c_k_a_g_e _f_i_l_e_, _a_n_d _i_n_s_p_e_c_t _i_t_s
+ _c_o_n_t_e_n_t_s _a_n_d _s_c_r_i_p_t_s _t_o _e_n_s_u_r_e _i_t _p_o_s_e_s _n_o _d_a_n_g_e_r _t_o _y_o_u_r _s_y_s_t_e_m_'_s
+ _i_n_t_e_g_r_i_t_y_. _P_a_y _p_a_r_t_i_c_u_l_a_r _a_t_t_e_n_t_i_o_n _t_o _a_n_y _+_I_N_S_T_A_L_L _o_r _+_D_E_I_N_S_T_A_L_L _f_i_l_e_s_,
+ _a_n_d _i_n_s_p_e_c_t _t_h_e _+_C_O_N_T_E_N_T_S _f_i_l_e _f_o_r @@ccwwdd_, @@mmooddee _(_c_h_e_c_k _f_o_r _s_e_t_u_i_d_)_,
+ @@ddiirrrrmm_, @@eexxeecc_, _a_n_d @@uunneexxeecc _d_i_r_e_c_t_i_v_e_s_, _a_n_d_/_o_r _u_s_e _t_h_e pkg_info(_1) _c_o_m_m_a_n_d
+ _t_o _e_x_a_m_i_n_e _t_h_e _p_a_c_k_a_g_e _f_i_l_e_.
+
+OOPPTTIIOONNSS
+ The following command line arguments are supported:
+
+ _p_k_g_-_n_a_m_e [_._._.]
+ The named packages are installed. ppkkgg__aadddd will first try to use
+ _p_k_g_-_n_a_m_e as full URL or path name without any wildcard process-
+ ing. If that fails, ppkkgg__aadddd will try to match packages using
+ wildcard processing. If that fails as well and _p_k_g_-_n_a_m_e does not
+ contain any /, the entries of the PKG_PATH variable are searched
+ using the wildcard processing rules.
+
+ --AA Mark package as installed automatically, as dependency of another
+ package. You can use
+ ppkkgg__aaddmmiinn sseett aauuttoommaattiicc==YYEESS
+ to mark packages this way after installation, and
+ ppkkgg__aaddmmiinn uunnsseett aauuttoommaattiicc
+ to remove the mark. If you ppkkgg__aadddd a package without specifying
+ --AA after it had already been automatically installed, the mark is
+ removed.
+
+ --ff Force installation to proceed even if prerequisite packages are
+ not installed or the install script fails. Although ppkkgg__aadddd will
+ still try to find and auto-install missing prerequisite packages,
+ a failure to find one will not be fatal. This flag also over-
+ rides the fatal error when the operating system or architecture
+ the package was built on differ from that of the host.
+
+ --II If an installation script exists for a given package, do not exe-
+ cute it.
+
+ --KK _p_k_g___d_b_d_i_r
+ Override the value of the PKG_DBDIR configuration option with the
+ value _p_k_g___d_b_d_i_r.
+
+ --LL Don't add the package to any views after installation.
+
+ --mm Override the machine architecture returned by uname with _m_a_c_h_i_n_e.
+
+ --nn Don't actually install a package, just report the steps that
+ would be taken if it was.
+
+ --PP _d_e_s_t_d_i_r
+ Prefix all file and directory names with _d_e_s_t_d_i_r. For packages
+ without install scripts this has the same behavior as using
+ chroot(8).
+
+ --pp _p_r_e_f_i_x
+ Override the prefix stored in the package with _p_r_e_f_i_x.
+
+ --RR Do not record the installation of a package. This implies --II.
+ This means that you cannot deinstall it later, so only use this
+ option if you know what you are doing!
+
+ --uu If the package that's being installed is already installed, an
+ update is performed. It is currently not possible to update to
+ an identical version. If this is specified twice, then any
+ dependent packages that are too old will also be updated to ful-
+ fill the dependency. See below for a more detailed description
+ of the process.
+
+ --VV Print version number and exit.
+
+ --vv Turn on verbose output.
+
+ --WW _v_i_e_w_b_a_s_e
+ Passed down to pkg_view(1) for managed views.
+
+ --ww _v_i_e_w
+ Passed down to pkg_view(1) for managed views.
+
+ One or more _p_k_g_-_n_a_m_e arguments may be specified, each being either a file
+ containing the package (these usually ending with the ``.tgz'' suffix) or
+ a URL pointing at a file available on an ftp or web site. Thus you may
+ extract files directly from their anonymous ftp or WWW locations (e.g.,
+ ppkkgg__aadddd ftp://ftp.NetBSD.org/pub/pkgsrc/pack-
+ ages/NetBSD/i386/3.1_2007Q2/shells/bash-3.2.9.tgz or ppkkgg__aadddd
+ http://www.example.org/packages/screen-4.0.tbz). Note: For ftp trans-
+ fers, if you wish to use _p_a_s_s_i_v_e _m_o_d_e ftp in such transfers, set the
+ variable _F_T_P___P_A_S_S_I_V_E___M_O_D_E to some value in your environment. Otherwise,
+ the more standard ACTIVE mode may be used. If ppkkgg__aadddd consistently fails
+ to fetch a package from a site known to work, it may be because you have
+ a firewall that demands the usage of _p_a_s_s_i_v_e _m_o_d_e ftp.
+
+TTEECCHHNNIICCAALL DDEETTAAIILLSS
+ ppkkgg__aadddd extracts each package's meta data (including the ``packing
+ list'') to memory and then runs through the following sequence to fully
+ extract the contents of the package:
+
+ 1. A check is made to determine if the package or another version
+ of it is already recorded as installed. If it is, installa-
+ tion is terminated if the --uu option is not given.
+
+ If the --uu option is given, it's assumed the package should be
+ replaced by the new version instead. Before doing so, all
+ packages that depend on the pkg being upgraded are checked if
+ they also work with the new version. If that test is success-
+ ful, replacing is prepared by moving an existing _+_R_E_Q_U_I_R_E_D___B_Y
+ file aside (if it exists), and running pkg_delete(1) on the
+ installed package. Installation then proceeds as if the pack-
+ age was not installed, and restores the _+_R_E_Q_U_I_R_E_D___B_Y file
+ afterwards.
+
+ 2. The package build information is extracted from the
+ _+_B_U_I_L_D___I_N_F_O file and compared against the result of uname(3).
+ If the operating system or architecture of the package differ
+ from that of the host, installation is aborted. This behavior
+ is overridable with the --ff flag.
+
+ 3. The package build information from _+_B_U_I_L_D___I_N_F_O is then checked
+ for USE_ABI_DEPENDS=NO (or IGNORE_RECOMMENDED). If the pack-
+ age was built with ABI dependency recommendations ignored, a
+ warning will be issued.
+
+ 4. A check is made to determine if the package conflicts (from
+ @@ppkkggccffll directives, see pkg_create(1)) with an already
+ recorded as installed package or if an installed package con-
+ flicts with the package. If it is, installation is termi-
+ nated.
+
+ 5. The file list of the package is compared to the file lists of
+ the installed packages. If there is any overlap, the instal-
+ lation is terminated.
+
+ 6. All package dependencies (from @@ppkkggddeepp directives, see
+ pkg_create(1)) are read from the packing list. If any of
+ these required packages are not currently installed, an
+ attempt is made to find and install it; if the missing package
+ cannot be found or installed, the installation is terminated.
+ If the --uu option was specified twice, any required packages
+ that are installed, but which have a version number that is
+ considered to be too old, are also updated. The dependent
+ packages are found according to the normal PKG_PATH rules.
+
+ 7. If the package contains an _i_n_s_t_a_l_l script, it is executed with
+ the following arguments:
+
+ _p_k_g_-_n_a_m_e The name of the package being installed.
+
+ PPRREE--IINNSSTTAALLLL Keyword denoting that the script is to perform
+ any actions needed before the package is
+ installed.
+
+ If the _i_n_s_t_a_l_l script exits with a non-zero status code, the
+ installation is terminated.
+
+ 8. The files from the file list are extracted to the chosen pre-
+ fix.
+
+ 9. If an _i_n_s_t_a_l_l script exists for the package, it is executed
+ with the following arguments:
+
+ _p_k_g___n_a_m_e The name of the package being installed.
+
+ PPOOSSTT--IINNSSTTAALLLL Keyword denoting that the script is to perform
+ any actions needed after the package has been
+ installed.
+
+ 10. After installation is complete, a copy of the packing list,
+ _d_e_i_n_s_t_a_l_l script, description, and display files are copied
+ into _<_P_K_G___D_B_D_I_R_>_/_<_p_k_g_-_n_a_m_e_> for subsequent possible use by
+ pkg_delete(1). Any package dependencies are recorded in the
+ other packages' _+_R_E_Q_U_I_R_E_D___B_Y file.
+
+ 11. If the package is a depoted package, then add it to the regis-
+ tered by calling pkg_view(1) accordingly.
+
+ 12. Finally, if we were upgrading a package, any _+_R_E_Q_U_I_R_E_D___B_Y file
+ that was moved aside before upgrading was started is now moved
+ back into place.
+
+ The _i_n_s_t_a_l_l script is called with the environment variable PKG_PREFIX set
+ to the installation prefix (see the --pp option above). This allows a
+ package author to write a script that reliably performs some action on
+ the directory where the package is installed, even if the user might
+ change it with the --pp flag to ppkkgg__aadddd. The scripts are also called with
+ the PKG_METADATA_DIR environment variable set to the location of the _+_*
+ meta-data files, and with the PKG_REFCOUNT_DBDIR environment variable set
+ to the location of the package reference counts database directory. If
+ the --PP flag was given to ppkkgg__aadddd, PKG_DESTDIR will be set to _d_e_s_t_d_i_r.
+ Additionally, PKG_METADATA_DIR and PKG_REFCOUNT_DBDIR are prefixed with
+ _d_e_s_t_d_i_r.
+
+EENNVVIIRROONNMMEENNTT
+ See pkg_install.conf(5) for options, that can also be specified using the
+ environment. Packages using views are also affected by the environment
+ variables documented for pkg_view(1).
+
+EEXXAAMMPPLLEESS
+ In all cases, ppkkgg__aadddd will try to install binary packages listed in
+ dependencies list.
+
+ You can specify a compiled binary package explicitly on the command line.
+
+ # pkg_add /usr/pkgsrc/packages/All/tcsh-6.14.00.tgz
+
+ If you omit the version number, ppkkgg__aadddd will install the latest version
+ available. With --vv, ppkkgg__aadddd emits more messages to terminal.
+
+ # pkg_add -v /usr/pkgsrc/packages/All/unzip
+
+ You can grab a compiled binary package from remote location by specifying
+ a URL. The base URL can also be provided by the configuration variable,
+ PKG_PATH.
+
+ # pkg_add -v ftp://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/i386/3.1_2007Q2/All/firefox-2.0.0.4.tgz
+
+ # export PKG_PATH=ftp://ftp.NetBSD.org/pub/pkgsrc/packages/NetBSD/i386/3.1_2007Q2/All
+ # pkg_add -v firefox
+
+SSEEEE AALLSSOO
+ pkg_admin(1), pkg_create(1), pkg_delete(1), pkg_info(1),
+ pkg_install.conf(5), pkgsrc(7)
+
+AAUUTTHHOORRSS
+ Jordan Hubbard
+ Initial work and ongoing development.
+ John Kohl
+ NetBSD refinements.
+ Hubert Feyrer
+ NetBSD wildcard dependency processing, pkgdb, upgrading, etc.
+ Thomas Klausner
+ HTTP support.
+ Joerg Sonnenberger
+ Rewrote most of the code base to work without external commands.
+
+BBUUGGSS
+ Package upgrading needs a lot more work to be really universal.
+
+ Sure to be others.
+
+NetBSD 5.0 January 22, 2010 NetBSD 5.0
diff --git a/pkgtools/pkg_install/files/admin/pkg_admin.cat b/pkgtools/pkg_install/files/admin/pkg_admin.cat
new file mode 100644
index 00000000000..5684647f26d
--- /dev/null
+++ b/pkgtools/pkg_install/files/admin/pkg_admin.cat
@@ -0,0 +1,216 @@
+PKG_ADMIN(1) NetBSD General Commands Manual PKG_ADMIN(1)
+
+NNAAMMEE
+ ppkkgg__aaddmmiinn -- perform various administrative tasks to the pkg system
+
+SSYYNNOOPPSSIISS
+ ppkkgg__aaddmmiinn [--bbqqSSVVvv] [--CC _c_o_n_f_i_g] [--dd _l_s_d_i_r] [--KK _p_k_g___d_b_d_i_r] [--ss _s_f_x___p_a_t_t_e_r_n]
+ _c_o_m_m_a_n_d [args ...]
+
+DDEESSCCRRIIPPTTIIOONN
+ This command performs various administrative tasks around the NetBSD
+ Packages System.
+
+OOPPTTIIOONNSS
+ The following command-line options are supported:
+
+ --bb Print only the base names when matching package names for llssaallll
+ and llssbbeesstt.
+
+ --CC _c_o_n_f_i_g
+ Read the configuration file from _c_o_n_f_i_g instead of the system
+ default.
+
+ --dd _l_s_d_i_r
+ Set _l_s_d_i_r as the path to the directory in which to find matching
+ package names for llssaallll and llssbbeesstt.
+
+ --KK _p_k_g___d_b_d_i_r
+ Override the value of the PKG_DBDIR configuration option with the
+ value _p_k_g___d_b_d_i_r.
+
+ --qq Perform checks in a quiet manner. In normal operation, ppkkgg__aaddmmiinn
+ prints a `.' to standard output to indicate progress. This
+ option suppresses this progress indicator.
+
+ --SS Set the shell glob pattern for package suffixes when matching
+ package names for llssaallll and llssbbeesstt to be the null suffix.
+
+ --ss _s_f_x___p_a_t_t_e_r_n
+ Set the shell glob pattern for package suffixes when matching
+ package names for llssaallll and llssbbeesstt. The default pattern is
+ ".t[bg]z".
+
+ --VV Print version number and exit.
+
+ --vv Be more verbose.
+
+ The following commands are supported:
+
+ aadddd _p_k_g _._._.
+ For each listed package, write the absolute pathnames of the
+ files listed in its _+_C_O_N_T_E_N_T_S file together with the package they
+ belong to into the package database. This should be used only by
+ pkg_view(1).
+
+ aauuddiitt [--eess] [--tt _t_y_p_e] [_p_k_g] ...
+ Check the listed installed packages for vulnerabilities. If no
+ package is given, check all installed packages. If --ee is given,
+ also include end-of-life information. If --ss is given, check the
+ signature of the pkg-vulnerabilities file before using it. --tt
+ restricts the reported vulnerabilities to type _t_y_p_e.
+
+ aauuddiitt--ppkkgg [--eess] [--tt _t_y_p_e] [_p_k_g] ...
+ Like aauuddiitt, but check only the given package names or patterns.
+
+ aauuddiitt--bbaattcchh [--eess] [--tt _t_y_p_e] [_p_k_g_-_l_i_s_t] ...
+ Like aauuddiitt--ppkkgg, but read the package names or patterns one per
+ line from the given files.
+
+ aauuddiitt--hhiissttoorryy [--ss] [--tt _t_y_p_e] [_p_k_g_b_a_s_e] ...
+ Print all vulnerabilities for the given base package names.
+
+ cchheecckk [_p_k_g _._._.]
+ Use this command to check the files belonging to some or all of
+ the packages installed on the local machine against the checksum
+ which was recorded in the _+_C_O_N_T_E_N_T_S files at package installation
+ time. Symbolic links also have their integrity checked against
+ the recorded value at package installation time. If no addi-
+ tional argument is given, the files of all installed packages are
+ checked, else only the named packages will be checked (wildcards
+ can be used here, see pkg_info(1)).
+
+ The packages' _+_C_O_N_T_E_N_T_S files will be parsed and the checksum
+ will be checked for every file found. A warning message is
+ printed if the expected checksum differs from the checksum of the
+ file on disk. Symbolic links are also checked, ensuring that the
+ targets on disk are the same as the contents recorded at package
+ installation time.
+
+ cchheecckk--lliicceennssee _c_o_n_d_i_t_i_o_n
+ Check if _c_o_n_d_i_t_i_o_n can be fulfilled with the currently set of
+ accepted licenses. Prints either yes or no to stdout if the con-
+ dition can be parsed, otherwise it exits with error.
+
+ cchheecckk--ppkkgg--vvuullnneerraabbiilliittiieess [--ss] _f_i_l_e
+ Check format and hashes in the pkg-vulnerabilities file _f_i_l_e. If
+ --ss is given, also check the embedded signature.
+
+ cchheecckk--ssiiggnnaattuurree _f_i_l_e _._._.
+ Reports if _f_i_l_e is a correctly signed package.
+
+ cchheecckk--ssiinnggllee--lliicceennssee _l_i_c_e_n_s_e
+ Check if _l_i_c_e_n_s_e is a valid license name and if it is in the set
+ of acceptable licenses. Prints either yes or no to stdout if the
+ condition can be parsed, otherwise it exits with error.
+
+ ccoonnffiigg--vvaarr _v_a_r_i_a_b_l_e
+ Print the current value of _v_a_r_i_a_b_l_e as used after parsing the
+ configuration file.
+
+ ddeelleettee _p_k_g _._._.
+ For each listed package, remove all file entries in the package
+ database that belong to the package. This should be used only by
+ pkg_view(1).
+
+ dduummpp Dump the contents of the package database, similar to ppkkgg__iinnffoo
+ --FF. Columns are printed for the key field used in the pkgdb -
+ the filename -, and the data field - the package the file belongs
+ to.
+
+ ffeettcchh--ppkkgg--vvuullnneerraabbiilliittiieess [--ssuu]
+ Fetch a new pkg-vulnerabilities file, check the format and if --ss
+ is given the signature. If all checks are passed, write it to
+ pkgdb. If --uu is given, the fetch is conditional and the file
+ transfer is only done if the remote version is newer than the one
+ in pkgdb.
+
+ ffiinnddbbeesstt _p_a_t_t_e_r_n _._._.
+ Search the entries of PKG_PATH for packages matching _p_a_t_t_e_r_n.
+ Print the URL of the best matching package to stdout for each
+ pattern. If a pattern is not matched, it is skipped and the com-
+ mand will return a failure.
+
+ llssaallll _/_d_i_r_/_p_k_g_p_a_t_t_e_r_n
+
+ llssbbeesstt _/_d_i_r_/_p_k_g_p_a_t_t_e_r_n
+ List all/best package matching pattern in the given directory
+ _/_d_i_r. If the --dd flag is given, then that directory path over-
+ rides _/_d_i_r. Can be used to work around limitations of /bin/sh
+ and other filename globbing mechanisms. This option implements
+ matching of pkg-wildcards against arbitrary files and directo-
+ ries, useful mainly in the build system itself. See pkg_info(1)
+ for a description of the pattern.
+
+ Example:
+
+ yui# cd /usr/pkgsrc/packages/i386ELF/All/
+ yui# ls unzip*
+ unzip-5.40.tgz unzip-5.41.tgz
+ yui# pkg_admin lsall 'unzip*'
+ /usr/pkgsrc/packages/i386ELF/All/unzip-5.40.tgz
+ /usr/pkgsrc/packages/i386ELF/All/unzip-5.41.tgz
+ yui# pkg_admin lsall 'unzip>=5.40'
+ /usr/pkgsrc/packages/i386ELF/All/unzip-5.40.tgz
+ /usr/pkgsrc/packages/i386ELF/All/unzip-5.41.tgz
+ yui# pkg_admin lsall 'unzip>=5.41'
+ /usr/pkgsrc/packages/i386ELF/All/unzip-5.41.tgz
+ yui# pkg_admin lsbest 'unzip>=5.40'
+ /usr/pkgsrc/packages/i386ELF/All/unzip-5.41.tgz
+ yui# pkg_admin lsall /usr/pkgsrc/packages/i386ELF/All/'{mit,unproven}-pthread*'
+ /usr/pkgsrc/packages/i386ELF/All/mit-pthreads-1.60b6.tgz
+ /usr/pkgsrc/packages/i386ELF/All/unproven-pthreads-0.15.tgz
+
+ ppmmaattcchh _p_a_t_t_e_r_n _p_k_g
+ Returns true if _p_k_g matches _p_a_t_t_e_r_n, otherwise returns false.
+
+ rreebbuuiilldd
+ Rebuild the package database mapping from scratch. This option
+ is only intended for recovery after system crashes during package
+ installation and removal.
+
+ rreebbuuiilldd--ttrreeee
+ Rebuild the +REQUIRED_BY files from scratch by reresolving all
+ dependencies.
+
+ This option is intended to be used for fixing inconsistencies
+ between the records of depending and depended-on packages, such
+ as can arise by the use of ppkkgg__ddeelleettee --ff.
+
+ sseett _v_a_r_i_a_b_l_e_=_v_a_l_u_e _p_k_g _._._.
+ Set variable with information about the installed package. Use
+ uunnsseett to remove a variable.
+
+ Packages that are not installed directly by the user but pulled
+ in as dependencies are marked by setting ``automatic=YES''.
+
+ ggppgg--ssiiggnn--ppaacckkaaggee ppkkgg ssppkkgg
+ Sign the binary package _p_k_g using GPG and write the result to
+ _s_p_k_g.
+
+ xx550099--ssiiggnn--ppaacckkaaggee ppkkgg ssppkkgg kkeeyy cceerrtt
+ Sign the binary package _p_k_g using the key _k_e_y and the certificate
+ _c_e_r_t, using _s_p_k_g as output file.
+
+ uunnsseett _v_a_r_i_a_b_l_e _p_k_g _._._.
+ Remove an installation variable.
+
+EENNVVIIRROONNMMEENNTT
+ See pkg_install.conf(5) for options, that can also be specified using the
+ environment.
+
+FFIILLEESS
+ /var/db/pkg/pkgdb.byfile.db
+ /var/db/pkg/<pkg>/+CONTENTS
+
+SSEEEE AALLSSOO
+ pkg_add(1), pkg_create(1), pkg_delete(1), pkg_info(1), pkg_view(1),
+ pkg_install.conf(5), pkgsrc(7)
+
+HHIISSTTOORRYY
+ The ppkkgg__aaddmmiinn command first appeared in NetBSD 1.4.
+
+AAUUTTHHOORRSS
+ The ppkkgg__aaddmmiinn command was written by Hubert Feyrer.
+
+NetBSD 5.0 January 22, 2010 NetBSD 5.0
diff --git a/pkgtools/pkg_install/files/create/pkg_create.cat b/pkgtools/pkg_install/files/create/pkg_create.cat
new file mode 100644
index 00000000000..7f60dd1dd5e
--- /dev/null
+++ b/pkgtools/pkg_install/files/create/pkg_create.cat
@@ -0,0 +1,284 @@
+PKG_CREATE(1) NetBSD General Commands Manual PKG_CREATE(1)
+
+NNAAMMEE
+ ppkkgg__ccrreeaattee -- a utility for creating software package distributions
+
+SSYYNNOOPPSSIISS
+ ppkkgg__ccrreeaattee [--EEllOOUUVVvv] [--BB _b_u_i_l_d_-_i_n_f_o_-_f_i_l_e] [--bb _b_u_i_l_d_-_v_e_r_s_i_o_n_-_f_i_l_e]
+ [--CC _c_p_k_g_s] [--DD _d_i_s_p_l_a_y_f_i_l_e] [--FF _c_o_m_p_r_e_s_s_i_o_n] [--gg _g_r_o_u_p]
+ [--II _r_e_a_l_p_r_e_f_i_x] [--ii _i_s_c_r_i_p_t] [--KK _p_k_g___d_b_d_i_r] [--kk _d_s_c_r_i_p_t]
+ [--nn _p_r_e_s_e_r_v_e_-_f_i_l_e] [--PP _d_p_k_g_s] [--TT _b_u_i_l_d_p_k_g_s] [--pp _p_r_e_f_i_x]
+ [--SS _s_i_z_e_-_a_l_l_-_f_i_l_e] [--ss _s_i_z_e_-_p_k_g_-_f_i_l_e] [--tt _t_e_m_p_l_a_t_e] [--uu _o_w_n_e_r]
+ --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
+ 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 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
+ binary 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
+ below).
+
+ --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.
+
+ --EE Add an empty views file to the package.
+
+ --FF _c_o_m_p_r_e_s_s_i_o_n
+ Use _c_o_m_p_r_e_s_s_i_o_n as compression algorithm. This overrides the
+ heuristic to guess the compression type from the output name.
+ Currently supported values are bzip2, gzip and none.
+
+ --ff _p_a_c_k_l_i_s_t
+ Fetch (packing list) for package from the file _p_a_c_k_l_i_s_t or ssttddiinn
+ if _p_a_c_k_l_i_s_t is a -- (dash).
+
+ --gg _g_r_o_u_p
+ Make _g_r_o_u_p the default group ownership instead of extracting it
+ from the file system.
+
+ --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
+ invoked automatically when the package is later installed.
+
+ --KK _p_k_g___d_b_d_i_r
+ Override the value of the PKG_DBDIR configuration option with the
+ value _p_k_g___d_b_d_i_r.
+
+ --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
+ invoked automatically when the package is later (if ever) de-
+ installed.
+
+ --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.
+
+ --nn _p_r_e_s_e_r_v_e_-_f_i_l_e
+ The file is used to denote that the package should not be
+ deleted. This is intended for use where the deletion of packages
+ may present a bootstrap problem.
+
+ --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
+ assumed 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.
+
+ --TT _b_u_i_l_d_p_k_g_s
+ The exact versions of the packages referred to in the _b_u_i_l_d_p_k_g_s
+ list will be added to the packing list in the form of @@bbllddddeepp
+ directives. This directives are stored after those created by
+ the --PP option. _b_u_i_l_d_p_k_g_s is assumed to be a whitespace separated
+ list of package names.
+
+ --pp _p_r_e_f_i_x
+ Set _p_r_e_f_i_x as the initial directory (base) to start from in
+ selecting files for the package.
+
+ --SS _s_i_z_e_-_a_l_l_-_f_i_l_e
+ Store the given file for later querying with the pkg_info(1) --SS
+ 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) --ss
+ flag. The file is expected to contain the size (in bytes) of all
+ files of this package added up and stored as a ASCII string, ter-
+ minated 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.
+
+ --uu _o_w_n_e_r
+ Make _o_w_n_e_r the default owner instead of extracting it from the
+ file system.
+
+ --VV Print version number and exit.
+
+ --vv Turn on verbose output.
+
+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
+ embedding specialized command sequences in the packing list. Briefly
+ described, 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
+ This command is supported for compatibility only. It was for-
+ merly used to override @@ccwwdd during package creation.
+ @@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 filename,
+ that is the current directory prefix, plus the last file-
+ spec, 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 currently supported one
+ being _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
+ resurrected 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
+ Embed 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.
+ @@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
+ derive this field from the _p_k_g_-_n_a_m_e and add it automatically if
+ none is given.
+ @@ppkkggddiirr _n_a_m_e
+ Declare directory _n_a_m_e as managed. If it does not exist at
+ installation time, it is created. If this directory is no longer
+ referenced by packages and the last file or directory in it is
+ deleted, the directory is removed as well.
+ @@ddiirrrrmm _n_a_m_e
+ This command is supported for compatibility only. If directory
+ _n_a_m_e exists, it will be deleted at deinstall time.
+ @@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
+ relational 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.
+
+EENNVVIIRROONNMMEENNTT
+ See pkg_install.conf(5) for options, that can also be specified using the
+ environment.
+
+SSEEEE AALLSSOO
+ pkg_add(1), pkg_admin(1), pkg_delete(1), pkg_info(1), pkg_install.conf(5)
+ pkgsrc(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.
+
+NetBSD 5.0 January 20, 2010 NetBSD 5.0
diff --git a/pkgtools/pkg_install/files/delete/pkg_delete.cat b/pkgtools/pkg_install/files/delete/pkg_delete.cat
new file mode 100644
index 00000000000..3cded7fdca4
--- /dev/null
+++ b/pkgtools/pkg_install/files/delete/pkg_delete.cat
@@ -0,0 +1,165 @@
+PKG_DELETE(1) NetBSD General Commands Manual PKG_DELETE(1)
+
+NNAAMMEE
+ ppkkgg__ddeelleettee -- a utility for deleting previously installed software pack-
+ age distributions
+
+SSYYNNOOPPSSIISS
+ ppkkgg__ddeelleettee [--AADDFFffkkNNnnOORRrrVVvv] [--KK _p_k_g___d_b_d_i_r] [--PP _d_e_s_t_d_i_r] [--pp _p_r_e_f_i_x]
+ _p_k_g_-_n_a_m_e _._._.
+
+DDEESSCCRRIIPPTTIIOONN
+ The ppkkgg__ddeelleettee command is used to delete packages that have been previ-
+ ously installed with the pkg_add(1) command. The given packages are
+ sorted, so that the dependencies of a package are deleted after the pack-
+ age. Before any action is executed, ppkkgg__ddeelleettee checks for packages that
+ are marked as pprreesseerrvveedd or have depending packages left. If the --kk flag
+ is given, preserved packages are removed from the list of packages to
+ remove. Unless the --ff flag is given, ppkkgg__ddeelleettee stops on the first
+ error.
+
+WWAARRNNIINNGG
+ _S_i_n_c_e _t_h_e ppkkgg__ddeelleettee _c_o_m_m_a_n_d _m_a_y _e_x_e_c_u_t_e _s_c_r_i_p_t_s _o_r _p_r_o_g_r_a_m_s _p_r_o_v_i_d_e_d _b_y
+ _a _p_a_c_k_a_g_e _f_i_l_e_, _y_o_u_r _s_y_s_t_e_m _m_a_y _b_e _s_u_s_c_e_p_t_i_b_l_e _t_o _`_`_T_r_o_j_a_n _h_o_r_s_e_s_'_' _o_r
+ _o_t_h_e_r _s_u_b_t_l_e _a_t_t_a_c_k_s _f_r_o_m _m_i_s_c_r_e_a_n_t_s _w_h_o _c_r_e_a_t_e _d_a_n_g_e_r_o_u_s _p_a_c_k_a_g_e _f_i_l_e_s_.
+
+ _Y_o_u _a_r_e _a_d_v_i_s_e_d _t_o _v_e_r_i_f_y _t_h_e _c_o_m_p_e_t_e_n_c_e _a_n_d _i_d_e_n_t_i_t_y _o_f _t_h_o_s_e _w_h_o _p_r_o_-
+ _v_i_d_e _i_n_s_t_a_l_l_a_b_l_e _p_a_c_k_a_g_e _f_i_l_e_s_. _F_o_r _e_x_t_r_a _p_r_o_t_e_c_t_i_o_n_, _e_x_a_m_i_n_e _a_l_l _t_h_e
+ _p_a_c_k_a_g_e _c_o_n_t_r_o_l _f_i_l_e_s _i_n _t_h_e _p_a_c_k_a_g_e _r_e_c_o_r_d _d_i_r_e_c_t_o_r_y
+ _<_P_K_G___D_B_D_I_R_>_/_<_p_k_g_-_n_a_m_e_>_/_)_. _P_a_y _p_a_r_t_i_c_u_l_a_r _a_t_t_e_n_t_i_o_n _t_o _a_n_y _+_I_N_S_T_A_L_L _o_r
+ _+_D_E_I_N_S_T_A_L_L _f_i_l_e_s_, _a_n_d _i_n_s_p_e_c_t _t_h_e _+_C_O_N_T_E_N_T_S _f_i_l_e _f_o_r @@ccwwdd_, @@mmooddee _(_c_h_e_c_k
+ _f_o_r _s_e_t_u_i_d_)_, @@ddiirrrrmm_, @@eexxeecc_, _a_n_d @@uunneexxeecc _d_i_r_e_c_t_i_v_e_s_, _a_n_d_/_o_r _u_s_e _t_h_e
+ pkg_info(_1) _c_o_m_m_a_n_d _t_o _e_x_a_m_i_n_e _t_h_e _i_n_s_t_a_l_l_e_d _p_a_c_k_a_g_e _c_o_n_t_r_o_l _f_i_l_e_s_.
+
+OOPPTTIIOONNSS
+ The following command line options are supported:
+
+ _p_k_g_-_n_a_m_e _._._.
+ The named packages are deinstalled, wildcards can be used, see
+ pkg_info(1). If no version is given, the one currently installed
+ will be removed. If the --FF flag is given, one or more (absolute)
+ filenames may be specified and the Package Database will be con-
+ sulted for the package to which the given file belongs. These
+ packages are then deinstalled.
+
+ --AA Recursively remove all automatically installed packages that were
+ needed by the given packages and are no longer required. See
+ also the --RR flag.
+
+ --DD If a deinstallation script exists for a given package, do not
+ execute it.
+
+ --FF Any pkg-name given will be interpreted as pathname which is sub-
+ sequently transformed in a (real) package name via the Package
+ Database. That way, packages can be deleted by giving a filename
+ instead of the package-name.
+
+ --ff Force removal of the package, even if a dependency is recorded or
+ the deinstall script fails.
+
+ --ffff Force removal of the package, even if the package is marked as a
+ pprreesseerrvveedd package. Note that this is a dangerous operation. See
+ also the --kk option.
+
+ --KK _p_k_g___d_b_d_i_r
+ Override the value of the PKG_DBDIR configuration option with the
+ value _p_k_g___d_b_d_i_r.
+
+ --kk Silently skip all packages that are marked as pprreesseerrvveedd.
+
+ --NN Remove the package's registration and its entries from the pack-
+ age database, but leave the files installed. Don't run any dein-
+ stall scripts or @unexec lines either.
+
+ --nn Don't actually deinstall a package, just report the steps that
+ would be taken if it were.
+
+ --OO Only delete the package's entries from the package database, do
+ not touch the package or its files itself.
+
+ --pp _d_e_s_t_d_i_r
+ Prefix all file and directory names with _d_e_s_t_d_i_r. For packages
+ without install scripts this has the same behavior as using
+ chroot.
+
+ --pp _p_r_e_f_i_x
+ Set _p_r_e_f_i_x as the directory in which to delete files from any
+ installed packages which do not explicitly set theirs. For most
+ packages, the prefix will be set automatically to the installed
+ location by pkg_add(1).
+
+ --RR Recursively remove all packages that were needed by the given
+ packages and that have no other dependencies left. This option
+ overrides the --AA flag.
+
+ --rr Recursively remove all packages that require one of the packages
+ given.
+
+ --VV Print version number and exit.
+
+ --vv Turn on verbose output.
+
+TTEECCHHNNIICCAALL DDEETTAAIILLSS
+ ppkkgg__ddeelleettee does pretty much what it says. It examines installed package
+ records in _<_P_K_G___D_B_D_I_R_>_/_<_p_k_g_-_n_a_m_e_>, deletes the package contents, and
+ finally removes the package records.
+
+ If a package is required by other installed packages, ppkkgg__ddeelleettee will
+ list those dependent packages and refuse to delete the package (unless
+ the --ff option is given).
+
+ If a package has been marked as a pprreesseerrvveedd package, it will not be able
+ to be deleted (unless more than one occurrence of the --ff option is
+ given).
+
+ If a filename is given instead of a package name, the package of which
+ the given file belongs to can be deleted if the --FF Flag is given. The
+ filename needs to be absolute, see the output produced by the pkg_info
+ --aaFF command.
+
+ If a ddeeiinnssttaallll script exists for the package, it is executed before and
+ after any files are removed. It is this script's responsibility to clean
+ up any additional messy details around the package's installation, since
+ all ppkkgg__ddeelleettee knows how to do is delete the files created in the origi-
+ nal distribution. The ddeeiinnssttaallll script is called as:
+ ddeeiinnssttaallll <_p_k_g_-_n_a_m_e> _V_I_E_W_-_D_E_I_N_S_T_A_L_L
+ before removing the package from a view, and as:
+ ddeeiinnssttaallll <_p_k_g_-_n_a_m_e> _D_E_I_N_S_T_A_L_L
+ before deleting all files and as:
+ ddeeiinnssttaallll <_p_k_g_-_n_a_m_e> _P_O_S_T_-_D_E_I_N_S_T_A_L_L
+ after deleting them. Passing the keywords _V_I_E_W_-_D_E_I_N_S_T_A_L_L, _D_E_I_N_S_T_A_L_L and
+ _P_O_S_T_-_D_E_I_N_S_T_A_L_L lets you potentially write only one program/script that
+ handles all aspects of installation and deletion.
+
+ All scripts are called with the environment variable PKG_PREFIX set to
+ the installation prefix (see the --pp option above). This allows a package
+ author to write a script that reliably performs some action on the direc-
+ tory where the package is installed, even if the user might have changed
+ it by specifying the --pp option when running ppkkgg__ddeelleettee or pkg_add(1).
+ The scripts are also called with the PKG_METADATA_DIR environment vari-
+ able set to the location of the _+_* meta-data files, and with the
+ PKG_REFCOUNT_DBDIR environment variable set to the location of the pack-
+ age reference counts database directory. If the --PP flag was given to
+ ppkkgg__ddeelleettee, PKG_DESTDIR will be set to _d_e_s_t_d_i_r.
+
+EENNVVIIRROONNMMEENNTT
+ See pkg_install.conf(5) for options, that can also be specified using the
+ environment.
+
+SSEEEE AALLSSOO
+ pkg_add(1), pkg_admin(1), pkg_create(1), pkg_info(1), pkg_install.conf(5)
+ pkgsrc(7)
+
+AAUUTTHHOORRSS
+ Jordan Hubbard
+ most of the work
+ John Kohl
+ refined it for NetBSD
+ Hubert Feyrer
+ NetBSD wildcard dependency processing, pkgdb, recursive "down"
+ delete, etc.
+ Joerg Sonnenberger
+ Rewrote most of the code to compute correct order of deinstalla-
+ tion and to improve error handling.
+
+NetBSD 5.0 January 20, 2010 NetBSD 5.0
diff --git a/pkgtools/pkg_install/files/info/pkg_info.cat b/pkgtools/pkg_install/files/info/pkg_info.cat
new file mode 100644
index 00000000000..ce94095d145
--- /dev/null
+++ b/pkgtools/pkg_install/files/info/pkg_info.cat
@@ -0,0 +1,187 @@
+PKG_INFO(1) NetBSD General Commands Manual PKG_INFO(1)
+
+NNAAMMEE
+ ppkkgg__iinnffoo -- a utility for displaying information on software packages
+
+SSYYNNOOPPSSIISS
+ ppkkgg__iinnffoo [--BBbbccDDddFFffhhIIiikkLLmmNNnnppqqrrRRSSssVVvvXX] [--ee _p_a_c_k_a_g_e] [--EE _p_a_c_k_a_g_e]
+ [--KK _p_k_g___d_b_d_i_r] [--ll _p_r_e_f_i_x] _p_k_g_-_n_a_m_e _._._.
+ ppkkgg__iinnffoo [--aa | --uu] [flags]
+ ppkkgg__iinnffoo [--QQ _v_a_r_i_a_b_l_e] _p_k_g_-_n_a_m_e _._._.
+
+DDEESSCCRRIIPPTTIIOONN
+ The ppkkgg__iinnffoo command is used to dump out information for packages, which
+ may be either packed up in files or already installed on the system with
+ the pkg_create(1) command.
+
+ The _p_k_g_-_n_a_m_e may be the name of an installed package (with our without
+ version), a pattern matching several installed packages (see the _P_A_C_K_A_G_E
+ _W_I_L_D_C_A_R_D_S section for a description of possible patterns), the pathname
+ to a binary package, a filename belonging to an installed package (if --FF
+ is also given), or a URL to an ftp-available package.
+
+ The following command-line options are supported:
+
+ --aa Show information for all currently installed packages. See also
+ --uu.
+
+ --BB Show some of the important definitions used when building the
+ binary package (the ``Build information'') for each package.
+ Additionally, any installation information variables (lowercase)
+ can be queried, too. In particular, _a_u_t_o_m_a_t_i_c tells if a package
+ was installed automatically as a dependency of another package.
+
+ --bb Show the NetBSD RCS Id strings from the files used in the con-
+ struction of the binary package (the "Build version") for each
+ package. These files are the package Makefile, any patch files,
+ any checksum files, and the packing list file.
+
+ --cc Show the one-line comment field for each package.
+
+ --DD Show the install-message file (if any) for each package.
+
+ --dd Show the long-description field for each package.
+
+ --EE _p_k_g_-_n_a_m_e
+ This option allows you to test for the existence of a given pack-
+ age. If a package identified by _p_k_g_-_n_a_m_e is currently installed,
+ return code is 0, otherwise 1. The name of the best matching
+ package found installed is printed to stdout unless turned off
+ using the --qq option. _p_k_g_-_n_a_m_e can contain wildcards (see the
+ _P_A_C_K_A_G_E _W_I_L_D_C_A_R_D_S section below).
+
+ --ee _p_k_g_-_n_a_m_e
+ This option allows you to test for the existence of a given pack-
+ age. If a package identified by _p_k_g_-_n_a_m_e is currently installed,
+ return code is 0, otherwise 1. The names of any package(s) found
+ installed are printed to stdout unless turned off using the --qq
+ option. _p_k_g_-_n_a_m_e can contain wildcards (see the _P_A_C_K_A_G_E
+ _W_I_L_D_C_A_R_D_S section below).
+
+ --FF Interpret any pkg-name given as filename, and translate it to a
+ package name using the Package Database. This can be used to
+ query information on a per-file basis, e.g. in conjunction with
+ the --ee flag to find out which package a file belongs to.
+
+ --ff Show the packing list instructions for each package.
+
+ --II Show the index entry for each package.
+
+ --ii Show the install script (if any) for each package.
+
+ --KK _p_k_g___d_b_d_i_r
+ Override the value of the PKG_DBDIR configuration option with the
+ value _p_k_g___d_b_d_i_r.
+
+ --kk Show the de-install script (if any) for each package.
+
+ --LL Show the files within each package. This is different from just
+ viewing the packing list, since full pathnames for everything are
+ generated. Files that were created dynamically during installa-
+ tion of the package are not listed.
+
+ --ll _s_t_r Prefix each information category header (see --qq) shown with _s_t_r.
+ This is primarily of use to front-end programs that want to
+ request a lot of different information fields at once for a pack-
+ age, but don't necessary want the output intermingled in such a
+ way that they can't organize it. This lets you add a special
+ token to the start of each field.
+
+ --mm Show the mtree file (if any) for each package.
+
+ --NN Show which packages each package was built with (exact dependen-
+ cies), if any.
+
+ --nn Show which packages each package needs (depends upon), if any.
+
+ --pp Show the installation prefix for each package.
+
+ --QQ Show the definition of _v_a_r_i_a_b_l_e from the build information for
+ each package. An empty string is returned if no such variable
+ definition is found for the package(s).
+
+ --qq Be ``quiet'' in emitting report headers and such, just dump the
+ raw info (basically, assume a non-human reading).
+
+ --RR For each package, show the packages that require it.
+
+ --rr For each package, show the packages that require it. Continue
+ recursively to show all dependents.
+
+ --SS Show the size of this package and all the packages it requires,
+ in bytes.
+
+ --ss Show the size of this package in bytes. The size is calculated
+ by adding up the size of each file of the package.
+
+ --uu Show information for all user-installed packages. Automatically
+ installed packages (as dependencies of other packages) are not
+ displayed. See also --aa.
+
+ --VV Print version number and exit.
+
+ --vv Turn on verbose output.
+
+ --XX Print summary information for each package. The summary format
+ is described in pkg_summary(5). Its primary use is to contain
+ all information about the contents of a (remote) binary package
+ repository needed by package managing software.
+
+TTEECCHHNNIICCAALL DDEETTAAIILLSS
+ Package info is either extracted from package files named on the command
+ line, or from already installed package information in
+ _<_P_K_G___D_B_D_I_R_>_/_<_p_k_g_-_n_a_m_e_>.
+
+ A filename can be given instead of a (installed) package name to query
+ information on the package this file belongs to. This filename is then
+ resolved to a package name using the Package Database. For this transla-
+ tion to take place, the --FF flag must be given. The filename must be
+ absolute, compare the output of pkg_info --aaFF.
+
+PPAACCKKAAGGEE WWIILLDDCCAARRDDSS
+ In the places where a package name/version is expected, e.g. for the --ee
+ switch, several forms can be used. Either use a package name with or
+ without version, or specify a package wildcard that gets matched against
+ all installed packages.
+
+ Package wildcards use fnmatch(3). In addition, csh(1) style {,} alter-
+ nates have been implemented. Package version numbers can also be matched
+ in a relational manner using the _>_=, _<_=, _>, and _< operators. For exam-
+ ple, _p_k_g___i_n_f_o _-_e _'_n_a_m_e_>_=_1_._3_' will match versions 1.3 and later of the
+ _n_a_m_e package. Additionally, ranges can be defined by giving a lower
+ bound with > or >= and an upper bound with < or <=. The lower bound has
+ to come first. For example, _p_k_g___i_n_f_o _-_e _'_n_a_m_e_>_=_1_._3_<_2_._0_' will match ver-
+ sions 1.3 (inclusive) to 2.0 (exclusive) of package _n_a_m_e.
+
+ The collating sequence of the various package version numbers is unusual,
+ but strives to be consistent. The magic string ``alpha'' equates to
+ _a_l_p_h_a _v_e_r_s_i_o_n and sorts before a beta version. The magic string ``beta''
+ equates to _b_e_t_a _v_e_r_s_i_o_n and sorts before a release candidate. The magic
+ string ``rc'' equates to _r_e_l_e_a_s_e _c_a_n_d_i_d_a_t_e and sorts before a release.
+ The magic string ``pre'', short for ``pre-release'', is a synonym for
+ ``rc''. For example, _n_a_m_e_-_1_._3_r_c_3 will sort before _n_a_m_e_-_1_._3 and after
+ _n_a_m_e_-_1_._2_._9. Similarly _n_a_m_e_-_1_._3_a_l_p_h_a_2 will sort before _n_a_m_e_-_1_._3_b_e_t_a_1 and
+ they both sort before _n_a_m_e_-_1_._3_r_c_1. In addition, alphabetic characters
+ sort in the same place as their numeric counterparts, so that _n_a_m_e_-_1_._2_e
+ has the same sorting value as _n_a_m_e_-_1_._2_._5 The magic string ``pl'' equates
+ to a _p_a_t_c_h _l_e_v_e_l and has the same value as a dot in the dewey-decimal
+ ordering schemes.
+
+EENNVVIIRROONNMMEENNTT
+ See pkg_install.conf(5) for options, that can also be specified using the
+ environment.
+
+SSEEEE AALLSSOO
+ pkg_add(1), pkg_admin(1), pkg_create(1), pkg_delete(1),
+ pkg_install.conf(5) pkgsrc(7)
+
+AAUUTTHHOORRSS
+ Jordan Hubbard
+ most of the work
+ John Kohl
+ refined it for NetBSD
+ Hubert Feyrer
+ NetBSD wildcard dependency processing, pkgdb, depends displaying,
+ pkg size display etc.
+
+NetBSD 5.0 January 22, 2010 NetBSD 5.0
diff --git a/pkgtools/pkg_install/files/lib/pkg_install.conf.cat.in b/pkgtools/pkg_install/files/lib/pkg_install.conf.cat.in
new file mode 100644
index 00000000000..514430570f0
--- /dev/null
+++ b/pkgtools/pkg_install/files/lib/pkg_install.conf.cat.in
@@ -0,0 +1,169 @@
+PKG_INSTALL.CONF(5) NetBSD File Formats Manual PKG_INSTALL.CONF(5)
+
+NNAAMMEE
+ ppkkgg__iinnssttaallll..ccoonnff -- configuration file for package installation tools
+
+DDEESSCCRRIIPPTTIIOONN
+ The file ppkkgg__iinnssttaallll..ccoonnff contains system defaults for the package
+ installation tools as a list of variable-value pairs. Each line has the
+ format VARIABLE=VALUE. If the value consists of more than one line, each
+ line is prefixed with VARIABLE=.
+
+ The current value of a variable can be checked by running
+ ppkkgg__aaddmmiinn ccoonnffiigg--vvaarr VVAARRIIAABBLLEE
+
+ Some variables are overriden by environmental variables of the same name.
+ Those are marked by (*).
+
+ The following variables are supported:
+
+ ACCEPTABLE_LICENSES
+ List of licenses packages are allowed to carry. License names
+ are case-sensitive.
+
+ ACTIVE_FTP
+ Force the use of active FTP.
+
+ CACHE_INDEX
+ Cache directory listenings in memory. This avoids retransfers of
+ the large directory index for HTTP and is enabled by default.
+
+ CERTIFICATE_ANCHOR_PKGS
+ Path to the file containing the certificates used for validating
+ binary packages. A package is trusted when a certificate chain
+ ends in one of the certificates contained in this file. The cer-
+ tificates must be PEM-encoded.
+
+ CERTIFICATE_ANCHOR_PKGVULN
+ Analogous to CERTIFICATE_ANCHOR_PKGS. The _p_k_g_-_v_u_l_n_e_r_a_b_i_l_i_t_i_e_s is
+ trusted when a certificate chain ends in one of the certificates
+ contained in this file.
+
+ CERTIFICATE_CHAIN
+ Path to a file containing additional certificates that can be
+ used for completing certificate chains when validating binary
+ packages or pkg-vulnerabilities files.
+
+ CHECK_LICENSE
+ Check the license conditions of packages before installing them.
+ Supported values are:
+
+ no The check is not performed.
+
+ yes The check is performed if the package has license
+ conditions set.
+
+ always Passing the license check is required. Missing
+ license conditions are considered an error.
+
+ CHECK_VULNERABILITIES
+ Check for vulnerabilities when installing packages. Supported
+ values are:
+
+ never No check is performed.
+
+ always Passing the vulnerability check is required. A
+ missing pkg-vulnerabilities file is considered an
+ error.
+
+ interactive The user is always asked to confirm installation
+ of vulnerable packages.
+
+ CONFIG_CACHE_CONNECTIONS
+ Limit the global connection cache to this value. For FTP this is
+ the number of sessions without active command. For HTTP this is
+ the number of connections open with keep-alive.
+
+ CONFIG_CACHE_CONNECTIONS_HOST
+ Like CONFIG_CACHE_CONNECTIONS, but limit the number of connec-
+ tions to the host as well. See fetch(3) for further details
+
+ DEFAULT_ACCEPTABLE_LICENSES
+ List of common Free and Open Source licenses packages are allowed
+ to carry. The default value contains all OSI approved licenses
+ in pkgsrc on the date pkg_install was released. License names
+ are case-sensitive.
+
+ GPG Path to gpg(1), which can be used to verify the signature in the
+ _p_k_g_-_v_u_l_n_e_r_a_b_i_l_i_t_i_e_s file when running
+ ppkkgg__aaddmmiinn cchheecckk--ppkkgg--vvuullnneerraabbiilliittiieess --ss
+ or
+ ppkkgg__aaddmmiinn ffeettcchh--ppkkgg--vvuullnneerraabbiilliittiieess --ss
+ It can also be used to verify and sign binary packages.
+
+ GPG_KEYRING_PKGVULN
+ Non-default keyring to use for verifying GPG signatures of
+ _p_k_g_-_v_u_l_n_e_r_a_b_i_l_i_t_i_e_s.
+
+ GPG_KEYRING_SIGN
+ Non-default keyring to use for signing packages with GPG.
+
+ GPG_KEYRING_VERIFY
+ Non-default keyring to use for verifying GPG signature of pack-
+ ages.
+
+ GPG_SIGN_AS
+ User-id to use for signing packages.
+
+ IGNORE_PROXY
+ Use direct connections and ignore FTP_PROXY and HTTP_PROXY.
+
+ IGNORE_URL
+ One line per advisory which should be ignored when running
+ ppkkgg__aaddmmiinn aauuddiitt
+ The URL from the _p_k_g_-_v_u_l_n_e_r_a_b_i_l_i_t_i_e_s file should be used as
+ value.
+
+ PKG_DBDIR (*)
+ Location of the packages database. This option is always overri-
+ den by the argument of the --KK option.
+
+ PKG_PATH (*)
+ Search path for packages. The entries are separated by semi-
+ colon. Each entry specifies a directory or URL to search for
+ packages.
+
+ PKG_REFCOUNT_DBDIR (*)
+ Location of the package reference counts database directory. The
+ default value is _$_{_P_K_G___D_B_D_I_R_}_._r_e_f_c_o_u_n_t.
+
+ PKGVULNDIR
+ Directory name in which the _p_k_g_-_v_u_l_n_e_r_a_b_i_l_i_t_i_e_s file resides.
+ Default is _$_{_P_K_G___D_B_D_I_R_}.
+
+ PKGVULNURL
+ URL which is used for updating the local _p_k_g_-_v_u_l_n_e_r_a_b_i_l_i_t_i_e_s file
+ when running
+ ppkkgg__aaddmmiinn ffeettcchh--ppkkgg--vvuullnneerraabbiilliittiieess
+ The default location is ftp.NetBSD.org using HTTP. _N_o_t_e: Usu-
+ ally, only the compression type should be changed. Currently
+ supported are uncompressed files and files compressed by bzip2(1)
+ (_._b_z_2) or gzip(1) (_._g_z).
+
+ VERBOSE_NETIO
+ Log details of network IO to stderr.
+
+ VERIFIED_INSTALLATION
+ Set trust level used when installation. Supported values are:
+
+ never No signature checks are performed.
+
+ always A valid signature is required. If the binary
+ package can not be verified, the installation is
+ terminated
+
+ trusted A valid signature is required. If the binary
+ package can not be verified, the user is asked
+ interactively.
+
+ interactive The user is always asked interactively when
+ installing a package.
+
+FFIILLEESS
+ @SYSCONFDIR@/pkg_install.conf Default location for the file described in
+ this manual page.
+
+SSEEEE AALLSSOO
+ pkg_add(1), pkg_admin(1) pkg_create(1), pkg_delete(1), pkg_info(1)
+
+NetBSD 5.0 January 22, 2010 NetBSD 5.0
diff --git a/pkgtools/pkg_install/files/lib/pkg_summary.cat b/pkgtools/pkg_install/files/lib/pkg_summary.cat
new file mode 100644
index 00000000000..ff89376e8e3
--- /dev/null
+++ b/pkgtools/pkg_install/files/lib/pkg_summary.cat
@@ -0,0 +1,113 @@
+PKG_SUMMARY(5) NetBSD File Formats Manual PKG_SUMMARY(5)
+
+NNAAMMEE
+ ppkkgg__ssuummmmaarryy -- summary of binary package repository
+
+DDEESSCCRRIIPPTTIIOONN
+ The file ppkkgg__ssuummmmaarryy contains information about each package in a binary
+ package repository as a list of variable-value pairs. The variables
+ describing different packages are separated by one empty line. Each line
+ has the format VARIABLE=VALUE. If the value consists of more than one
+ line, each line is prefixed with VARIABLE=. Multi-line variables are
+ guaranteed to be in consecutive lines.
+
+ The following variables are used:
+
+ BUILD_DATE
+ (required) The date and time when the package was built.
+
+ CATEGORIES
+ (required) A list of categories which this package fits in, sepa-
+ rated by space.
+
+ COMMENT
+ (required) A one-line description of the package.
+
+ CONFLICTS
+ (optional) A list of dewey patterns of packages the package con-
+ flicts with, one per line. If missing, this package has no con-
+ flicts.
+
+ DEPENDS
+ (optional) A list of dewey patterns of packages the package
+ depends on, one per line. If missing, this package has no depen-
+ dencies.
+
+ DESCRIPTION
+ (required) A more detailed description of the package.
+
+ FILE_NAME
+ (optional) The name of the binary package file. If not given,
+ _P_K_G_N_A_M_E_._t_g_z can be assumed.
+
+ FILE_SIZE
+ (optional) The size of the binary package file, in bytes.
+
+ HOMEPAGE
+ (optional) A URL where more information about the package can be
+ found.
+
+ LICENSE
+ (optional) The type of license this package is distributed under.
+ If empty or missing, it is OSI-approved.
+
+ MACHINE_ARCH
+ (required) The architecture on which the package was compiled.
+
+ OPSYS (required) The operating system on which the package was com-
+ piled.
+
+ OS_VERSION
+ (required) The version of the operating system on which the pack-
+ age was compiled.
+
+ PKG_OPTIONS
+ (optional) Any options selected to compile this package. If
+ missing, the package does not support options.
+
+ PKGNAME
+ (required) The name of the package.
+
+ PKGPATH
+ (required) The path of the package directory within pkgsrc.
+
+ PKGTOOLS_VERSION
+ (required) The version of the package tools used to create the
+ package.
+
+ PREV_PKGPATH
+ (optional) The previous path of the package directory within
+ pkgsrc when a package was moved. (See SUPERSEDES below for a
+ renamed package.)
+
+ PROVIDES
+ (optional) A list of shared libraries provided by the package,
+ including major version number, one per line. If missing, this
+ package does not provide shared libraries.
+
+ REQUIRES
+ (optional) A list of shared libraries needed by the package,
+ including major version number, one per line. If missing, this
+ package does not require shared libraries.
+
+ SIZE_PKG
+ (required) The size of the package when installed, in bytes.
+
+ SUPERSEDES
+ (optional) A list of dewey patterns of previous packages this
+ package replaces, one per line. This is used for package renam-
+ ing.
+
+ The ppkkgg__ssuummmmaarryy file can be generated using the pkg_info(1) --XX option.
+ For example, the following will list this data for all installed pack-
+ ages:
+
+ pkg_info -X -a
+
+SSEEEE AALLSSOO
+ pkg_info(1)
+
+HHIISSTTOORRYY
+ The ppkkgg__ssuummmmaarryy format was first officially documented in April 2006.
+
+NetBSD 5.0 April 11, 2009 NetBSD 5.0
diff --git a/pkgtools/pkg_install/files/lib/pkgsrc.cat b/pkgtools/pkg_install/files/lib/pkgsrc.cat
new file mode 100644
index 00000000000..efccdf46ca9
--- /dev/null
+++ b/pkgtools/pkg_install/files/lib/pkgsrc.cat
@@ -0,0 +1,19 @@
+PKGSRC(7) NetBSD Miscellaneous Information Manual PKGSRC(7)
+
+NNAAMMEE
+ ppkkggssrrcc -- NetBSD packages collection (framework for third-party software)
+
+DDEESSCCRRIIPPTTIIOONN
+ The NetBSD Packages Collection (pkgsrc) is a framework for building and
+ maintaining third-party software on NetBSD and other UNIX-like systems.
+ It is used to enable freely available software to be configured and built
+ easily on supported platforms.
+
+ Tools are available to install ready-to-use packages and to perform vari-
+ ous administrative tasks for the package system.
+
+SSEEEE AALLSSOO
+ pkg_add(1), pkg_delete(1), pkg_info(1),
+ _h_t_t_p_:_/_/_w_w_w_._n_e_t_b_s_d_._o_r_g_/_d_o_c_s_/_p_k_g_s_r_c_/
+
+NetBSD 5.0 March 2, 2007 NetBSD 5.0