.\" $NetBSD: pkg_info.1,v 1.19 1999/11/29 19:48:46 hubertf Exp $ .\" .\" FreeBSD install - a package for the installation and maintainance .\" of non-core utilities. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" .\" Jordan K. Hubbard .\" .\" .\" @(#)pkg_info.1 .\" .Dd March 4, 1999 .Dt PKG_INFO 1 .Os .Sh NAME .Nm pkg_info .Nd a utility for displaying information on software packages .Sh SYNOPSIS .Nm "" .Op Fl BbcDdFfhIikLmpqRrSsv .Bk -words .Op Fl e Ar package .Ek .Bk -words .Op Fl l Ar prefix .Ek .Ar pkg-name ... .Nm "" .Bk -words .Op Fl a Ar flags .Ek .Sh DESCRIPTION The .Nm 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 .Xr pkg_create 1 command. .Pp The .Ar pkg-name may be the name of an installed package (with our without version), a pattern matching several installed packages (see the .Fl e switch for a description of possible patterns), the pathname to a package distribution file, a filename belonging to an installed package (if .Fl F is also given), or a URL to an ftp-available package. .Pp The following command-line options are supported: .Bl -tag -width indent .It Fl a Show information for all currently installed packages. .It Fl B Show some of the important definitions used when building the binary package (the "Build information") for each package. .It Fl b Show the NetBSD RCS Id strings from the files used in the construction 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. .It Fl c Show the one-line comment field for each package. .It Fl D Show the install-message file (if any) for each package. .It Fl d Show the long-description field for each package. .It Fl e Ar pkg-name This option allows you to test for the presence of another (perhaps prerequisite) package from a script. If the package identified by .Ar pkg-name is currently installed, return 0, otherwise return 1. In addition, the names of any package(s) found installed are printed to stdout unless turned off using the .Fl q option. If the given .Ar pkg-name contains a shell metacharacter, it will be matched against all installed packages using .Xr fnmatch 3 . .Xr csh 1 style {,} alternates have also been implemented in addition to this. Package version numbers can also be matched in a relational manner using the .Pa >=, <=, > and .Pa < operators. For example, .Pa pkg_info -e 'name>=1.3' will match versions 1.3 and later of the .Pa name package. .It Fl F 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 .Fl e flag to find out which package a file belongs to. .It Fl f Show the packing list instructions for each package. .It Fl I Show the index entry for each package. .It Fl i Show the install script (if any) for each package. .It Fl k Show the de-install script (if any) for each package. .It Fl L Show the files within each package. This is different from just viewing the packing list, since full pathnames for everything are generated. .It Fl l Ar str Prefix each information category header (see .Fl q ) shown with .Ar str . This is primarily of use to front-end programs that want to request a lot of different information fields at once for a package, 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. .It Fl m Show the mtree file (if any) for each package. .It Fl p Show the installation prefix for each package. .It Fl q Be ``quiet'' in emitting report headers and such, just dump the raw info (basically, assume a non-human reading). .It Fl R Show which packages are required by each package. .It Fl r Show the requirements script (if any) for each package. .It Fl S Show the size of this package and all the packages it requires, in bytes. .It Fl s Show the size of this package in bytes. The size is calculated by adding up the size of each file of the package. .It Fl v Turn on verbose output. .El .Sh ENVIRONMENT .Bl -tag -width PKG_DBDIR .It Ev PKG_DBDIR The standard package database directory, .Pa /var/db/pkg , can be overridden by specifying an alternative directory in the .Ev PKG_DBDIR environment variable. .It Ev PKG_PATH This can be used to specify a colon-separated list of paths to search for package files. The current directory is always searched first, even if .Ev PKG_PATH is set. If .Ev PKG_PATH is used, the suffix .Pa .tgz is automatically appended to the .Ar pkg-name , whereas searching in the current directory uses .Ar pkg-name literally. .It Ev PKG_TMPDIR , Ev TMPDIR These are tried in turn (if set) as candidate directories in which to create a ``staging area'' for any files extracted by .Nm from package files. If neither .Ev PKG_TMPDIR nor .Ev TMPDIR yields a suitable scratch directory, .Pa /var/tmp , .Pa /tmp , and .Pa /usr/tmp are tried in turn. Note that .Pa /usr/tmp may be created, if it doesn't already exist. .Pp Since .Nm requires very little information to be extracted from any package files examined, it is unlikely that these environment variables would ever need to be used to work around limited available space in the default locations. .El .Sh TECHNICAL DETAILS Package info is either extracted from package files named on the command line, or from already installed package information in .Pa /var/db/pkg/ . .Pp 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 translation to take place, the .Fl F flag must be given. The filename must be absolute, compare the output of pkg_info .Fl aF . .Sh SEE ALSO .Xr pkg_add 1 , .Xr pkg_admin 1 , .Xr pkg_create 1 , .Xr pkg_delete 1 , .Xr mktemp 3 , .Xr mtree 8 . .Sh AUTHORS .Bl -tag -width indent -compact .It "Jordan Hubbard" most of the work .It "John Kohl" refined it for .Nx .It "Hubert Feyrer" .Nx wildcard dependency processing, pkgdb, depends displaying, pkg size display etc. .El